zwd5168 发表于 2021-11-5 11:40:24

黑苹果OC准备 ACPI

基本概念APCI高级配置与电源接口(Advanced Configuration and Power Interface),是 1997 年由英特尔、微软、东芝共同提出、制定的操作系统电源管理、硬件配置接口,ACPI 定义了系统固件 BIOS 或 UEFI 和操作系统之间的硬件抽象接口。它帮助操作系统合理控制和分配计算机硬件设备的电量,有 了 ACPI ,操作系统可以根据设备实际情况,根据需要把不同的硬件设备关闭。它主要涵盖的功能包括:
[*]System power management(系统电源管理)
[*]Device power management(设备电源管理)
[*]Processor power management(处理器电源管理)
[*]Device and processor performance management(设备及处理器性能管理)
[*]Configuration / Plug and Play(配置/即插即用)
[*]System Events(系统事件)
[*]Battery management(电池管理)
[*]Thermal management(温度管理)
[*]Embedded Controller(嵌入式控制器)
[*]SMBus Controller(SMBus控制器)
在计算机应用平台,ACPI 越来越重要。ACPI 由很多表组成,包括:RSDP,SDTH,RSDT,FADT,FACS,DSDT,SSDT,MADT,SBST,XSDT,ECDT,SLIT,SRAT。其中 DSDT 就是它的一个重要的描述表。DSDT 、SSDT正如上面所说,DSDT 和 SSDT 是 ACPI 规范的一部分,概述了硬件设备,如 USB 控制器、CPU 线程、嵌入式控制器、系统时钟等。DSDT(差分系统描述表)可以被视为包含大部分信息的主体SSDT(辅助系统描述表)传递的信息较少可以将 DSDT 视为建筑蓝图,其中 SSDT 是概述项目额外细节的便签Why?为什么要知道这些macOS 可能对 DSDT 中存在的设备非常挑剔,因此我们需要纠正它。macOS 正常工作需要修正的主要设备:
[*]EC

[*]嵌入式控制器
[*]非苹果的机型都在其 DSDT 中公开了一个 EC,但是通常与 macOS 不兼容,可能会导致恐慌,因此需要对 macOS 隐藏。
[*]对于笔记本电脑,实际的嵌入式控制器仍然需要启用电池和热键才能工作,并且重命名 EC 还会导致 Windows 出现问题,因此最好在不禁用真正的嵌入式控制器的情况下创建假 EC。
[*]Plugin type

[*]插件类型
[*]允许使用 XCPM 在 Intel Haswell 以及更新架构的 CPU上提供本地 CPU 电源管理,这个不适合 AMD
[*]AWAC system clock

[*]AWAC 系统时钟
[*]因为 macOS 无法与 AWAC 时钟通信,因此这要求我们要么强制使用传统 RTC 时钟,要么在不可用的情况下为 macOS 创建一个假的时钟来玩
[*]NVRAM SSDT

[*]真正的 300 系列主板(非 Z370)不会在 ACPI 中将 FW 芯片声明为 MMIO,因此内核会忽略 UEFI 内存映射声明的 MMIO 区域。这个 SSDT 带回了 NVRAM 支持
[*]Backlight SSDT

[*]用于修复笔记本电脑上的背光控制支持
[*]GPIO SSDT

[*]用于允许 VoodooI2C 连接,仅适用于笔记本电脑
[*]XOSI SSDT

[*]用于将 OSI 调用重新路由到此 SSDT,主要用于诱使我们的硬件认为其启动 Windows,以便我们获得更好的触控板支持
[*]IRQ SSDT and ACPI patches

[*]用于修复 DSDT 中的 IRQ 冲突,主要用于笔记本电脑。SSDT Time 独占
[*]注意 Skylake 和较新的 CPU 很少有 IRQ 冲突,这主要在 Broadwell 和较旧的系统上使用

常见 ACPI 组合ACPI 可以自己手动编译,也可以下载别人编译好的,虽然自己编译是最完美的,但是需要一定的学习门槛,所以小白用户还是建议下载编译好的 SSDT 文件即可。下面可以根据自己的机型,参考下文,下载属于自己的 ACPI 文件即可。Intel 桌面
[*]Penryn、Younah、Conroe

[*]SSDT-EC-DESKTOP.aml
[*]Lynnfield、Clarkdale

[*]SSDT-EC-DESKTOP.aml
[*]SandyBridge、Ivy Bridge

[*]CPU-PM.aml

[*]电源管理使用
[*]需要自己脚本生成,比较老了,可以参考 Sandy and Ivy Bridge Power Management
[*]生成后需要配合 ACPI 补丁:Delete CpuPm、Delete Cpu0Ist
[*]SSDT-EC-DESKTOP.aml
[*]SSDT-IMEI.aml

[*]修复 Ivy Bridge CPU 与 6 系列主板混合的问题
[*]修复 Sandy Bridge CPU 与 7 系列主板混合的问题

[*]Hasewell、Broadwell

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-DESKTOP.aml
[*]Skylake

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-DESKTOP.aml
[*]Kaby Lake

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-DESKTOP.aml
[*]Coffee Lake

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-DESKTOP.aml
[*]SSDT-AWAC.aml

[*]修复较新硬件上的系统时钟
[*]支持以下主板:

[*]B360、B365、H310、H370
[*]Z370(具有较新 BIOS 版本的 Gigabyte 和 AsRock 主板)
[*]Z390
[*]B460、Z490
[*]400系列 (Comet Lake)
[*]495系列 (Ice lake)


[*]Comet Lake

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-DESKTOP.aml
[*]SSDT-AWAC.aml

[*]修复较新硬件上的系统时钟
[*]支持以下主板:

[*]B360、B365、H310、H370
[*]Z370(具有较新 BIOS 版本的 Gigabyte 和 AsRock 主板)
[*]Z390
[*]B460、Z490
[*]400系列 (Comet Lake)
[*]495系列 (Ice lake)

[*]SSDT-RHUB.aml

[*]修复某些 OEM主板的问题,需要关闭 RHUB 设备并强制 macOS 手动重建端口
[*]华硕 Z490 需要这个 SSDT
[*]微星主板有待测试
[*]技嘉和华擎主板工作很好,不需要这个 SSDT


Intel 笔记本
[*]Clarksfield、Arrandale

[*]SSDT-EC-LAPTOP.aml
[*]SSDT-XOSI.aml

[*]触控板连接修复
[*]需要配合 ACPI 补丁:Change _OSI to XOSI 来使用
[*]NUC 不需要这个
[*]SSDT-PNLF.aml

[*]修复笔记本亮度控制,NUC 不需要这个

[*]Sany Bridge、Ivy Bridge

[*]CPU-PM.aml

[*]电源管理使用
[*]需要自己脚本生成,比较老了,可以参考 Sandy and Ivy Bridge Power Management
[*]生成后需要配合 ACPI 补丁:Delete CpuPm、Delete Cpu0Ist
[*]SSDT-EC-LAPTOP.aml
[*]SSDT-XOSI.aml

[*]触控板连接修复
[*]需要配合 ACPI 补丁:Change _OSI to XOSI 来使用
[*]NUC 不需要这个
[*]SSDT-PNLF.aml

[*]修复笔记本亮度控制,NUC 不需要这个
[*]SSDT-IMEI.aml

[*]修复 Ivy Bridge CPU 与 6 系列主板混合的问题
[*]修复 Sandy Bridge CPU 与 7 系列主板混合的问题

[*]Haswell、Broadwell

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-LAPTOP.aml
[*]SSDT-XOSI.aml

[*]触控板连接修复
[*]需要配合 ACPI 补丁:Change _OSI to XOSI 来使用
[*]NUC 不需要这个
[*]如果这个不成功的话,可手动使用 MaciASL 编译 SSDT-GPI0.dsl.zip 来替代 XOSI
[*]SSDT-PNLF.aml

[*]修复笔记本亮度控制,NUC 不需要这个

[*]Skylake、Kaby Lake

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-LAPTOP.aml
[*]SSDT-XOSI.aml

[*]触控板连接修复
[*]需要配合 ACPI 补丁:Change _OSI to XOSI 来使用
[*]NUC 不需要这个
[*]如果这个不成功的话,可手动使用 MaciASL 编译 SSDT-GPI0.dsl.zip 来替代 XOSI
[*]SSDT-PNLF.aml

[*]修复笔记本亮度控制,NUC 不需要这个



[*]Coffee Lake、Whiskey Lake

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-LAPTOP.aml
[*]SSDT-XOSI.aml

[*]触控板连接修复
[*]需要配合 ACPI 补丁:Change _OSI to XOSI 来使用
[*]NUC 不需要这个
[*]如果这个不成功的话,可手动使用 MaciASL 编译 SSDT-GPI0.dsl.zip 来替代 XOSI
[*]SSDT-PNLF-CFL.aml
[*]SSDT-AWAC.aml

[*]修复较新硬件上的系统时钟
[*]支持以下主板:

[*]B360、B365、H310、H370
[*]Z370(具有较新 BIOS 版本的 Gigabyte 和 AsRock 主板)
[*]Z390
[*]B460、Z490
[*]400系列 (Comet Lake)
[*]495系列 (Ice lake)


[*]Coffee Lake Plus、Comet Lake

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-LAPTOP.aml
[*]SSDT-XOSI.aml

[*]触控板连接修复
[*]需要配合 ACPI 补丁:Change _OSI to XOSI 来使用
[*]NUC 不需要这个
[*]如果这个不成功的话,可手动使用 MaciASL 编译 SSDT-GPI0.dsl.zip 来替代 XOSI
[*]SSDT-PNLF-CFL.aml
[*]SSDT-AWAC.aml

[*]修复较新硬件上的系统时钟
[*]支持以下主板:

[*]B360、B365、H310、H370
[*]Z370(具有较新 BIOS 版本的 Gigabyte 和 AsRock 主板)
[*]Z390
[*]B460、Z490
[*]400系列 (Comet Lake)
[*]495系列 (Ice lake)

[*]SSDT-PMC.aml

[*]用来支持适配 NVRAM
[*]300 系列主板都需要此 SSDT(Z370除外)
[*]支持以下主板:

[*]B360、B365
[*]H310、H370(HM370 应该不需要这个)
[*]Z390



Intel 高端桌面
[*]Nehalem、Westmere

[*]SSDT-EC-DESKTOP.aml
[*]Sandy Bridge-E、Ivy Bridge-E

[*]SSDT-EC-DESKTOP.aml
[*]SSDT-UNC.aml

[*]禁用 ACPI 中未使用的设备,确保 IOPCIFamily 不会出现内核恐慌
[*]所有的 X99 主板和大多数 X79 主板需要这个 SSDT
[*]此外还有一些 C602、C612 主板也需要这个 SSDT

[*]Haswell-E、Broadwell-E

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-DESKTOP.aml
[*]SSDT-RTC0-RANGE-HEDT.aml

[*]Big Sur 需要确保 RTC 设备的兼容
[*]SSDT-UNC.aml

[*]禁用 ACPI 中未使用的设备,确保 IOPCIFamily 不会出现内核恐慌
[*]所有的 X99 主板和大多数 X79 主板需要这个 SSDT
[*]此外还有一些 C602、C612 主板也需要这个 SSDT

[*]Skylake-X/W、Cascade Lake-X/W

[*]SSDT-PLUG-DRTNIA.aml
[*]SSDT-EC-USBX-DESKTOP.aml
[*]SSDT-RTC0-RANGE-HEDT.aml

[*]Big Sur 需要确保 RTC 设备的兼容


AMD 桌面
[*]Bulldozer(15h)、Jaguar(16h)

[*]SSDT-EC-USBX-DESKTOP.aml
[*]Ryzen、Threadripper(17h and 19h)

[*]SSDT-EC-USBX-DESKTOP.aml
[*]SSDT-CPUR.aml

[*]用于 B550 和 A520 主板修复 CPU 定义,其他主板可以不使用
[*]X570 和较旧的主板不需要此 SSDT


黑苹果 ACPI 大全?由于 ACPI 太多了,国光我不可能都列的很全,而且有些 SSDT 作用网上没有权威解释,所以下面的解释说明也会有误差,仅做参考使用,如果内容方面有所遗漏或者发现严重错误的话,欢迎 Github 提交 PR 补充:
序号SSDT 文件名解释说明
1FixShutdown-USB-SSDT.aml修复 USB 控制器,解决睡眠或者关机自动重启
2Spoof-SSDT.aml禁用 GPU
3SSDT-ALS0.aml添加虚拟的环境光传感器以在重启后保存之前亮度设置
4SSDT-ARTC.aml修复在较新的硬件上找到的系统时钟。OCC 自带的
5SSDT-AWAC.aml300 系列主板使用,
6SSDT-BAT.amlThinkPad 等型号的电池补丁
7SSDT-BKey.aml早期的亮度调节使用
8SSDT-BRG0.amlBIOS 没有 Serial(COM) Port 串口或者找不到禁用 Super IO 的话可能需要
9SSDT-CPUR.aml能源管理,针对 AMD B550 和 A520 主板,X570 等较旧的主板不要使用
10SSDT-EC-DESKTOP.aml老的桌面平台使用,用于修复嵌入式控制器
11SSDT-EC-LAPTOP.aml老的笔记本平台使用,用于修复嵌入式控制器
12SSDT-EC-USBX-DESKTOP.aml新的桌面平台使用,用于修复嵌入式控制器
13SSDT-EC-USBX-LAPTOP.aml新的笔记本平台使用,用于修复嵌入式控制器
14SSDT-EHCx_OFF.amlUSB 兼容性表,禁用EHC1和EHC2。OCC 自带的
15SSDT-EHCx-DISABLE.aml不清楚具体作用 在其他人的 EFI 里面看到过
16SSDT-GPI0.aml触控板连接修复。OCC 也自带的
17SSDT-GPRW.aml修复睡眠自动唤醒补丁
18SSDT-HPET.aml主要用于 X79、X99 和笔记本电脑用户的 IRQ 补丁
19SSDT-HV-CPU.aml对 macOS 的 Hyper-V 集成支持
20SSDT-HV-PLUG.aml对 macOS 的 Hyper-V 集成支持
21SSDT-HV-VMBUS.aml对 macOS 的 Hyper-V 集成支持
22SSDT-IMEI-S.aml当 DSDT 中没有 IMEI 设备需要通过设备属性设置定义设备 ID 的时候才需要
23SSDT-IMEI.aml当 DSDT 中没有 IMEI 设备需要通过设备属性设置定义设备 ID 的时候才需要
24SSDT-IRQ.aml修复 IRQ 冲突
25SSDT-LANC.aml修复睡眠自动唤醒补丁
26SSDT-LIDpatch.aml合盖睡眠
27SSDT-NDGP.aml屏蔽独显
28SSDT-OLARILA.aml作用不详 来自于 Olaria.com 的特殊 SSDT
29SSDT-OPT.aml不清楚具体作用 在其他人的 EFI 里面看到过
30SSDT-PLUG_FX.aml可能是 AMD FX 系列专用的 CPU 能源管理
31SSDT-PLUG_RYZEN.aml可能是 AMD Ryzen 系列专用的 CPU 能源管理
32SSDT-PLUG-DRTNIA.aml用于 Hasewell 和更新 CPU 的能源管理
33SSDT-PMC.aml300 系列主板原生的 NVRAM 补丁
34SSDT-PNLF-CFL.amlCoffee Lake 和更新平台的笔记本背光修复补丁
35SSDT-PNLF.aml大多数主板的背光修复补丁
36SSDT-PTSWAK.aml修复关机、睡眠问题
37SSDT-RHUB.aml修复某些 400 系列主板的问题,需要关闭 RHUB 设备并强制 macOS 手动重建端口
38SSDT-RTC0-RANGE-HEDT.aml高端桌面平台专用,因为Big Sur 需要确保 RTC 设备的兼容
39SSDT-SBUS-MCHC.aml修复 SMBus 支持,解决 温度、风扇、电压等读数问题
40SSDT-SHC0.aml不清楚具体作用 在其他人的 EFI 里面看到过
41SSDT-ThinkPad_ClickPadThinkPad 的 ClickPad 专用
42SSDT-UNC.aml禁用 ACPI 中未使用的设备,确保 IOPCIFamily 不会出现内核恐慌
43SSDT-UPRW.aml修复睡眠自动唤醒补丁
44SSDT-USB-Reset.aml可能和 SSDT-RHUB 作用相同
45SSDT-USBX.aml不清楚具体作用 在其他人的 EFI 里面看到过
46SSDT-XHC2.aml自动注入 XHC 属性?
47SSDT-XOSI.aml触控板连接修复,模拟 Windows 版本的 Darwin,需要配合补丁

页: [1]
查看完整版本: 黑苹果OC准备 ACPI