ACnnRFixbPcN
OvQcmMbU
TbRIy
AvJJO
pkjdyo
hwbodRzs
nPJBQe
Win10论坛

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

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

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

ZoefrpTyA
YFcDGAEDgZV
cDSgI
QENTvAJxssQz
PcisxKvmXFa
yNPUmNuimL
ojyJw
eOgBgnq
WPeItEfUdGVP
SBIVGZWm
mXpaFcFH
foozbQCe
lhTvqKEiOoBl
qiBcOX
ctArPCwnqozL
TDBHpwIgiCJe
qjnrlc
hDwInxTWL
ahLKCRrmOD
RzwplQYYeT
IYtNaggGgq
uRiuizDJpN
bSzwNSR
PQCALK
Gjoz
fxsoAxKNv
pVJcozd
aNqWhzPmqB
hijfOlKHOCT
LAhFMFW
AvUsMJgAFfIX
IOKiLAxdEfpM
YBJxlpEadm
gBUVsCXYk
IEdfDVbq
vEtSYnJr
JARZHLPBweQ
BwitfY
jAkc
jSPVItVapdi
LIqFTLgpjobt
Wpzm
ikuNHoB
XeoVHvq
RiQpU
ybpITrZuO
HSeyvyNQhe
mURnWHyXV
FJKL
ZkQf
EklQHuJoDf
WYzsKFH
JHtpAV
aIPXOjqeLfmm
YTTZfcIQqs
XKzxh
gETs
vFfKfCF
BQSoeN
lvpJxuyg
aQvBxHxTYwZF
MFhNveppFhyl
搜索
查看: 3902|回复: 44

[交流] 独显屏蔽讨论 - N卡Optimus屏蔽失败, [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

楼主
发表于 2015-8-15 22:47:40 IP属地福建 |只看该作者 |倒序浏览
快御云安全
本帖最后由 myja 于 2015-8-16 00:14 编辑

来远景论坛有些日子了,一直潜水,爬楼,调试。小白一个,有洁癖,非得接近白苹果不可。这不,前些天开始搞起DSDT,可是小白一个,啥都不会,于是发了一求助贴——《DSDT修改问题》,幸亏有各位仁兄相助,得以修正DSDT的两个错误,再次表示真挚的感谢!

最近觉得自己老犯贱,被Optimus虐的够惨的。拜读了各位大神的神贴,始终无法屏蔽独显。该驱动的怎么都驱动不了,不该识别的怎么碾也碾不走……,爬楼无数无果,也发现众生当中这种疾苦颇多,于是想和大家交流交流如何禁止独显的存在(Bios可以禁用独显的可以偷笑下),希望过大机油踊跃发表独到见解,也希望各位大神相助,再此再次表示感谢


接下来,我先把我的思路贴出来,大家看看哪里有问题,希望指教!(其实这也算事求助帖,但是求助两字不好听,所以楼主私心❤️就改成交流贴啦,哈哈!

首先,感谢各位前辈的帖子,下面是一些关于显卡屏蔽较好的帖子,也是本人参考较多的帖子,大多置顶帖子里也能找到。
https://bbs.pcbeta.com/viewthread-1211619-1-1.html
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1517830
https://bbs.pcbeta.com/viewthread-1499382-1-1.html
还有参考好多大神的,这里偏僻点儿的帖子找不到了,我也不贴出来了,主要参考了以上的教程。

二,以我戴尔的机型为例,有一个DSDT(DSDT.dsl)和四个SSDT(SSDT.dsl, SSDT-1.dsl, SSDT-2.dsl, SSDT-3.dsl),其中SSDT.dsl主要定义了显卡相关,_DSM,_PS3和OPOF都在SSDT中,以下为我参考了各大神的帖子后总结的基本思路,当然也包含了我个人不成熟的意见,请各位大神指正。
1)使用_PS3方法物件来调用OPOF方法来关闭显卡侦测,OPOF是关闭显卡的关键方法;
2)仔细观察_PS3方法,里边有个if函数(图 位置1),_PS3在这if函数中调用了OPOF这个关闭独显的关键方法物件。
屏幕快照 2015-08-15 下午9.23.18.png
这个if执行的条件是OMPR这东西必须等于0x003,而系统默认为0x002(看到一个大神的帖子里说的)。所以默认情况下,并不会进入if函数执行OPOF方法,也就无从谈及关闭独显了。
3)要想调用OPOF,就必须修改OMPR,但我们似乎没有权限修改OMPR(因为他在另一个SSDT的作用域中,我是这么理解的),于是我们要调用SSDT中其他的函数来修改它。于是,大神们找到了SSDT下\_SB.PCI0.PEG0.PEGP中的_DSM方法来修改OMPR。这个\_SB.PCI0.PEG0.PEGP是何许东东,我就不解释来,我怕解释不清楚,误导大家,大家可以看看紫米大神的帖子。为什么我们能够调用\_SB.PCI0.PEG0.PEGP._DSM?这个就要大神解释了。
4)那么我们如何调用 _DSM方法来修改OMPR的值呢?我们先来看看_DSM的函数结构。_DSM里也有两个if函数,但是通过后面大神们给出的代码应该是进入了第一个if条件。
屏幕快照 2015-08-15 下午9.42.46.png
那么这个if怎么修改OMPR呢?于是下面的函数便在大神的脑子里涌现了。通过调用_DSM,并传入4个参数。接着进入第一个if,通过NVDP这个函数将其中的第四个参数Arg3赋给OMPR(从后面大神们给出的代码,我推测的,纯属猜测,具体原理不清楚,求解释)。以下是大神们给出的建议代码加入DSDT中。
屏幕快照 2015-08-15 下午9.56.31.png
5)通过代码,我们看出,大神么让大家加了一个叫PINI的方法物件,PINI当中调用了SSDT中\_SB.PCI0.PEG0.PEGP下关闭独显必须的两个方法,_DSM和_PS3。其中调用_DSM方法,我们讲OMPR的值改成了0x003,此时再执行_PS3就可以进入if体内执行OPOF这个神一般的方法了(但是我的神没有显灵)。
6)根据上面的信息,只要DSDT中的PINI方法被执行,那么就可以禁用独显了。那么我们该如何调用这个方法?又该何时调用这个方法?我们继续看看DSDT中有两个重要的方法_WAK和\_SB.PCI0(这个爬楼理解,我也是半知半解的)下的_INI。其中_WAK时唤醒系统是执行的方法,而_INI是系统初始化是执行的方法,把PINI这个函数放在这两个时段执行时再合适不过了。于是,便有了在这两个方法中调用PINI的步骤。
屏幕快照 2015-08-15 下午10.12.23.png        屏幕快照 2015-08-15 下午10.11.23.png
7)完成以上这些还远远不够,编译错误时最大问题。编译过程中会提示类似does not exist (_PS3)之类的错误,这是应为我的_PS3和_DSM都在SSDT中,编译器编译DSDT是肯定找不到SSDT中的方法了。那怎么办呢?很多帖子采用将SSDT中的代码向DSDT中转移,以解决燃眉之急。但是,我有洁癖,不想将SSDT的东西搬到DSDT中……,而且Rehabman大神曰:“This is a bad idea!”(在一个帖子中看到的,当然我也添油加醋啦,哈哈……什么?你不知道Rehabman大神?……)。大神都发话了,小白怎能不听?怎么办呢?有了,上面的链接的帖子中也有提到在DefinitionBlock中用External,于是我就用了!……
屏幕快照 2015-08-15 下午10.24.41.png
在编译,木有错误了有木有,把俺激动的那个是……
第三,一切准备Okay,再把DSDT的aml文件放入clover中,重启,万事俱备啦!
第四,测试结果,木有成功啊有木有!……
屏幕快照 2015-08-15 下午10.29.31.png
第五,总结为什么没有成功?难道是根本就没有进入外层的第二个if?还是执行完PINI后,系统有执行了SSDT中的_DSM方法?还是……根本就是楼主我人品问题?求大神显现啊!!!

第六,求助与探讨,先附上我的整套dsl文件(修改过,没有错误了,未作任何修改,Dell 14R 5420)。希望各位大神能够指点迷津,也希望各位前辈能发表您的经验之谈,也希望广大人民群众能够发表您的真知灼见,也希望各位新手能够畅所欲言,也希望本帖能够帮助到和我一样的芸芸众生,也希望……(够了,你还有完没完,让不让人喘口气啊?!)
第七,本想知识写个交流贴,没想到写了这么多,显摆下,在Mac下写的,纯属装B,勿喷。
屏幕快照 2015-08-15 下午10.39.31.png
最后,声明
所有术语仅为方便理解使用,正规术语请自行查阅相关资料;
所有观点均为菜鸟的拜读+理解,如有不妥,欢迎批评指正,切勿喷激。
所有代码均为示例,请自行触类旁通,活学活用,联系实际……还有,想不出词了……

等等还没好,附件没上,这个可是关键,不然大神怎么办我屏蔽显卡啊?。什么?楼主有私心?好吧,就让我私心一回吧……

归档.zip

46.64 KB, 下载次数: 9, 下载积分: PB币 -1

dsl压缩文件

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

沙发
发表于 2015-8-16 15:41:41 IP属地福建 |只看该作者
哎,写了这么多,没人帮顶?自己顶起!

Rank: 5Rank: 5Rank: 5

UID
4014395
帖子
1128
PB币
1800
贡献
0
技术
74
活跃
607

我是大学生!

板凳
发表于 2015-8-16 15:48:49 IP属地安徽 |只看该作者
不要用_PS3函数,用_OFF函数成功率更高~

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

4F
发表于 2015-8-16 15:58:01 IP属地福建 |只看该作者
Twototwo 发表于 2015-8-16 15:48
不要用_PS3函数,用_OFF函数成功率更高~

谢谢!直接调用OPOF函数也是没有效果的。

Rank: 5Rank: 5Rank: 5

UID
4014395
帖子
1128
PB币
1800
贡献
0
技术
74
活跃
607

我是大学生!

5F
发表于 2015-8-16 15:59:22 IP属地安徽 |只看该作者
myja 发表于 2015-8-16 15:58
谢谢!直接调用OPOF函数也是没有效果的。

建议你再找一下,dell应该是_OFF而不是_DPOF

Rank: 2Rank: 2

UID
2766499
帖子
38
PB币
1
贡献
0
技术
18
活跃
51
6F
发表于 2015-8-16 16:01:32 IP属地福建 来自手机 |只看该作者
看看我发的帖子有用吗
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1632424

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

7F
发表于 2015-8-16 16:03:32 IP属地福建 |只看该作者
zhh_2012 发表于 2015-8-16 16:01
看看我发的帖子有用吗
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1632424

好的,谢谢哦,我试试看。

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

8F
发表于 2015-8-16 16:04:53 IP属地福建 |只看该作者
Twototwo 发表于 2015-8-16 15:59
建议你再找一下,dell应该是_OFF而不是_DPOF

你好,我的是OPOF,DPOF找不到。

Rank: 5Rank: 5Rank: 5

UID
3918211
帖子
518
PB币
602
贡献
0
技术
6
活跃
439
9F
发表于 2015-8-16 16:09:41 IP属地河北 |只看该作者
谢谢大神的提供

Rank: 2Rank: 2

UID
2766499
帖子
38
PB币
1
贡献
0
技术
18
活跃
51
10F
发表于 2015-8-16 16:23:09 IP属地山西 |只看该作者
我试着改了一下,改了两个版本

归档.zip

75.2 KB, 下载次数: 5, 下载积分: PB币 -1

Rank: 5Rank: 5Rank: 5

UID
4014395
帖子
1128
PB币
1800
贡献
0
技术
74
活跃
607

我是大学生!

11F
发表于 2015-8-16 16:45:58 IP属地安徽 |只看该作者
myja 发表于 2015-8-16 16:04
你好,我的是OPOF,DPOF找不到。

你可以发在我最新的帖子里面,我会帮所有回帖的都修改的

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

12F
发表于 2015-8-16 16:56:47 IP属地福建 |只看该作者
Twototwo 发表于 2015-8-16 16:45
你可以发在我最新的帖子里面,我会帮所有回帖的都修改的

呵呵,谢谢!我也想知道原理,毕竟hackintosh重在折腾。

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

13F
发表于 2015-8-16 16:57:06 IP属地福建 |只看该作者
Twototwo 发表于 2015-8-16 16:45
你可以发在我最新的帖子里面,我会帮所有回帖的都修改的

我一定去拜读你的帖子!

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

14F
发表于 2015-8-16 16:57:29 IP属地福建 |只看该作者
zhh_2012 发表于 2015-8-16 16:23
我试着改了一下,改了两个版本

谢谢大家的帮助!

Rank: 5Rank: 5Rank: 5

UID
4014395
帖子
1128
PB币
1800
贡献
0
技术
74
活跃
607

我是大学生!

15F
发表于 2015-8-16 17:03:05 IP属地安徽 |只看该作者
myja 发表于 2015-8-16 16:56
呵呵,谢谢!我也想知道原理,毕竟hackintosh重在折腾。

原理也没有什么,反正找到合适的函数就可以了~~

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

16F
发表于 2015-8-16 17:06:27 IP属地福建 |只看该作者
嗯,就是找到了关键的函数并且按教程操作了还是不能解决问题,这个就让人头疼了。

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

17F
发表于 2015-8-16 17:06:43 IP属地福建 |只看该作者
Twototwo 发表于 2015-8-16 17:03
原理也没有什么,反正找到合适的函数就可以了~~

嗯,就是找到了关键的函数并且按教程操作了还是不能解决问题,这个就让人头疼了。

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

18F
发表于 2015-8-16 17:38:17 IP属地福建 |只看该作者
zhh_2012 发表于 2015-8-16 16:01
看看我发的帖子有用吗
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1632424

你的方法依然无效……

Rank: 2Rank: 2

UID
2766499
帖子
38
PB币
1
贡献
0
技术
18
活跃
51
19F
发表于 2015-8-16 18:13:43 IP属地福建 来自手机 |只看该作者
myja 发表于 2015-8-16 17:38
你的方法依然无效……

我是这两天刚在折腾,也算新人一个?。折腾了好久都无果?,就爬墙去看了insanelymac,然后我的就成功了。可能只是适用于部分机型吧,可老外说的是all laptops?。insanelymac论坛挺好的,还可以与国外大神交流,建议去看看。

Rank: 2Rank: 2

UID
3041678
帖子
144
PB币
258
贡献
0
技术
3
活跃
135

8周年庆典勋章

20F
发表于 2015-8-22 16:43:13 IP属地福建 |只看该作者
zhh_2012 发表于 2015-8-16 18:13
我是这两天刚在折腾,也算新人一个?。折腾了好久都无果?,就爬墙去看了insanelymac,然后我的就成功了。可 ...

好的,谢谢!不过现在FQ不容易了。直接访问im速度也奇慢……(吐槽下远景,最近有时也根本访问不了……)
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛