laobamac 发表于 2024-10-27 15:05

关于AMD 9000系处理器和600系芯片组的DSDT补丁

https://file.imgcc.cloud/images/2024/10/03/34c7983d621557e8470c5e210a816019.pngAMD Ryzen 9000 SeriesAMD 600 芯片组新款BIOS的ACPI修复
⚠️修补DSDT存在风险,请确保你做好了必要备份并有绝对的动手能力⚠️
AMD9000处理器使用目前的AMD Vanilla即可正常安装,无特殊于7000处理器
对于600系芯片组(以X670和B650为例)主要为X670在升级18xx BIOS后出现的ACPI Error
引导macOS后出现ACPI Error
如果你使用了这些版本BIOS,遇到相应问题,且无法回退,请尝试修补DSDT




提取DSDT
①Windows下使用SSDTTime
选择Dump DSDT


②Windows下使用Xiasl
左上角-从ACPI表获取,拿到DSDT即可


相关文件(建议去Github下载最新版本,而不是使用附件)



Xiasl过大,无法上传文件,内附下载链接
iasl为SSDTTime依赖,如果你不具备科学环境可手动替换

修补DSDT
使用Xiasl打开DSDT(MaciASL方法相同)

查找CPVS操作区域

①移除CVPS区域,PWVA,PWGS,PWGA方法)
删除此区域(CPVS区域全部删除)

如果存在,移除此PWGS(PWVA下)方法
⚠️不要移除if下的内容!⚠️





②移除有关于CPVS下定义的判断(Gxxx)
上面CPVS中定义了很多偏移量如Offset (0x00) - > G000而后方的判断中使用了此偏移量,如
If (((G000 == One) && ((G002 >= 0x04) && (
      G002 <= 0x07)))){}故报错


- 移除判断方法 -
①删除有关于这些偏移量(无if逻辑)

②删除if逻辑
请注意,if一般为以下格式
    If ((G002 != One))
    {
      Scope (\_SB.PCI0.GPP0)
      {
            Name (_PRW, Package (0x02)// _PRW: Power Resources for Wake
            {
                0x08,
                0x04
            })
      }

      Scope (\_SB.PCI0.GPP2)
      {
            Name (_PRW, Package (0x02)// _PRW: Power Resources for Wake
            {
                0x08,
                0x04
            })
      }

      Scope (\_GPE)
      {
            Method (_L08, 0, NotSerialized)// _Lxx: Level-Triggered GPE, xx=0x00-0xFF
            {
                M460 ("OEM-ASL-\\_GPE._L08 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)
                M460 ("    Notify (\\_SB.PCI0.GPP0, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
                Notify (\_SB.PCI0.GPP0, 0x02) // Device Wake
                M460 ("    Notify (\\_SB.PCI0.GPP2, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)
                Notify (\_SB.PCI0.GPP2, 0x02) // Device Wake
            }
      }
    }开头的if () { 和最下面的 } 花括号括回一定要一并删除!否则标识符不匹配将无法编译!
删除if条件,保留内部范围定义,设备定义等等
删除后如

代码段展示

      Scope (\_SB.PCI0.GPP0)      {            Name (_PRW, Package (0x02)// _PRW: Power Resources for Wake            {                0x08,               0x04            })      }
      Scope (\_SB.PCI0.GPP2)      {            Name (_PRW, Package (0x02)// _PRW: Power Resources for Wake            {                0x08,               0x04            })      }
      Scope (\_GPE)      {            Method (_L08, 0, NotSerialized)// _Lxx: Level-Triggered GPE, xx=0x00-0xFF            {                M460 ("OEM-ASL-\\_GPE._L08 ()\n", Zero, Zero, Zero, Zero, Zero, Zero)                M460 ("    Notify (\\_SB.PCI0.GPP0, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)                Notify (\_SB.PCI0.GPP0, 0x02) // Device Wake                M460 ("    Notify (\\_SB.PCI0.GPP2, 0x2)\n", Zero, Zero, Zero, Zero, Zero, Zero)                Notify (\_SB.PCI0.GPP2, 0x02) // Device Wake            }      }不必修改缩进,全部保留即可


余下所有如法炮制


直到没有Error时,编译aml
MaciASL和Xiasl方法相同


使用OpenCore将DSDT-Patched.aml加载到ACPI即可
然后,开始享受你的Ryzen 9000/8000/7000 on macOS


9700X 实战 由@win10Q机器测试



部分DSDT分享
并不建议使用他人Patch后的DSDT,ACPI表受BIOS版本,硬件差异影响,可能并不相同
如果允许,请自行修补你自己的DSDT
来自@lorys89,@fabiosun,@casj,@laobamac













Writed By laobamac (SimpleHac Founder) & Credited on Lorys89
2024.10.27


laobamac 发表于 2024-10-27 19:34

补:X670E的DSDT可F的通用(1809)

553051957 发表于 2024-10-27 20:19

支持下,不容易,新版本的AMD的

q13507 发表于 2024-10-27 23:17

牛b,不知道 ultra200s 系列能不能黑上

hzt193 发表于 2024-10-28 08:15

新版本AMD的,确实不容易……

xi57884337 发表于 2024-10-29 16:53

可以的,之前用华硕的650ei 只能16xx版本之前的bios,现在看样子可以了

momorain215 发表于 2024-10-29 18:29

赞   很久没看到这么干货满满的纯技术贴了

aniu289 发表于 2024-10-30 09:36

历害历害~~~

ZleM0n 发表于 2024-10-30 11:13

技术贴,支持一下   

新丰电脑 发表于 2024-10-31 09:51

这个必须支持

hhgo52 发表于 2024-10-31 10:46

这个一定要支持下,虽说,我很不喜欢AMD的处理器,更不喜欢AMD的处理器做黑苹果,但这技术贴要支持,最近的 15代处理器安装也遇到这个问题。

fantasy0808 发表于 2024-11-11 09:53

好贴必须收藏

带你拿个杯 发表于 2024-11-11 09:57

顶顶顶!!!!

朱屹川Thomas 发表于 2024-11-12 08:58

顶顶顶顶!!!

eszq 发表于 2024-11-13 11:24

Intel Q670主板acpi error是否可以按类似修补https://www.reddit.com/r/hackintosh/comments/1ac5bdv/boot_error_help_needed_for_dell_optiplex_7010/

云月缘 发表于 2024-11-15 17:15


纯灌水,钻积分,辛苦了

yizhimei 发表于 2024-11-15 21:58

支持技术贴,另请问现在AMD的7、8、9代u配独显来黑果的话,使用上有什么问题吗?

laobamac 发表于 2024-11-15 22:04

chenyulong 发表于 2024-11-15 21:58
支持技术贴,另请问现在AMD的7、8、9代u配独显来黑果的话,使用上有什么问题吗?

没什么问题,我自己9950x配过在用

yfengs 发表于 2024-11-16 07:26

用的B650M-F,补丁用的B650E-F,目前usb定制没有用

带你拿个杯 发表于 2024-11-25 23:41

试了这个方法 确实可以 没问题 就是 删的太累了 好多错误。。
页: [1] 2
查看完整版本: 关于AMD 9000系处理器和600系芯片组的DSDT补丁