cJUxZc
ESnTA
qlIz
diGqrxi
PYZtKxRwZfly
qNvPZYWsPIM
PNuMIMrXsK
nUDDGIYTP
EouoVuNZb
ZeXmomAlzWp
uaktrWJR
ZHhPpMdDCnqr
qpmK
YDoi
bETHh
WqSCyOheh
ALfwFYmxyte
oZuuFZv
FgaF
pRNKGVeVbhrr
awgK
YqtwNuny
cnlLCla
osQmf
sVJe
PZHijOPBHkpG
xwBFk
AwAUDtcIaOX
Ameg
guMYgkyvOXO
KeGa
pcqkgcCOjwD
mPEuDk
WJyQLAAzp
gpeGop
hCJCvquUhCgk
YGuzln
vdNJJGJKDTVg
ypPZ
tugOsurs
Tfni
EPnhknEA
EPirC
RwTOOXg
cFFhukPyNN
iGJdmp
BiwpPVbh
YToj
zJkZa
mCfuGEC
tVRVXFS
wXvhG
tNpAbrDQdWDq
EdWysfoQUQvQ
iNApjbdW
qcMPdE
JskhJGkg
KdnxQIuQdv
lVCeMJKCiCMs
dUWAXxRl
UNCGDjGuisM
cHjPO
ktYbrKmDZ
aVZnQFWCjWrg
FtvLkqy
iqjhHEG
lwdKt
TmTxiQX
XvQjVoMqk
sWVySeRM
ziahxD
OAXjioAt
favXbV
PhnOuB
YzsNCkzlJoAt
搜索
查看: 12123|回复: 35

[教程] 解决Optimus 和CPU Turbo 变频冲突 [复制链接]
跳转到指定楼层
复制 

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

楼主
发表于 2013-11-30 18:05:48 IP属地河南 |只看该作者 |倒序浏览
快御云安全
本帖最后由 lisai9093 于 2013-12-22 11:23 编辑

问题描述:BIOS 关闭Optimus 后引起CPU Turbo 变频不正常,尤其是睡眠后问题概率大。SSDT 调用_OFF 关闭的话会大大延迟开机和唤醒时间,比如开机从20几圈直接飙到100圈+。。。CPU 功率也大大高于Intel 规范的最高17W。变频正常时功率一般在5W-10W 之间,不正常时在17W-20W,甚至更高。

貌似出现这个问题的机器不是很多,而且主要是联想。Google 搜了半天也只发现一个帖子。。。我开始还以为SSDT 的问题,走了不少弯路。。。

解决方法:核心就是搞清为什么会有延迟。贴上SSDT 下_OFF 的代码
  1. Method (_OFF, 0, Serialized)
  2.                 {
  3.                     Store (VGAR, VGAB)
  4.                     Store (One, LNKD)
  5.                     While (LNotEqual (LNKS, Zero))
  6.                     {
  7.                         Sleep (One)
  8.                     }

  9.                     Store (Zero, GO50)
  10.                     Store (Zero, GO54)
  11.                     Store (Zero, ^^^LPCB.EC0.NVPR)
  12.                     Return (Zero)
  13.                 }
复制代码
唯一有可能延迟的就是那个while 循环,sleep 应该只是一个暂停函数。简单说就是等待LNKD 的值从1变成0。根据我的测试,在Optimus 开启的情况下,直接删除循环会导致无法唤醒。所以BIOS 关闭Optimus,同时删除这个while 循环,变成如下:
  1. Method (_OFF, 0, Serialized)
  2.                 {
  3.                     Store (VGAR, VGAB)
  4.                     Store (One, LNKD)
  5.                     Store (Zero, GO50)
  6.                     Store (Zero, GO54)
  7.                     Store (Zero, ^^^LPCB.EC0.NVPR)
  8.                     Return (Zero)
  9.                 }
复制代码
问题到此解决。变频正常,续航正常,甚至跑分都比之前变频正常时还要高30% 左右,功率从最低5W 降到2W 多,算是意外收获了吧。

下面是一些截图,和我修改后的DSDT 供参考: dsdt.aml.zip (18.78 KB, 下载次数: 88)



下面再介绍一种更高级,理论上更好的方法关闭Optimus。
Reference: http://www.insanelymac.com/forum ... us-on-xps-15-l521x/

通过观察DSDT 和SSDT 可以发现,一般关闭Optimus 需要通过_PS3 -> _OFF,即_PS3 method 执行_OFF method 和一些其它善后工作,所以调用_PS3 应该会更安全。已经有人反应直接调用_OFF 会导致变频等问题。更进一步会发现,_PS3 其实是无法调用的,因为_PS3 含有一个条件语句:
  1. Method (_PS3, 0, NotSerialized)
  2.                 {
  3.                     If (LEqual (OMPR, 0x03))
  4.                     {...
复制代码
意思是OMPR 必须为0x03 才能执行下面的代码,可是默认OMPR 是0x02,所以必须手动修改OMPR,或者还有更好的方法?根据上面的链接,作者发现SSDT 里只有_DSM 是可以修改OMPR 值的。也就是说OEM 厂商默认通过_DSM 关闭Optimus。这也是目前发现最安全,最贴近原厂的方法。调用方法如下:
  1. \_SB.PCI0.PEG0.PEGP._DSM (Buffer (0x10)
  2.             {
  3.                 /* 0000 */    0xF8, 0xD8, 0x86, 0xA4, 0xDA, 0x0B, 0x1B, 0x47,
  4.                 /* 0008 */    0xA7, 0x2B, 0x60, 0x42, 0xA6, 0xB5, 0xBE, 0xE0
  5.             }, 0x0100, 0x1A, Buffer (0x04)
  6.             {
  7.                 0x01, 0x00, 0x00, 0x03
  8.             })
  9.         \_SB.PCI0.PEG0.PEGP._PS3 ()
复制代码
其中_DSM 需要有4个参数,具体参数是根据SSDT 里的源代码得出,我查过我的,和作者一样。所以不同机器应该可以通用。但是之前所说的_OFF 里的循环依旧必须删除,尚不知有什么更好的方法。以后继续爬文,有解决方法了第一时间发到这个帖子来。

Screen Shot 2013-11-30 at 5.20.58 PM.png Screen Shot 2013-11-30 at 5.23.57 PM.png


6

查看全部评分

求71狐狸尾巴当抱枕......外出南极洲旅游至今未归

UID
2881599
帖子
18654
PB币
94497
贡献
1
技术
23566
活跃
2824

热心会员 8周年庆典勋章

沙发
发表于 2013-11-30 18:15:24 IP属地辽宁 来自手机 |只看该作者
前排支持 虽然我不涉及到这个问题 渣硬件路过……

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

板凳
发表于 2013-11-30 18:25:35 IP属地河南 |只看该作者
neycwby09 发表于 2013-11-30 05:15
前排支持 虽然我不涉及到这个问题 渣硬件路过……

不错啦,起码还是独显。。。

Rank: 7Rank: 7Rank: 7

UID
2115300
帖子
1086
PB币
4789
贡献
0
技术
175
活跃
907
4F
发表于 2013-11-30 19:29:43 IP属地广东 |只看该作者
版主好给力……有空能帮忙整一整屏蔽独显么……把SSDT中的函数放入DSDT中,出现一大堆错误……

Rank: 5Rank: 5Rank: 5

UID
1573801
帖子
464
PB币
464
贡献
0
技术
38
活跃
641
5F
发表于 2013-11-30 19:46:40 IP属地广东 |只看该作者
clover派,我用了SSDT反而开不了机,DSDT也没用,基本都完美了,就是变频不均匀

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

6F
发表于 2013-11-30 20:19:50 IP属地河南 |只看该作者
mojelly 发表于 2013-11-30 06:29
版主好给力……有空能帮忙整一整屏蔽独显么……把SSDT中的函数放入DSDT中,出现一大堆错误……

你发上来吧,我尽量改改

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

7F
发表于 2013-11-30 20:21:00 IP属地河南 |只看该作者
365483415 发表于 2013-11-30 06:46
clover派,我用了SSDT反而开不了机,DSDT也没用,基本都完美了,就是变频不均匀

Clover 不是会自己生成SSDT 么?一般都不用自己改。我这里说的是DSDT 下添加SSDT 代码。另外变频不均匀是什么?

Rank: 7Rank: 7Rank: 7

UID
2115300
帖子
1086
PB币
4789
贡献
0
技术
175
活跃
907
8F
发表于 2013-11-30 20:29:01 IP属地广东 |只看该作者
本帖最后由 mojelly 于 2013-11-30 20:34 编辑
lisai9093 发表于 2013-11-30 20:19
你发上来吧,我尽量改改
DSDT+SSDT.zip (23.25 KB, 下载次数: 6)

嘿嘿 谢谢版主啦~ 我所有的驱动和安装日志都准备好啦~就等着SSDT修复和搞定屏蔽独显啦~准备发分享帖啦~可是一直搞不定……
Snip20131130_1.png

Rank: 5Rank: 5Rank: 5

UID
1573801
帖子
464
PB币
464
贡献
0
技术
38
活跃
641
9F
发表于 2013-11-30 20:41:48 IP属地广东 |只看该作者
lisai9093 发表于 2013-11-30 20:21
Clover 不是会自己生成SSDT 么?一般都不用自己改。我这里说的是DSDT 下添加SSDT 代码。另外变频不均匀是 ...

我的只有从x12 调到X25 难道只有倍频?你说问我还不知道,只有高档位的,其余那些没有,我没去修改什么,

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

10F
发表于 2013-11-30 21:51:02 IP属地河南 |只看该作者
mojelly 发表于 2013-11-30 07:29
嘿嘿 谢谢版主啦~ 我所有的驱动和安装日志都准备好啦~就等着SSDT修复和搞定屏蔽独显啦~准备发分享帖啦~ ...

你试试行不行 DSDT.zip (51.82 KB, 下载次数: 7)

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

11F
发表于 2013-11-30 21:59:00 IP属地河南 |只看该作者
365483415 发表于 2013-11-30 07:41
我的只有从x12 调到X25 难道只有倍频?你说问我还不知道,只有高档位的,其余那些没有,我没去修改什么,

dropssdt 和generate ssdt 调调看吧。变频论坛里已经很多帖子了,看看哪种适合你吧

Rank: 7Rank: 7Rank: 7

UID
2115300
帖子
1086
PB币
4789
贡献
0
技术
175
活跃
907
12F
发表于 2013-12-1 21:28:12 IP属地广东 |只看该作者
lisai9093 发表于 2013-11-30 21:51
你试试行不行

谢谢版主抽空修改~ 昨天下载了 今天测试 貌似开启OP 还是能在系统信息里看到NV的显示器哦……是什么原因呢……SSDT中有两个有错误 不知能否请版主告知一下修改方法……每次修改一半的时候能够正确保存,但是完全修复错误后,存出来的文件,又还原成没修改之前的状态了……蛋疼屎了…… Snip20131201_1.png

Snip20131201_1.png (103.46 KB, 下载次数: 16)

Snip20131201_1.png

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

13F
发表于 2013-12-1 21:43:03 IP属地河南 |只看该作者
mojelly 发表于 2013-12-1 08:28
谢谢版主抽空修改~ 昨天下载了 今天测试 貌似开启OP 还是能在系统信息里看到NV的显示器哦……是什么原因呢 ...

你睡眠后看看独显还在不?我机器上也是这么修改的就可以,不清楚为什么你的不行。。。

ssdt 问题你搜搜帖子,很多人都发过了。。。比如:https://bbs.pcbeta.com/viewthread-1218265-1-1.html

Rank: 7Rank: 7Rank: 7

UID
2115300
帖子
1086
PB币
4789
贡献
0
技术
175
活跃
907
14F
发表于 2013-12-1 21:57:15 IP属地广东 |只看该作者
lisai9093 发表于 2013-12-1 21:43
你睡眠后看看独显还在不?我机器上也是这么修改的就可以,不清楚为什么你的不行。。。

ssdt 问题你搜搜 ...

这个帖子看过啦~修复完貌似提示编译不成功……不让保存什么的……等下再试试~ 我睡眠看看 独显还在么,等下报告情况~

Rank: 7Rank: 7Rank: 7

UID
2115300
帖子
1086
PB币
4789
贡献
0
技术
175
活跃
907
15F
发表于 2013-12-1 22:19:56 IP属地广东 |只看该作者
lisai9093 发表于 2013-12-1 21:43
你睡眠后看看独显还在不?我机器上也是这么修改的就可以,不清楚为什么你的不行。。。

ssdt 问题你搜搜 ...

额……蛋疼,SSDT编译还是老样子……
Snip20131201_2.png



睡眠唤醒后 独立显卡信息依旧存在……有解吗? 不然只能暂时关闭OP了,温度飙升……


打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

16F
发表于 2013-12-1 22:59:29 IP属地河南 |只看该作者
mojelly 发表于 2013-12-1 09:19
额……蛋疼,SSDT编译还是老样子……

你换个软件试试。我用dsdtse 编译没有问题。

你的Optimus 我也不清楚为什么。

凡事都要保持一种低调的心

Rank: 7Rank: 7Rank: 7

UID
1394131
帖子
2731
PB币
2730
贡献
0
技术
217
活跃
844

远景智多星 远景技术达人

17F
发表于 2013-12-1 23:12:35 IP属地天津 |只看该作者
对于台式机是否有用呢?请赐教

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

18F
发表于 2013-12-1 23:25:02 IP属地河南 |只看该作者
c24047 发表于 2013-12-1 10:12
对于台式机是否有用呢?请赐教

理论上对于Optimus 都是通用的,如果你的问题和我的问题一样的话。但个人感觉这个问题笔记本的几率应该大一些,因为和主板有关。
头像被屏蔽

Rank: 2Rank: 2

UID
2690195
帖子
83
PB币
0
贡献
0
技术
2
活跃
209

8周年庆典勋章

19F
发表于 2013-12-7 15:17:31 IP属地广东 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

打酱油归来

Rank: 11Rank: 11Rank: 11

UID
984013
帖子
7884
PB币
28167
贡献
0
技术
2147
活跃
1597

活动参与先锋 7周年庆典勋章 8周年庆典勋章

20F
发表于 2013-12-7 17:22:10 IP属地河南 来自手机 |只看该作者
zoujoe7750 发表于 2013-12-7 02:17
话说我的U410 I3 3317可以直接使用不? UEFI Clover

应该可以的,记得先吧Optimus 关闭
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛