关于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
补:X670E的DSDT可F的通用(1809) 支持下,不容易,新版本的AMD的 牛b,不知道 ultra200s 系列能不能黑上 新版本AMD的,确实不容易…… 可以的,之前用华硕的650ei 只能16xx版本之前的bios,现在看样子可以了 赞 很久没看到这么干货满满的纯技术贴了 历害历害~~~ 技术贴,支持一下 这个必须支持 这个一定要支持下,虽说,我很不喜欢AMD的处理器,更不喜欢AMD的处理器做黑苹果,但这技术贴要支持,最近的 15代处理器安装也遇到这个问题。 好贴必须收藏 顶顶顶!!!! 顶顶顶顶!!! Intel Q670主板acpi error是否可以按类似修补https://www.reddit.com/r/hackintosh/comments/1ac5bdv/boot_error_help_needed_for_dell_optiplex_7010/
纯灌水,钻积分,辛苦了 支持技术贴,另请问现在AMD的7、8、9代u配独显来黑果的话,使用上有什么问题吗? chenyulong 发表于 2024-11-15 21:58
支持技术贴,另请问现在AMD的7、8、9代u配独显来黑果的话,使用上有什么问题吗?
没什么问题,我自己9950x配过在用 用的B650M-F,补丁用的B650E-F,目前usb定制没有用 试了这个方法 确实可以 没问题 就是 删的太累了 好多错误。。
页:
[1]
2