Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 35123|回复: 85

[分享] Hotpatch简易教程(修复声卡、屏蔽独显、驱动核显、快捷键调节亮度) [复制链接]

Rank: 2Rank: 2

UID
4814269
帖子
341
PB币
241
贡献
0
技术
1
活跃
845
发表于 2017-10-27 16:45:43 |显示全部楼层
前一段时间了解了一下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
——有了这个才能实现快捷键亮度调节












附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 2Rank: 2

UID
4814269
帖子
341
PB币
241
贡献
0
技术
1
活跃
845
发表于 2017-10-27 21:58:53 |显示全部楼层
一楼,楼主遇到了很奇怪的问题

Rank: 2Rank: 2

UID
4814269
帖子
341
PB币
241
贡献
0
技术
1
活跃
845
发表于 2017-10-27 22:04:45 |显示全部楼层
xuezou 发表于 2017-10-27 21:58
一楼,楼主遇到了很奇怪的问题

冷启动后,几分钟之内风扇狂转,然后规律性报警,小键盘指示灯,大写指示灯以及另一个指示灯同时闪烁,会自动断电关机,换回静态补丁却没问题。求助如何解决

Rank: 1

UID
3527213
帖子
103
PB币
0
贡献
0
技术
0
活跃
311
发表于 2017-10-28 00:50:35 |显示全部楼层
tip 学习学习

Rank: 1

UID
4615383
帖子
116
PB币
36
贡献
0
技术
0
活跃
119
发表于 2017-10-28 14:30:53 |显示全部楼层
表示。。 有点迷糊 没怎么看懂  具体怎么使用好像没说清楚啊啊

Rank: 2Rank: 2

UID
4814269
帖子
341
PB币
241
贡献
0
技术
1
活跃
845
发表于 2017-10-28 14:46:29 |显示全部楼层
阿菲 发表于 2017-10-28 14:30
表示。。 有点迷糊 没怎么看懂  具体怎么使用好像没说清楚啊啊

修改好文件对应放EFI/CLOVER里面就可以了,唯一等不同,在DropOEM那里,SortedOrder下面需添加你加入的SSDT**** .aml即可加载成功

Rank: 1

UID
4747917
帖子
87
PB币
11
贡献
0
技术
1
活跃
88
发表于 2017-10-28 14:56:10 |显示全部楼层
谢谢楼主,感觉好高大上的样子,国际惯例先收藏

Rank: 5Rank: 5Rank: 5

UID
3163943
帖子
512
PB币
203
贡献
0
技术
0
活跃
727
发表于 2017-10-28 15:29:25 |显示全部楼层
学习学习,也许也能用上!

Rank: 2Rank: 2

UID
930810
帖子
245
PB币
62
贡献
0
技术
15
活跃
410
发表于 2017-10-28 16:07:23 |显示全部楼层
我的并没有在SortedOrder下面添加加入的SSDt就能加载,添加了反而不能加载,反正能用。我现在和楼主一样开机风扇狂转,但是并不报警,先前用hotpatch的时候也不会风扇狂转,我在想是不是和什么地方冲突了。楼主解决了的话在这个帖子里总结下,谢谢

Rank: 1

UID
4758656
帖子
48
PB币
20
贡献
0
技术
0
活跃
62
发表于 2017-10-28 17:22:39 |显示全部楼层

谢谢分享先试试了

Rank: 2Rank: 2

UID
4317512
帖子
227
PB币
133
贡献
0
技术
3
活跃
859
发表于 2017-10-28 18:43:16 来自手机 |显示全部楼层
請問Hotpatch有辦法驅動AMD獨顯嗎?

Rank: 2Rank: 2

UID
4814269
帖子
341
PB币
241
贡献
0
技术
1
活跃
845
发表于 2017-10-28 18:47:00 来自手机 |显示全部楼层
billgao2 发表于 2017-10-28 16:07
我的并没有在SortedOrder下面添加加入的SSDt就能加载,添加了反而不能加载,反正能用。我现在和楼主一样开机 ...

你看一下clover的bootlog,看看是如何加载的,一起研究一下吧

Rank: 2Rank: 2

UID
4814269
帖子
341
PB币
241
贡献
0
技术
1
活跃
845
发表于 2017-10-28 20:58:04 |显示全部楼层
chen900703 发表于 2017-10-28 18:43
請問Hotpatch有辦法驅動AMD獨顯嗎?

抱歉,这个我不了解

Rank: 2Rank: 2

UID
4515650
帖子
78
PB币
-2
贡献
0
技术
0
活跃
112
发表于 2017-10-29 07:48:20 |显示全部楼层
不管怎样  先收藏

Rank: 7Rank: 7Rank: 7

UID
234903
帖子
1495
PB币
12483
贡献
0
技术
30
活跃
1599
发表于 2017-10-29 13:35:13 |显示全部楼层
不错的教程,学习收藏,谢谢分享。

Rank: 2Rank: 2

UID
3393593
帖子
486
PB币
611
贡献
0
技术
0
活跃
964
发表于 2017-10-29 22:49:22 |显示全部楼层
楼主真乃神人

Rank: 2Rank: 2

UID
930810
帖子
245
PB币
62
贡献
0
技术
15
活跃
410
发表于 2017-11-2 13:52:35 |显示全部楼层
风扇狂转应该是屏蔽独显的hotpatch补丁的问题,用ssdt加dsdt屏蔽独显时就没问题,我的off代码在SSDT里面,然后去掉了off代码里面关于giop(可能拼的不对)的两行风扇就没问题。但是转成hotpatch不知道该怎么弄了

Rank: 2Rank: 2

UID
4814269
帖子
341
PB币
241
贡献
0
技术
1
活跃
845
发表于 2017-11-2 17:46:59 来自手机 |显示全部楼层
billgao2 发表于 2017-11-2 13:52
风扇狂转应该是屏蔽独显的hotpatch补丁的问题,用ssdt加dsdt屏蔽独显时就没问题,我的off代码在SSDT里面,然 ...

好,等有时间了,我去排查一下ssdt文件

Rank: 2Rank: 2

UID
4652496
帖子
317
PB币
0
贡献
0
技术
1
活跃
407
发表于 2017-11-3 01:09:28 |显示全部楼层
楼主吧你的文件分享出来啊

Rank: 2Rank: 2

UID
4652496
帖子
317
PB币
0
贡献
0
技术
1
活跃
407
发表于 2017-11-3 09:53:55 |显示全部楼层
用Hotpatch引导了 比之跑分高了一点  现在就亮度调不了 显示器显示的不是笔记本样式的    不会弄               还有就是我的蓝牙一直就是搜到信号关不了   其它基本都正常了
回顶部
Copyright (C) 2005-2020 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件