- 积分
- 515
- 最后登录
- 2024-4-25
- 精华
- 0
- 阅读权限
- 40
- 主题
- 39
- UID
- 4199986
- 帖子
- 1287
- PB币
- 1864
- 威望
- 0
- 贡献
- 0
- 技术
- 0
- 活跃
- 2768
- UID
- 4199986
- 帖子
- 1287
- PB币
- 1864
- 贡献
- 0
- 技术
- 0
- 活跃
- 2768
|
换了个小机型使用,拓展性优秀,折腾一下黑果子,显卡暂时没加,卡卡卡的,舒服~~~
存在问题
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-OpenCore
复制代码 4、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 [Zero] = One
- }
- If ((USBP == 0x0B))
- {
- PCKG [Zero] = One
- PCKG [One] = 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]), Zero, 0x07, REV)
- REV = One
- CreateField (DerefOf (PCKG [Zero]), 0x40, One, VISI)
- VISI = Arg0
- CreateField (DerefOf (PCKG [Zero]), 0x57, 0x08, GPOS)
- GPOS = Arg1
- CreateField (DerefOf (PCKG [Zero]), 0x4A, 0x04, SHAP)
- SHAP = One
- CreateField (DerefOf (PCKG [Zero]), 0x20, 0x10, WID)
- WID = 0x08
- CreateField (DerefOf (PCKG [Zero]), 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 [Zero] = Arg0
- PCKG [One] = 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
- }
- }//属于禁用无线部分
- }
复制代码 |
附件: 你需要登录才可以下载或查看附件。没有帐号?注册
|