请教一下如何,才能把pci-bridge改名为peg1啊,我的显卡路径太长了
请教一下如何,才能把pci-bridge改名为peg1啊,我的显卡路径太长了看下图,很明显,多了一层了啊
我用了改名补丁后,还是没有缩短路径
请大神指点一下
路径只能改名,不能变短 beloved敏 发表于 2022-12-13 17:27 https://bbs.pcbeta.com/static/image/common/back.gif
路径只能改名,不能变短
主要是,这个重复了一层,其实PCI-bridge@0应该就是peg1 你确定要peg1, 而不是BRG0? 这里两个ssdt同时使用试试, 自己改下路径和device-id
SSDT-PEG1
DefinitionBlock ("", "SSDT", 2, "ACDT", "PEG1", 0x00000000)
{
External (_SB_.PC00.PEG1.PEGP, DeviceObj)
External (DTGP, MethodObj) // 5 Arguments
Scope (\_SB.PC00.PEG1.PEGP)
{
Device (PEG1)
{
Name (_ADR, Zero)// _ADR: Address
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Device (GFX0)
{
Name (_ADR, Zero)// _ADR: Address
Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
Local0 = Package (0x06)
{
"AAPL,slot-name",
Buffer (0x07)
{
"Slot-1"
},
"device-id",
Buffer (0x04)
{
0xBF, 0x73, 0x00, 0x00 // .s..
},
"@0,AAPL,boot-display",
Buffer (Zero){}
}
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
}
}
另外,还有一个, 你的显卡SSDT, 自己改下你的显卡路径, model和device-id
SSDT-XXX
DefinitionBlock ("", "SSDT", 2, "ACDT", "PEG1", 0x00000000)
{
External (_SB_.PC00.PEG1.PEGP, DeviceObj)
External (DTGP, MethodObj) // 5 Arguments
Scope (\_SB.PC00.PEG1.PEGP)
{
Device (PEG1)
{
Name (_ADR, Zero)// _ADR: Address
Device (GFX0)
{
Name (_ADR, Zero)// _ADR: Address
Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
Local0 = Package (0x08)
{
"AAPL,slot-name",
Buffer (0x07)
{
"Slot-1"
},
"model",
Buffer (0x17)
{
"AMD Radeon Pro W6900X "
},
"device-id",
Buffer (0x04)
{
0xBF, 0x73, 0x00, 0x00 // .s..
},
"@0,AAPL,boot-display",
Buffer (Zero){}
}
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
}
}
两个同时使用, 这样确保显卡有metal 3支持
对了, 还需要SSDT-DTPG搭配
macleane 发表于 2022-12-13 18:11 https://bbs.pcbeta.com/static/image/common/back.gif
对了, 还需要SSDT-DTPG搭配
大哥,你这个加了,不起作用, Scope (\_SB.PCI0.PEG1.PEGP)
{
Device (EGP1)
{
Name (_ADR, Zero)// _ADR: Address
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Device (GFX0)
{ 需要在添加嵌套的两个device,其中最后那个是GFX0
本帖最后由 cnchensh 于 2022-12-13 19:40 编辑
楼上两位大神之前在家政做过保姆吗?好牛逼矣~!
{:5_280:}话说我一直不会搞DSDT这些
macleane 发表于 2022-12-13 18:08 https://bbs.pcbeta.com/static/image/common/back.gif
你确定要peg1, 而不是BRG0? 这里两个ssdt同时使用试试, 自己改下路径和device-id
SSDT-PEG1
按大神的建议这样修改
DefinitionBlock ("", "SSDT", 2, "ACDT", "PEG1", 0x00000000){ External (_SB_.PCI0.PEG1.PEGP, DeviceObj) External (DTGP, MethodObj) // 5 Arguments
Scope (\_SB.PCI0.PEG1.PEGP) { Device (PEG1) { Name (_ADR, Zero)// _ADR: Address Method (_STA, 0, NotSerialized)// _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } }
Device (GFX0) { Name (_ADR, Zero)// _ADR: Address Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method { Local0 = Package (0x06) { "AAPL,slot-name", Buffer (0x07) { "Slot-1" },
"device-id", Buffer (0x04) { 0x40, 0x73, 0x00, 0x00 // @s.. },
"@0,AAPL,boot-display", Buffer (Zero){} } DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } }}
改完后,效果如下
hugarninwow 发表于 2022-12-13 18:56 https://bbs.pcbeta.com/static/image/common/back.gif
需要在添加嵌套的两个device,其中最后那个是GFX0
按您的代码,进行修改后,
DefinitionBlock ("", "SSDT", 2, "ACDT", "PEG1", 0x00000000){ External (_SB_.PCI0.PEG1.PEGP, DeviceObj) External (DTGP, MethodObj) // 5 Arguments
Scope (\_SB.PCI0.PEG1.PEGP) { Device (EGP1) { Name (_ADR, Zero)// _ADR: Address Method (_STA, 0, NotSerialized)// _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } }
Device (GFX0) { Name (_ADR, Zero)// _ADR: Address Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method { Local0 = Package (0x06) { "AAPL,slot-name", Buffer (0x07) { "Slot-1" },
"device-id", Buffer (0x04) { 0x40, 0x73, 0x00, 0x00 // @s.. },
"@0,AAPL,boot-display", Buffer (Zero){} } DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } } }}
效果是下面这样的
本帖最后由 九邪 于 2022-12-13 20:06 编辑
楼上两位大神,异曲同工之妙,
最后是验证二楼这位大神的话,路径,只能改名,不能缩短。。
我有贴修改后的效果图,。但系统在审核,还没有出来,,
可能稍后一会显现出来、
最后,谢谢楼上两位大神的帮助!!谢谢你们!!{:5_588:}
学习了学习了 九邪 发表于 2022-12-13 18:46 https://bbs.pcbeta.com/static/image/common/back.gif
大哥,你这个加了,不起作用,
前面两个ssdt+这个ssdt-DTPG, 三个一起用 有一些更高级的SSDT配置,比如SSDT-VEGA.aml,它除了创建设备外,还模仿真正的Mac的配置方式(EGP0和EGP1设备而不是BRG0)。DefinitionBlock ("", "SSDT", 2, "HACK", "VEGA", 0x00000000)
{
External (_SB_.PCI0, DeviceObj)
External (_SB_.PCI0.PEG0, DeviceObj)
External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
Scope (\_SB)
{
Scope (PCI0)
{
Scope (PEG0)
{
Scope (PEGP)
{
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (Zero)
}
Else
{
Return (0x0F)
}
}
}
Device (EGP0)
{
Name (_ADR, Zero)// _ADR: Address
Method (_STA, 0, NotSerialized)// _STA: Status
{
If (_OSI ("Darwin"))
{
Return (0x0F)
}
Else
{
Return (Zero)
}
}
Device (EGP1)
{
Name (_ADR, Zero)// _ADR: Address
Device (GFX0)
{
Name (_ADR, Zero)// _ADR: Address
}
Device (HDAU)
{
Name (_ADR, One)// _ADR: Address
}
}
}
}
}
}
} 本帖最后由 Dynamix 于 2022-12-13 22:49 编辑
这个怎么样,会自己检测独显上有没有 PCI-bridge (AMD PCIe Up/DownStream Port)有就注入 EGP0.EGP1.GFX0 如果显卡插槽没显卡就啥也不注入
九邪 发表于 2022-12-13 17:34 https://bbs.pcbeta.com/static/image/common/back.gif
主要是,这个重复了一层,其实PCI-bridge@0应该就是peg1
其实根本就不用管 A卡 Vega开始就把 AMD祖传混乱的套娃设备连接方法整进了GPU芯片里非得 套两层上游下游PCIe切换器 和AMD的 PCH一个德行 N卡从来都不这样 Dynamix 发表于 2022-12-13 22:21 https://bbs.pcbeta.com/static/image/common/back.gif
这个怎么样,会自己检测独显上有没有 PCI-bridge (AMD PCIe Up/DownStream Port)有就注入 EGP0.EGP1.GFX0 如 ...
完整代码在哪里呀 Jeffer 发表于 2022-12-13 21:52 https://bbs.pcbeta.com/static/image/common/back.gif
有一些更高级的SSDT配置,比如SSDT-VEGA.aml,它除了创建设备外,还模仿真正的Mac的配置方式(EGP0和EGP1设 ...
哈哈哈,你这个代码厉害了,直接这样了,是不是接近白果了啊??
手头只有白果本,没有其他机型,所以不知道是不是接近了,
九邪 发表于 2022-12-13 23:08 https://bbs.pcbeta.com/static/image/common/back.gif
完整代码在哪里呀
拿去
页:
[1]
2