- UID
- 4814269
- 最后登录
- 1970-1-1
- 阅读权限
- 20
- 精华
- 主题
- 回帖
- 0
- 积分
- 184
- PB币
-
- 威望
-
- 贡献
-
- 技术
-
- 活跃
-
|

前一段时间了解了一下Hotpatch,据说比静态DSDT、SSDT更完美,更接近白果,于是乎昨晚花了几个小时的时间研究了一下Hotpatch,成功改为Hotpatch补丁模式,但是存在三个问题:1)mic无法和siri交流,验证后发现是输入太小(静态补丁时也这样 ps:我用的是AppleALC)2)笔记本自带键盘部分快捷键有问题 比如cmd+option+esc 打开强制退出
3)自带触摸板对多手势几乎是不支持(成功机率小),估计是硬件太渣,这个没办法,不搞
除以上外,暂时还未发现问题,以上问题求大神指教
先瞎说一段(纯属个人观点,欢迎指正):
关于静态DSDT、SSDT理解:
这其实是电脑的“硬件表”,是用来告诉操作系统我有哪些硬件,电脑厂家不一样,这个表是有微小差别的,所以不同电脑对DSDT、SSDT都是无法通用的,操作系统根据这些表正确驱动我们的硬件,Linux和Windows是可以几乎完美驱动这些表的,但是我们的Mac是没办法的我的理解是:
1)我们在提取、编译、反编译的过程中会产生错误,所以需要排错
2)Mac和Windows、Linux它们的硬件表里面某些硬件名称、方法或参数不同,以致于无法驱动硬件,所以需要打补丁
这大概是正文了:
https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/
先贴大佬帖子,大概意思就是讲Hotpatch不需要提取本机的DSDT、SSDT这些“硬件表”,因为Clover有一个机制:Clover的Acpi中有一个Drop OEM这个选项勾选上就代表在Clover启动时加载你放在EFI/CLOVR/ACPI/patched中的静态DSDT、SSDT,也就是我们自己提取、修改、打补丁的文件。反之,不勾选就是加载硬件里的DSDT、SSDT这些表,Hotpatch就是如此,加载自带“硬件”表,但是自带“硬件表”有以上提到的问题,这时候Hotpatch就很强大了,这也是Rehabman牛逼的地方,他应该实验过N多次,总结出Mac系统和其它系统“硬件表”中的不同,而这些不同点又是相同的,所以我们可以直接加载硬件本身的“硬件表”,只需要针对它们的不同来做对应修改即可(这是原理了,从中也可以看出Hotpatch确实比静态方法更接近原生Mac),修改方法如下(部分):
重命名:
GFX0 - > IGPU
SAT0 - > SATA
EHC1 - > EH01
EHC2 - > EH02
XHCI - > XHC
HECI - > IMEI
MEI - > IMEI
LPC - > LPCB
HDAS - > HDEF
AZAL - > HDEF
我的方法:我对比了一些Hotpatch的配置文件,如果存在并使用了以上方法config.plist-Acpi-DSDT-Patches中Comment、Find、Replace下的参数都相同,所以我只需要:
以下的所有SSDT-****.dsl文件修改好以后必需先编译为SSDT-****.aml文件再放到EFI/CLOVER/ACPI/patched中,最后配置文件config.plist中Acpi右下角SortedOrder中添加SSDT-****.aml这个字段
1)提取我的DSDT.aml或者DSDT.dsl(推荐在Clover选择系统的页面按f4或者fn+f4提取到EFI/CLOVER/ACPI/origin)然后用MaciASL打开DSDT.aml或者DSDT.dsl
2)如上所诉,在我的DSDT.aml或者DSDT.dsl中搜索Rehabaman 提供的Hotpatch文件夹config.plist-Acpi-DSDT-Patches中的方法名,如果有就不要勾选那个方法后面的Disable...,并且将对应需要的SSDT-****.dsl文件编译为SSDT-****.aml,放到EFI/CLOVER/ACPI/patched中,最后配置文件config.plist中Acpi右下角SortedOrder中添加SSDT-****.aml这个字段即可。反之,没有那个方法就勾选Disable或者删除即可。
Rehabaman的Hotpatch文件下载:
如果安装了github,打开终端输入:git clone https://github.com/RehabMan/OS-X-Clover-Laptop-Config 就会把相应文件下载到用户下的OS-X-Clover-Laptop-Config文件夹中,Hotpatach全套文件都在OS-X-Clover-Laptop-Config/hotpatch中
若没有安装github,前往https://github.com/RehabMan/OS-X-Clover-Laptop-Config右边也能下载
hotpatch文件夹分析:
其实只需要知道:
SSDT-GPRW.dsl / SSDT-GPRW.dsl
——这是唤醒相关文件,在你的DSDT中搜索GPRW或GPRW,最多的是哪一个则用哪一个即可
SSDT-Config.dsl
——这是hotpatch的配置SSDT内容:
我的Hotpatch背光修复方法:
这个文件中建议像我一样设置背光相关的部分:SSDT-Config.dsl中对应填(IGPI,Ones)、(BKLT,1);根据平台填写其中的 * (LMAX,*) 请手打,不要复制。
在config.plist中注入显卡的intelGFX、ig-platform-id、以及SystemParameters中 Backlight Level (开机亮度值)
我的Haswell用的第一组:
ig-platform-id 0xa2e0008 Backlight Level :0x56c
ig-platform-id 0xa260006 Backlight Level :0xad9
Device 中intelGFX都为 0x04128086
然后在SortedOrder中添加SSDT-PNLF.aml
就能实现亮度调节
SSDT-HDAU.dsl
——这是声卡相关,SSDT-Config.dsl中写入了ID,这里也要写,config.plist中就不需要声卡id了
config.plist
——这是Clover配置文件,建议直接用RehabMan的这个文件,把你正在在使用的配置文件的除Acpi节点外其余全部覆盖,就是说我们把RehabMan的这个配置文件只保留Acpi这个节点,其余改成我们自己的包括KernelandKext Patches,Device、Graphics、SystemParameters部分内容根据以上内容修改。
说明:如果SSDT-Config.dsl、SSDT-HDAU.dsl中都加入了声卡ID,这里就不需要加入了
以下文件只需要在配置文件config.plist中Acpi右下角SortedOrder添加各自编译后的文件名及扩展名即可自带实现功能,如放入SSDT-Disable_DGPU.aml,添加SSDT-Disable_DGPU.aml即可:
SSDT-Disable_DGPU.dsl
——屏蔽独显
SSDT-PluginType1.dsl
——intel 4代及更高平台变频使用,或者你可以使用ssdtPRGen来生成,论坛找,不多说。
SSDT-PNLF.dsl
——有了这个才能实现快捷键亮度调节
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|