[macOS 12.3.1]英特尔intel nuc9幽灵峡谷双网卡dnf红眼NUC9i9QNB/Intel NUC9i9QNX引导
换了个小机型使用,拓展性优秀,折腾一下黑果子,显卡暂时没加,卡卡卡的,舒服~~~
存在问题
1、雷电基本上是废的,雷电设备没测试过
1.1、usb正常,雷电口dp信号输出不正常,主要表现于
冷开机无显示,并且猜测应该是黑屏启动期间卡代码
解决方法,用唯一的hdmi接口!!!不会搞。。?
暂时也用不上。当然开机后两个雷电的dp信号正常输出
2、ax200无线暂时用不上,mac上ssdt禁止了设备
3、内置音频没测试,用的usb小蜗牛音响
使用说明
1、oc版本使用最新的0.8,系统版本看标题
2、几个gpu参数,注入在config设备信息和引导参数,针对4k屏
3、bios设置参照https://github.com/bemble/Hackintosh-NUC9I7QNX-OpenCore4、usb为ssdt定制方法,大佬教程https://blog.gzxiaobai.cn/5、双网卡219扔驱动,另一个210注入设备,添加空壳驱动
6、ssdt相关修补如下解释:
DefinitionBlock ("", "SSDT", 2, "XIAOLU", "HOTPATCH", 0x00000000)
{
External (_SB_.PCI0, DeviceObj)
External (_SB_.PCI0.LPCB, DeviceObj)
External (_SB_.PCI0.RP01, DeviceObj)
External (_SB_.PCI0.RP05, DeviceObj)
External (_SB_.PCI0.RP05.PXSX, DeviceObj)
External (_SB_.PCI0.SBUS, DeviceObj)
External (_SB_.PCI0.XHC_.RHUB, DeviceObj)
External (_SB_.PCI0.XHC_.RHUB.HS10, DeviceObj)
External (_SB_.PCI0.XHC_.RHUB.SS05, DeviceObj)
External (_SB_.PCI0.XHC_.RHUB.XUPC, MethodObj) // 1 Arguments
External (_SB_.PR00, ProcessorObj)
External (STAS, IntObj)
Scope (_SB)
{
If (_OSI ("Darwin"))
{
STAS = One
}//启用rtc时钟
Device (EC)
{
Name (_HID, "ACID0001")// _HID: Hardware ID
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
} //仿冒一个ec设备,据说解决卡代码问题
}
If (CondRefOf (\_SB.PR00))
{
If ((ObjectType (\_SB.PR00) == 0x0C))
{
Scope (\_SB.PR00)
{
Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
Return (PMPM (Arg0, Arg1, Arg2, Arg3))
}
}
}
} //变频加载x86
Scope (_SB.PCI0)
{
Scope (LPCB)
{
Device (PMCR)
{
Name (_HID, EisaId ("APP9876"))// _HID: Hardware ID
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0B)
}
Else
{
Return (Zero)
}
}
Name (_CRS, ResourceTemplate ()// _CRS: Current Resource Settings
{
Memory32Fixed (ReadWrite,
0xFE000000, // Address Base
0x00010000, // Address Length
)
})
} //添加pmcr以支持原生nvram
}
Device (MCHC)
{
Name (_ADR, Zero)// _ADR: Address
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}//跟smbus一起的,不知干嘛用,白果也有
}
Scope (SBUS)
{
Device (BUS0)
{
Name (_CID, "smbus")// _CID: Compatible ID
Name (_ADR, Zero)// _ADR: Address
Device (DVL0)
{
Name (_ADR, 0x57)// _ADR: Address
Name (_CID, "diagsvault")// _CID: Compatible ID
Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
If (!Arg2)
{
Return (Buffer (One)
{
0x57 // W
})
}
Return (Package (0x02)
{
"address",
0x57
})
}
}//smbus控制器
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
}
}
Scope (RP01)
{
OperationRegion (DE01, PCI_Config, 0x50, One)
Field (DE01, AnyAcc, NoLock, Preserve)
{
, 4,
DDDD, 1
}
Method (_STA, 0, Serialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}//禁用无线ax200,本人不用
}
Scope (_SB.PCI0.XHC.RHUB)
{
Name (USBP, Zero)
Method (GUPC, 1, Serialized)
{
If (_OSI ("Darwin"))
{
Name (PCKG, Package (0x04)
{
Zero,
0x03,
Zero,
Zero
})
USBP += One
If ((((USBP >= One) && (USBP <= 0x04)) || (
(USBP >= 0x0E) && (USBP <= 0x11))))
{
PCKG = One
}
If ((USBP == 0x0B))
{
PCKG = One
PCKG = 0xFF
}
Return (PCKG) /* \_SB_.PCI0.XHC_.RHUB.GUPC.PCKG */
}
Else
{
Return (XUPC (Arg0))
}
}//通过ssdt定制usb,好处是对于kext之流,安装引导盘usb也是正确驱动端口。
}
Scope (\_SB.PCI0.XHC.RHUB)
{
Scope (HS10)
{
Name (_UPC, Package (0x04)// _UPC: USB Port Capabilities
{
One,
0x09,
Zero,
Zero
})
Name (_PLD, Package (0x01)// _PLD: Physical Location of Device
{
ToPLD (
PLD_Revision = 0x1,
PLD_IgnoreColor = 0x1,
PLD_Red = 0x0,
PLD_Green = 0x0,
PLD_Blue = 0x0,
PLD_Width = 0x0,
PLD_Height = 0x0,
PLD_UserVisible = 0x1,
PLD_Dock = 0x0,
PLD_Lid = 0x0,
PLD_Panel = "UNKNOWN",
PLD_VerticalPosition = "UPPER",
PLD_HorizontalPosition = "LEFT",
PLD_Shape = "UNKNOWN",
PLD_GroupOrientation = 0x0,
PLD_GroupToken = 0x0,
PLD_GroupPosition = 0x0,
PLD_Bay = 0x0,
PLD_Ejectable = 0x0,
PLD_EjectRequired = 0x0,
PLD_CabinetNumber = 0x0,
PLD_CardCageNumber = 0x0,
PLD_Reference = 0x0,
PLD_Rotation = 0x0,
PLD_Order = 0x0,
PLD_VerticalOffset = 0x0,
PLD_HorizontalOffset = 0x0)
})
}//侧边c口usb没调用upc方法,单独处理
Scope (SS05)
{
Name (_UPC, Package (0x04)// _UPC: USB Port Capabilities
{
One,
0x09,
Zero,
Zero
})
Name (_PLD, Package (0x01)// _PLD: Physical Location of Device
{
ToPLD (
PLD_Revision = 0x1,
PLD_IgnoreColor = 0x1,
PLD_Red = 0x0,
PLD_Green = 0x0,
PLD_Blue = 0x0,
PLD_Width = 0x0,
PLD_Height = 0x0,
PLD_UserVisible = 0x1,
PLD_Dock = 0x0,
PLD_Lid = 0x0,
PLD_Panel = "UNKNOWN",
PLD_VerticalPosition = "UPPER",
PLD_HorizontalPosition = "LEFT",
PLD_Shape = "UNKNOWN",
PLD_GroupOrientation = 0x0,
PLD_GroupToken = 0x0,
PLD_GroupPosition = 0x0,
PLD_Bay = 0x0,
PLD_Ejectable = 0x0,
PLD_EjectRequired = 0x0,
PLD_CabinetNumber = 0x0,
PLD_CardCageNumber = 0x0,
PLD_Reference = 0x0,
PLD_Rotation = 0x0,
PLD_Order = 0x0,
PLD_VerticalOffset = 0x0,
PLD_HorizontalOffset = 0x0)
})
}//同上,此为3.0端口
}
If (_OSI ("Darwin"))
{
Scope (\_SB.PCI0.RP05)
{
Scope (PXSX)
{
Name (_STA, Zero)// _STA: Status
}
Device (UPSB)
{
Name (_ADR, Zero)// _ADR: Address
OperationRegion (A1E0, PCI_Config, Zero, 0x40)
Field (A1E0, ByteAcc, NoLock, Preserve)
{
AVND, 32,
BMIE, 3,
Offset (0x18),
PRIB, 8,
SECB, 8,
SUBB, 8,
Offset (0x1E),
, 13,
MABT, 1
}
Method (_PRW, 0, NotSerialized)// _PRW: Power Resources for Wake
{
Return (Package (0x02)
{
0x69,
0x03
})
}
Method (_BBN, 0, NotSerialized)// _BBN: BIOS Bus Number
{
Return (SECB) /* \_SB_.PCI0.RP05.UPSB.SECB */
}
Method (_STA, 0, NotSerialized)// _STA: Status
{
Return (0x0F)
}
Method (_RMV, 0, NotSerialized)// _RMV: Removal Status
{
Return (Zero)
}
Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
Local0 = Package (0x06)
{
"AAPL,slot-name",
Buffer (0x0C)
{
"Thunderbolt"
},
"built-in",
Buffer (One)
{
0x00 // .
},
"PCI-Thunderbolt",
One
}
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Device (TBDC)
{
Name (_ADR, Zero)// _ADR: Address
Method (_RMV, 0, NotSerialized)// _RMV: Removal Status
{
Return (Zero)
}
Device (TBCC)
{
Name (_ADR, Zero)// _ADR: Address
Method (_RMV, 0, NotSerialized)// _RMV: Removal Status
{
Return (Zero)
}
}
}
Name (TURP, 0x05)
Device (TBDU)
{
Name (_ADR, 0x00020000)// _ADR: Address
Device (XHC1)
{
Name (_ADR, Zero)// _ADR: Address
Device (RHUB)
{
Name (_ADR, Zero)// _ADR: Address
Method (TPLD, 2, Serialized)
{
Name (PCKG, Package (0x01)
{
Buffer (0x10){}
})
CreateField (DerefOf (PCKG ), Zero, 0x07, REV)
REV = One
CreateField (DerefOf (PCKG ), 0x40, One, VISI)
VISI = Arg0
CreateField (DerefOf (PCKG ), 0x57, 0x08, GPOS)
GPOS = Arg1
CreateField (DerefOf (PCKG ), 0x4A, 0x04, SHAP)
SHAP = One
CreateField (DerefOf (PCKG ), 0x20, 0x10, WID)
WID = 0x08
CreateField (DerefOf (PCKG ), 0x30, 0x10, HGT)
HGT = 0x03
Return (PCKG) /* \_SB_.PCI0.RP05.UPSB.TBDU.XHC1.RHUB.TPLD.PCKG */
}
Method (TUPC, 2, Serialized)
{
Name (PCKG, Package (0x04)
{
One,
Zero,
Zero,
Zero
})
PCKG = Arg0
PCKG = Arg1
Return (PCKG) /* \_SB_.PCI0.RP05.UPSB.TBDU.XHC1.RHUB.TUPC.PCKG */
}
Device (HS01)
{
Name (_ADR, One)// _ADR: Address
Method (_UPC, 0, NotSerialized)// _UPC: USB Port Capabilities
{
Return (TUPC (Zero, 0xFF))
}
}
Device (HS02)
{
Name (_ADR, 0x02)// _ADR: Address
Method (_UPC, 0, NotSerialized)// _UPC: USB Port Capabilities
{
Return (TUPC (Zero, 0xFF))
}
}
Device (SS01)
{
Name (_ADR, 0x03)// _ADR: Address
Method (_UPC, 0, NotSerialized)// _UPC: USB Port Capabilities
{
Return (TUPC (One, 0x09))
}
Method (_PLD, 0, NotSerialized)// _PLD: Physical Location of Device
{
Return (TPLD (One, 0x05))
}
}
Device (SS02)
{
Name (_ADR, 0x04)// _ADR: Address
Method (_UPC, 0, NotSerialized)// _UPC: USB Port Capabilities
{
Return (TUPC (One, 0x09))
}
Method (_PLD, 0, NotSerialized)// _PLD: Physical Location of Device
{
Return (TPLD (One, 0x06))
}
}
}
}
}
}
}
}//上面一堆是原系统的。雷电相关,重写改个名字,雷电的usb名字路径才正常,愿因可能时原生的判定对os不起效
Method (DTGP, 5, NotSerialized)
{
If ((Arg0 == ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b") /* Unknown UUID */))
{
If ((Arg1 == One))
{
If ((Arg2 == Zero))
{
Arg4 = Buffer (One)
{
0x03 // .
}
Return (One)
}
If ((Arg2 == One))
{
Return (One)
}
}
}//以上调用的函数
Arg4 = Buffer (One)
{
0x00 // .
}
Return (Zero)
}
Method (PMPM, 4, NotSerialized)
{
If ((Arg2 == Zero))
{
Return (Buffer (One)
{
0x03 // .
})
}
Return (Package (0x02)
{
"plugin-type",
One
})
}//同上
Scope (\)
{
If (_OSI ("Darwin"))
{
\_SB.PCI0.RP01.DDDD = One
}
}//属于禁用无线部分
} 这机器不是蛮多的么 可以请大佬抽空帮个忙么
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1967838&extra=page%3D1%26filter%3Dtypeid%26typeid%3D1467%26typeid%3D1467 我有这机器,9980hk。目前完美使用。 我也是这个机器,我的是nuc9 pro 石英峡谷,之前安装黑苹果我记得雷电是正常可以输出显示器的,我用了一根USBC转DP。不过目前已经改装成 all in boom了
etyneqk720 发表于 2023-5-17 09:41 https://bbs.pcbeta.com/static/image/common/back.gif
我也是这个机器,我的是nuc9 pro 石英峡谷,之前安装黑苹果我记得雷电是正常可以输出显示器的,我用了一根U ...
哈哈哈哈,老哥这改装风格绝了! 电子中微子 发表于 2023-6-1 10:34 https://bbs.pcbeta.com/static/image/common/back.gif
哈哈哈哈,老哥这改装风格绝了!
就是折腾,哈哈哈 langshibo 发表于 2023-5-16 06:42 https://bbs.pcbeta.com/static/image/common/back.gif
我有这机器,9980hk。目前完美使用。
兄弟,发一个efi可行.
saber_ll@foxmail.com NUC11目前安装成功。就是集显和声卡不能驱动。显存14M,雷电不能驱动。
页:
[1]