Win10论坛

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

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

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

搜索
查看: 8662|回复: 127

[分享] Acer VN7-591G-50LW抛弃传统静态dsdt使用hotpatch方式配置   [复制链接]

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-13 14:41:18 |显示全部楼层
本帖最后由 deadbull 于 2017-8-16 23:49 编辑

VN7-591G-50LW抛弃传统静态dsdt使用hotpatch方式配置


几句废话:


其实之前就看过hotpatch的帖子,知道这个东西不错。但是看起来略复杂,而且想着之前的dsdt一直工作正常,懒癌发作就一直没弄。


直到前天,10.13dp4升级dp5失败,猜测跟dsdt有点关系,而且其他方式都试过未果的情况下,本着死马当作活马医的心态,就把它给折腾了。


也不知道是狗屎运,还是真的跟这个有关系,dp5的安装居然可以引导了。而且经测试各项功能都正常(显卡、亮度、屏蔽独显、USB、声卡等)。


个人觉得:这个方式感觉比折腾传统dsdt简单很多,大家可以放心开搞。


还有就是,我这个折腾可能也还存在问题,欢迎大家指出,共同学习。


好了,废话就说到这里,下面进入正题:


一、几篇教程:

为了表示对大神的敬意,把这部分放到前面来。

1、Rehabman的官方教程

https://www.tonymacx86.com/threads/guide-using-clover-to-hotpatch-acpi.200137/

http://bbs.pcbeta.com/viewthread-1745275-1-1.html

2、论坛里的几篇教程:

http://bbs.pcbeta.com/viewthread-1733965-1-1.html

http://bbs.pcbeta.com/viewthread-1742550-1-1.html


http://bbs.pcbeta.com/viewthread-1741377-1-1.html

这里有一篇翻译为中文的:

二、简单说说对hotpatch的理解和总结


简单说点自己的理解,也算是自己梳理一下吧。

如果不想看这里可以直接跳过看第三部分使用方法。


传统dsdt方式,是提取机器的dsdt,反编译后进行改错、编辑、打补丁,然后再次编译,最后把编译好的dsdt拿来用。

原理上来说没啥毛病,但是这个反编译和编译却是问题所在,否则为什么要排错啊。

然后,大神就提出这种方法,可以不提取dsdt,免去了反编译带来的问题。

这种方法是其实可以理解为外挂。基于clover的dsdt二进制patch也就是二进制字符替换,再配合ssdt来实现的,


我们知道,对dsdt修改,总结来说就是改名、删除、修改代码

有些dsdt简单修改,在clover里可以直接通过勾选相应FIX功能实现。

另外对于其他的改名和删除,还可以利用clover的patch功能,实现一些字符替换,直接实现对dsdt重命名和删除的修改。

但是还有一些是要修改对象和方法里的代码。这个怎么办。没关系,在上面的基础上,然后把要需改的代码放到单独的ssdt里,二进制字符替换和ssdt配合使用即可实现修改代码的操作。

更改调用时的方法名或者对象名,指向新ssdt里用新名字定义的对象或者方法,这叫重定向和替换。

直接把dsdt里的对象或方法的名字改掉,然后在ssdt里重写该对象或方法的定义,这就是重命名和替换。


上面几点对应到Rehabman的教程里,就是hotpatch的四种修改类型:

1、重命名ACPI对象(Renaming ACPI objects)

2、删除方法(Removingmethods)

3、重定向和替换(Redirectand Replace)

4、重命名和替换Rename andReplace)


(具体细节的在大神的教程里说的很清楚,我就不展开赘述了。)


这种方式免去了dsdt提取、反编译和编译的过程,从而减少了这几个过程出现的错误。

而且从方式上来说,hotpatch这种方式也比较“科学”。


三、hotpatch使用说明

上面一部分是原理,这部分说说hotpatch使用说明。

首先直接去Rehabman的官方地址下载:

https://github.com/RehabMan/OS-X-Clover-Laptop-Config

其中hotpatch文件夹里就是我们需要用到的。

这里有下载好的:

下面说说这些的文件

1、config.plist

这个就是hotpatch方式下clover配置文件模板,里面有rehabman做好的补丁,在clover config助手里,需要哪个就启用哪个。如果如要配合ssdt,就把相应的ssdt编译成aml文件放到clover的patched文件夹里,并在clover配置里添加该aml的引用

2、SSDT-Config.dsl

这相当于就是hotpatch的ssdt全局变量配置,根据自己的机器架构更改里面的参数,这些全局变量定义在注释里写的很清楚。

3、其他SSDT-*.dsl

其他的SSDT-*.dsl就对应了一些dsdt补丁,一般来说,就是配合config.plist里面的补丁。


四、传统静态dsdt迁移到hotpatch配置步骤:

新方式只变动两个地方:patched文件夹和config.plist文件。其他的和之前一样。

这里为了照顾所有的人都能看懂,只讲简单操作。

迁移配置步骤:

1、把原有的clover配置,添加(注意是添加)到下载的hotpatch里自带的这个config上,最好是对比着一点点添加过来。

但是有几个地方需要修改:

ACPI里的Drop Tables里不要添加之前添加的dsdt和ssdt,SSDT里也不要要勾选drop OEM。

还有就是SortedOrder里的内容也删掉。

2、删除patched文件夹里所有之前的dsdt和ssdt。如果你有用ssdtPRGen生成的ssdt,那么只留下这一个(SortedOrder里也需要留下对应的引用)。

3、在下载的hotpatch文件夹里,找到SSDT-Config.dsl,根据自己的情况打开并编辑里面的全局变量。然后编译并保存到patched文件夹

4、对于之前对dsdt的补丁,如果clover的fix功能里有,就直接用这个代替。

如果之前打的补丁没有相应fix选项。就用hotpatch来代替。

代替的方法是在新的config里,dsdtpatches里启用你需要的补丁,如果该补丁需要ssdt配合,就把下载的hotpatch文件夹里的相应ssdt编译成aml并放到clover的patched文件夹里。

补充1:有些补丁有两个参数的版本,怎么确定自己用哪个?

首先需要你有一个最早提取的dsdt,没有修改过的。

然后用iasl -l DSDT.dsl命令,生成dsdt.lst。

用记事本打开这个文件,搜索看看有没有补丁里的字符串。搜索的时候字符见要用空格隔开。

例如,补丁里是“5f505453 09”,那么在记事本里搜索就是“5f 50 54 53 09”

如果搜索不到,那么这个补丁不适合于你的dsdt。

补充2:有一个SSDT-PluginType1.aml,这个是配合变频用的,没有使用的时候cpu利用率偏高。如果没有ssdtPRGen的ssdt,haswell架构的要用上,其他架构变频要是有问题可以试试看。    。

补充3:有几个补丁,之前不太认识,查了一下是usb睡眠相关的,之前dsdt补丁没有(或者是不一样)

change Method(_PTS,1,N) to ZPTS, pair withSSDT-PTSWAK.aml

change Method(_WAK,1,S) to ZWAK, pair withSSDT-PTSWAK.aml

change Method(XWAK,0,S) to ZWAK, pair withSSDT-XWAK.aml

change Method(XSEL,0,S) to XSEZ, pair withSSDT-XSEL.aml

change Method(ESEL,0,S) to ESEZ, pair withSSDT-ESEL.aml

change Method(GPRW,2,N) to XPRW, pair withSSDT-GPRW.aml

change LANC Method(_PRW,0,S) to Method(XPRW,0,..),pair with SSDT-LANC_PRW.aml

酌情试试看。反正我这个睡眠后usb失败,就打上这几个补丁才ok。


5、补丁工作完成以后,把所有的aml的文件名都加入到config.plist里的SortedOrder里,添加所有aml的引用。

6最后,当然就是重启看效果啦


四、我自己的配置

我这个机器是宏碁的VN7-591G-50LW。是haswell架构的,看样子好像和hotpatch配合良好。


启用的hotpatch补丁(其他补丁不做讨论):


change _OSI to XOSI, pair withSSDT-XOSI.aml

change EHC1 to EH01, optionally pair withSSDT-EH01.aml

change EHC2 to EH02, optionally pair withSSDT-EH02.aml

change EUSB to EH01, optionally pair withSSDT-EH01.aml

change USBE to EH02, optionally pair withSSDT-EH02.aml

change GFX0 to IGPU, optionally pair withSSDT-IGPU.aml

change B0D3 to HDAU, optionally pair withSSDT-HDAU.aml

change HDAS to HDEF, optionally pair withSSDT-HDEF.aml

change AZAL to HDEF, optionally pair with SSDT-HDEF.aml

change HECI to IMEI, optionally pair withSSDT-IMEI.aml

change MEI to IMEI, optionally pair withSSDT-IMEI.aml

change Method(_PTS,1,N) to ZPTS, pair withSSDT-PTSWAK.aml

change Method(_WAK,1,S) to ZWAK, pair withSSDT-PTSWAK.aml

change Method(XWAK,0,S) to ZWAK, pair withSSDT-XWAK.aml

change Method(XSEL,0,S) to XSEZ, pair withSSDT-XSEL.aml

change Method(ESEL,0,S) to ESEZ, pair withSSDT-ESEL.aml

change Method(GPRW,2,N) to XPRW, pair withSSDT-GPRW.aml

change LANC Method(_PRW,0,S) to Method(XPRW,0,..),pair with SSDT-LANC_PRW.aml


patched文件夹下文件:

SSDT-ssdtPGen.aml

SSDT-Config.aml

SSDT-Disable_DGPU.aml

SSDT-EH01.aml

SSDT-EH02.aml

SSDT-ESEL.aml

SSDT-GPRW.aml

SSDT-HDAU.aml

SSDT-HDEF.aml

SSDT-IGPU.aml

SSDT-IMEI.aml

SSDT-LANC_PRW.aml

SSDT-LPC.aml

SSDT-PNLF.aml

SSDT-PTSWAK.aml

SSDT-SMBUS.aml

SSDT-UPRW.aml

SSDT-XHC.aml

SSDT-XOSI.aml

SSDT-XSEL.aml

SSDT-XWAK.aml


Ssdt-config的参数配置:

Name (TYPE, One)

Name (HIGH, One)

Name (IGPI, 0x0A260006)

Name (DPTS, Zero)

Name (SHUT, Zero)

Name (XPEE, Zero)

Name (AUDL, 0x03)

Name (BKLT, Zero)

Name (LMAX, Ones)


Name (FBTP, Zero)

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

查看全部评分

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-13 15:06:38 |显示全部楼层
本帖最后由 deadbull 于 2017-8-17 00:11 编辑

对论坛编辑已醉直接发doc上来吧



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

Rank: 5Rank: 5Rank: 5

UID
4764657
帖子
667
PB币
0
贡献
0
技术
0
活跃
798
发表于 2017-8-13 20:21:05 |显示全部楼层
感谢分享!!!

Rank: 2Rank: 2

UID
4692006
帖子
335
PB币
96
贡献
0
技术
0
活跃
820
发表于 2017-8-13 20:41:42 |显示全部楼层
一直想学习 这个 动态热补丁,前来下载资料去学习学习,谢谢楼主

Rank: 5Rank: 5Rank: 5

UID
4709816
帖子
847
PB币
160
贡献
0
技术
2
活跃
1514
发表于 2017-8-13 21:53:51 |显示全部楼层
不错不错,很详细,6666

Rank: 2Rank: 2

UID
3102648
帖子
378
PB币
7
贡献
0
技术
0
活跃
467
发表于 2017-8-13 22:42:35 |显示全部楼层
今天整理的不错

Rank: 2Rank: 2

UID
4213035
帖子
281
PB币
39
贡献
0
技术
2
活跃
464
发表于 2017-8-13 22:51:07 |显示全部楼层
大佬有没有时间帮忙做一分hotpatch啊,教程看不懂

Rank: 2Rank: 2

UID
4812268
帖子
239
PB币
293
贡献
0
技术
0
活跃
654
发表于 2017-8-13 23:05:53 |显示全部楼层
还在完善hotpatch中,对我这种小白来说真的是太难了

Rank: 2Rank: 2

UID
4824205
帖子
97
PB币
3
贡献
0
技术
0
活跃
85
发表于 2017-8-13 23:31:35 来自手机 |显示全部楼层
同机型,求楼主的efi文件,谢谢179202850@qq.com

Rank: 5Rank: 5Rank: 5

UID
3020287
帖子
619
PB币
241
贡献
0
技术
0
活跃
816
发表于 2017-8-14 16:25:20 来自手机 |显示全部楼层
很详细简单易懂

Rank: 5Rank: 5Rank: 5

UID
3020287
帖子
619
PB币
241
贡献
0
技术
0
活跃
816
发表于 2017-8-14 16:44:55 |显示全部楼层
楼主应该把clover上传上来做个参照的

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-14 20:12:33 |显示全部楼层
感谢大家的支持

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-14 20:13:29 |显示全部楼层
聪聪哥 发表于 2017-8-13 23:31
同机型,求楼主的efi文件,谢谢179202850@qq.com

邮件已发送。请查收

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-14 20:14:24 |显示全部楼层
myd2898129 发表于 2017-8-14 16:44
楼主应该把clover上传上来做个参照的

主要是型号不同,发上来可能也没啥可参考性

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-14 20:15:23 |显示全部楼层
没事说说梦话 发表于 2017-8-13 23:05
还在完善hotpatch中,对我这种小白来说真的是太难了

我也是刚开始折腾这个,大家共同学习

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-14 20:15:57 |显示全部楼层
15176580671 发表于 2017-8-13 20:21
感谢分享!!!

谢谢支持!

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-14 20:16:14 |显示全部楼层
zhongbuxiao 发表于 2017-8-13 20:41
一直想学习 这个 动态热补丁,前来下载资料去学习学习,谢谢楼主

大家共同学习共同提高

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-14 20:16:35 |显示全部楼层
别乱说话 发表于 2017-8-13 21:53
不错不错,很详细,6666

谢谢夸奖,感谢

Rank: 5Rank: 5Rank: 5

UID
45275
帖子
485
PB币
1925
贡献
0
技术
15
活跃
1030
发表于 2017-8-14 20:16:51 |显示全部楼层
gonghe368 发表于 2017-8-13 22:42
今天整理的不错

感谢一直关注我的帖子

Rank: 7Rank: 7Rank: 7

UID
628752
帖子
1185
PB币
1098
贡献
0
技术
11
活跃
1163
发表于 2017-8-14 20:54:19 |显示全部楼层
dp5卡windowserver service only ran 0的问题应该就是dsdt的问题,我也把dsdt换成了hotpatch,dp5安装盘直接就进去了,估计还是dsdt或者ssdt被drop掉了一些有用的东西导致
关闭

站长推荐

已经开启实名认证了哟
这里可以进行实名操作:点我点我点我
回顶部
Copyright (C) 2005-2019 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件