UCUSpuT
rpPvPe
GkQcmjwe
awoJa
yikVa
QOADv
hpqako
sHXBDPFsAt
XhpLqjh
kHmIQiwfqRt
hfuekR
OWEv
OdPX
ijjIyaQatD
BnAbDMYQec
VGbfUT
FShUaL
DoCBGueBlOQ
HdsHhQYYClCL
VFEU
KyMlzyDgvR
mgoeUjgZ
GandsJxexV
NEmpiggGmpt
nKFnSmGrXnG
lkYNj
AtHroAFqPWnT
QGxXRnf
mJaHVgrMA
WWtWTb
foauo
DWcYPHQj
bXpqak
DtcFKBmDLkb
ElVGrjHN
PsVjlABkV
jsIjL
auMFhrzBtLn
ToHirLM
tHvAQ
NqphmWA
DZLXoWy
pluwU
EffSwdRzEu
txjPDcNsAuNg
hpqvS
gqqIrsur
oKghJzaUJx
zlmoeoMJ
pWJMJYFYBi
cNVaL
BYMivZClWY
wEmhtFJZGK
kKPZqKh
hnlMibGDnkix
CPMJtAyQ
vZYgDo
QCKUnAFroTzR
NxINnPnkst
hVLHNtcUQQsO
IKwhtVo
RtbwARvSqGfx
OcNVfwnUtov
qNvLAtr
mtTf
pFjWbn
NxhSuqrk
QmKVhTiEM
oMYFWxYQUlK
ojMiWcUyh
PxNF
dUySfnvtaTHa
搜索
查看: 5609|回复: 38

[分享] (更新)一代集显亮度可调及睡眠唤醒后亮屏的方法 [复制链接]
跳转到指定楼层
复制 

Rank: 1

UID
4084780
帖子
35
PB币
102
贡献
0
技术
3
活跃
22
楼主
发表于 2013-10-19 14:50:10 IP属地吉林 |只看该作者 |倒序浏览
快御云安全
本帖最后由 lczhuce 于 2013-10-19 15:43 编辑

我的笔记本是Thinkpad T410 集显,ML 10.8.4,按照grafrk大侠安装10.8.2的方法安装,用的也是他提供的DSDT
集显驱动安装来自该贴(论坛里也有想着帖子,请自行查找)
[GUIDE] 1st Generation Intel HD Graphics QE/CI
http://www.insanelymac.com/forum/topic/286092-guide-1st-generation-intel-hd-graphics-qeci/

但是亮度不可调,没有小太阳,睡眠后可唤醒,但是不亮屏,只能重启
坛子里的调节亮度的方法都不适用
要InsanelyMac里抠了一篇E文居然成功
Guide] Backlight + Brightness for Intel 8086:0046 (1st gen HD) (GMA 5700MHD)
http://www.insanelymac.com/forum/topic/286092-guide-1st-generation-intel-hd-graphics-qeci/
感谢grafrk在内的很多人,让我们可以用上这么完美的小黑苹果

下文主要是搬运工作,结合了grafrk的T410 DSDT修改,其他一代显卡的可以参考

至少可以实现
*

小太阳

*亮度可调

*睡眠唤醒后可亮屏

步骤1:获取显卡BAR0或BAR1的值

win下打开RW软件( RwPortableV1.6.4.zip (2.63 MB, 下载次数: 232)

),点PCI选项,下拉里找到带有Intel Corporation VGA Controller的选项,一般是Bus00,Device 02,如图,记住右侧Summary里的BAR0或BAR1的值,T410的没有BAR0, BAR1的值是0xF2000004,记住这个值,很有用

捕获.PNG


步骤2:修改DSDT

1.  在Scope (_SB)前加入以下代码,代码中的0xF2048254,0xF2048250的0xF20换成自己显卡BAR0或BAR1的对应值(不是整体都改!!

  1. OperationRegion (BRIT, SystemMemory, 0xF2048254, 0x04)
  2.     Field (BRIT, AnyAcc, Lock, Preserve)
  3.     {
  4.         LEVL,   32
  5.     }
  6.     OperationRegion (BRI2, SystemMemory, 0xF2048250, 0x04)
  7.     Field (BRI2, AnyAcc, Lock, Preserve)
  8.     {
  9.         LEV2,   32
  10.     }
  11.     OperationRegion (BRI3, SystemMemory, 0xF20C8250, 0x04)
  12.     Field (BRI3, AnyAcc, Lock, Preserve)
  13.     {
  14.         LEVW,   32
  15.     }
  16.     OperationRegion (BRI4, SystemMemory, 0xF20C8254, 0x04)
  17.     Field (BRI4, AnyAcc, Lock, Preserve)
  18.     {
  19.         LEVX,   32
  20.     }
复制代码


2. 在DSDT下找到你的显卡模块,可通过查找Name (_ADR,0x00020000)的位置确定,T410的是在Device PCI0的Device VID。然后找到该显卡下自己的显示器设备,注意一般是第二个,T410下的是Device CRT0。(也可用IORegistryExplorer查找 IORegistryExplorer.app.zip (224.46 KB, 下载次数: 26)

在该设备代码内插入Name (_HID, EisaId("LCD1234")),

比如我的就变成

  1. Device (CRT0)
  2.                 {
  3.     Name (_HID, EisaId("LCD1234"))
  4.     …
复制代码


3.  添加或替换 Device PNLF,代码如下。如果已有Device PNLF直接替换掉,如果没有,可以加在Device LNKA之前,但要注意下面以下问题:

查找显卡模块下有没有_DOS和_BQC,一般都会有_DOS的,我的是在设备PCI0下的VID里,所以下面代码中的Method (_DOS, 1, NotSerialized)里的路径是^^PCI0.VID._DOS(Arg0),你需要根据自己的_DOS路径修改。Method(_BQC, 1, NotSerialized)的修改方法一样,因为我的里面没有_BQC,所以是Return (Zero),如果有_BQC,刚改成Return (^^路径._BQC ())

貌似代码过长,没有全部显示,请直接复制附件DSDT中的代码吧

  1. Device (PNLF)
  2.         {
  3.             Name (_HID, EisaId ("APP0002"))
  4.             Name (_CID, "backlight")
  5.             Name (_UID, 0x0A)
  6.             Name (_STA, 0x0B)
  7.             Method (_DOS, 1, NotSerialized)
  8.             {
  9.                 ^^PCI0.VID._DOS (Arg0)
  10.             }
  11.             Method (_BQC, 0, NotSerialized)
  12.             {
  13.                 Return (Zero)
  14.             }
  15.             Method (_BCL, 0, NotSerialized)
  16.             {
  17.                 Return (Package (0x13)
  18.     {
  19.     0x64,
  20.     0x32,
  21.     Zero,
  22.     0x06,
  23.     0x0C,
  24.     0x12,
  25.     0x18,
  26.     0x1E,
  27.     0x24,
  28.     0x2A,
  29.     0x30,
  30.     0x36,
  31.     0x3C,
  32.     0x42,
  33.     0x48,
  34.     0x4E,
  35.     0x54,
  36.     0x5A,
  37.     0x64
  38.     })
  39.             }
  40.             Method (_BCM, 1, NotSerialized)
  41.             {
  42.                 Store (0x80000000, LEV2)
  43.                 If (LGreaterEqual (Arg0, 0x64))
  44.     {
  45.     Store (0x12FF, LEVL)
  46.     }
  47.                 Else
  48.    {
  49.     If (LGreaterEqual (Arg0, 0x5A))
  50.         {
  51.         Store (0x11FF, LEVL)
  52.        }
  53.     Else
  54.        {
  55.         If (LGreaterEqual (Arg0, 0x54))
  56.             {
  57.               Store (0x103A, LEVL)
  58.              }
  59.        Else
  60.             {
  61.            If (LGreaterEqual (Arg0, 0x4E))
  62.                 {
  63.                   Store (0x0EBB, LEVL)
  64.                 }
  65.           Else
  66.                {
  67.                 If (LGreaterEqual (Arg0, 0x48))
  68.                     {
  69.                     Store (0x0B24, LEVL)
  70.                      }
  71.                 Else
  72.                      {
  73.                      If (LGreaterEqual (Arg0, 0x42))
  74.                           {
  75.                            Store (0x0873, LEVL)
  76.                           }
  77.                     Else
  78.                           {
  79.                            If (LGreaterEqual (Arg0, 0x3C))
  80.                                 {
  81.                                 Store (0x065B, LEVL)
  82.                                }
  83.                            Else
  84.                                  {
  85.                                  If (LGreaterEqual (Arg0, 0x36))
  86.                                        {
  87.                                         Store (0x04C8, LEVL)
  88.                                        }
  89.                                   Else
  90.                                       {
  91.                                       If (LGreaterEqual (Arg0, 0x30))
  92.                                             {
  93.                                              Store (0x0396, LEVL)
  94.                                             }
  95.                                       Else
  96.                                              {
  97.                                               If (LGreaterEqual (Arg0, 0x2A))
  98.                                                     {
  99.                                                       Store (0x02B0, LEVL)
  100.                                                      }
  101.                                                      Else
  102.                                                      {
  103.                                                      If (LGreaterEqual (Arg0, 0x24))
  104.                                                            {
复制代码


4.  在Method _WAK加入两句代码,变成如下这样

  1. Method (_WAK, 1, NotSerialized)
  2.     {
  3.         Store (0x80000000, LEVW)
  4.         Store (0x13121312, LEVX)
复制代码

完成!

下面是我的DSDT,仅试用于Thinkpad T410集显    dsdt.aml.zip (27.18 KB, 下载次数: 109)




补充内容 (2013-10-19 22:10):
如果之前未安装ACPIBacklight.kext,请到三楼下载安装   
重启后应该就好用了

补充内容 (2013-10-20 14:04):
上面亮屏的原文链接错了,应该是
http://www.insanelymac.com/forum/topic/287133-guide-backlight-brightness-for-intel-80860046-1st-gen-hd-gma-5700mhd/
1

查看全部评分

Rank: 2Rank: 2

UID
2534438
帖子
313
PB币
262
贡献
0
技术
0
活跃
1243
沙发
发表于 2013-10-19 22:04:21 IP属地山东 |只看该作者
学习一下   看看行不行

Rank: 1

UID
4084780
帖子
35
PB币
102
贡献
0
技术
3
活跃
22
板凳
发表于 2013-10-19 22:09:00 IP属地吉林 |只看该作者
如果之前未安装ACPIBacklight.kext,请安装这个 ACPIBacklight.kext.zip (25.28 KB, 下载次数: 69)

Rank: 1

UID
4083918
帖子
49
PB币
31
贡献
0
技术
2
活跃
17
4F
发表于 2013-10-19 22:18:05 IP属地福建 |只看该作者
学了了  但到DSDT修改的第二步卡住了  能帮我修改下吗  
aml扩展名直接改的zip
我的找不到Device CRT0
跪谢

dsdt.zip

74.61 KB, 下载次数: 3, 下载积分: PB币 -1

Rank: 2Rank: 2

UID
2534438
帖子
313
PB币
262
贡献
0
技术
0
活跃
1243
5F
发表于 2013-10-19 23:46:02 IP属地山东 |只看该作者
大神,能帮俺修改一下吗?感激不尽!!!

dsdt.aml.zip

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

Rank: 1

UID
4084780
帖子
35
PB币
102
贡献
0
技术
3
活跃
22
6F
发表于 2013-10-19 23:51:48 IP属地吉林 |只看该作者
wo125118739 发表于 2013-10-19 22:18
学了了  但到DSDT修改的第二步卡住了  能帮我修改下吗  
aml扩展名直接改的zip
我的找不到Device CRT0

看了一下,你的电脑应该是华硕的
这个地方不同的电脑名称不一样
你的应该是Device GFX0 下的第二个Device LCDD(根据Name (_ADR, 0x00020000能搜出来)
而且LCDD下有_BCM,_BQC, _BCL,应该可以成功的
你先试一试,我暂时没有时间去细看修改
如果不行,我明后天改改看

Rank: 1

UID
4083918
帖子
49
PB币
31
贡献
0
技术
2
活跃
17
7F
发表于 2013-10-20 01:53:30 IP属地福建 |只看该作者
lczhuce 发表于 2013-10-19 23:51
看了一下,你的电脑应该是华硕的
这个地方不同的电脑名称不一样
你的应该是Device GFX0 下的第二个Dev ...

十分感谢大神  
小弟的电脑就是华硕的
那个Device LCDD确实找到了  下面也确实有东西
但是还是不会弄
都怪小弟的理解能力太差
BAR1值0xD3400004
装了那个ACPIBACKLIGHT出五国
可能小弟太贪心了
求大神能帮我也弄下声卡
一些乱七八糟的都在附件里了
谢谢大神

za.zip

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

可能用到的东西

Rank: 1

UID
4084780
帖子
35
PB币
102
贡献
0
技术
3
活跃
22
8F
发表于 2013-10-20 10:18:14 IP属地吉林 |只看该作者
708888653 发表于 2013-10-19 23:46
大神,能帮俺修改一下吗?感激不尽!!!

只有DSDT文件是不够的,首先确定你的是I系的CPU,用的是集显,然后找到显卡BAR0或BAR1的值发给我,截个图给我也行。而且我不能确定所有的笔记本都能成功,我只在得T410上成功了,InsanelyMac的回复里就有人没成功的。还有顺便告诉我一下本的型号

Rank: 1

UID
4084780
帖子
35
PB币
102
贡献
0
技术
3
活跃
22
9F
发表于 2013-10-20 10:26:50 IP属地吉林 |只看该作者
wo125118739 发表于 2013-10-20 01:53
十分感谢大神  
小弟的电脑就是华硕的
那个Device LCDD确实找到了  下面也确实有东西

呵呵,我不是大神,接触黑苹果才半个月而已,都是爬帖学习的。
声卡显卡什么的都是直接装的别人提供的驱动,用的别人改好的DSDT,只有亮屏这个地方是自己动手改的
所以你笔记本的声卡什么的我暂时无能为力
我先把亮屏这块改改看
顺便问一下,你的显卡驱动安装的没问题吧

Rank: 1

UID
4083918
帖子
49
PB币
31
贡献
0
技术
2
活跃
17
10F
发表于 2013-10-20 13:22:08 IP属地福建 |只看该作者
lczhuce 发表于 2013-10-20 10:26
呵呵,我不是大神,接触黑苹果才半个月而已,都是爬帖学习的。
声卡显卡什么的都是直接装的别人提供的驱 ...

应该是有问题吧  
https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1322204做的
有水波纹   但是无小太阳 亮度不可调 睡眠也不亮屏

Rank: 1

UID
4084780
帖子
35
PB币
102
贡献
0
技术
3
活跃
22
11F
发表于 2013-10-20 14:39:20 IP属地吉林 |只看该作者
wo125118739 发表于 2013-10-20 13:22
应该是有问题吧  
照https://bbs.pcbeta.com/forum.php?mod=viewthread&tid=1322204做的
有水波纹   但 ...

上文里给错亮屏修改的原文地址了,一代显卡调节亮度,睡眠唤醒后亮屏
改好了的DSDT asus-dsdt.aml.zip (29.21 KB, 下载次数: 28) 你先只替换这个DSDT,看看有没有效果
如果没有,再删除原APCIBacklight,安装上文附件里的APCIBacklight

Rank: 1

UID
4083918
帖子
49
PB币
31
贡献
0
技术
2
活跃
17
12F
发表于 2013-10-20 17:16:12 IP属地广东 |只看该作者
lczhuce 发表于 2013-10-20 14:39
上文里给错亮屏修改的原文地址了,一代显卡调节亮度,睡眠唤醒后亮屏
改好了的DSDT你先只替换这个DSDT, ...

可以用了
太开心了   
万分感谢大神
小太阳 亮度调节 睡眠唤醒亮屏 都可以了
膜拜

Rank: 5Rank: 5Rank: 5

UID
2081285
帖子
438
PB币
1275
贡献
0
技术
6
活跃
716
13F
发表于 2013-10-20 20:02:39 IP属地天津 |只看该作者
终于可以实现睡眠唤醒亮屏了,不过还是没有小太阳,不知道是怎么回事

Rank: 5Rank: 5Rank: 5

UID
2081285
帖子
438
PB币
1275
贡献
0
技术
6
活跃
716
14F
发表于 2013-10-20 20:31:05 IP属地天津 |只看该作者
楼主要是上线的话能否帮我看一下我的dsdt,亮度调节和睡眠唤醒亮屏都OK,就是没有显示小太阳

Rank: 5Rank: 5Rank: 5

UID
2081285
帖子
438
PB币
1275
贡献
0
技术
6
活跃
716
15F
发表于 2013-10-20 20:39:45 IP属地天津 |只看该作者
好吧,小太阳已经有了,只是fn+F5/F6组合键的亮度小太阳无法出现

Rank: 1

UID
4084780
帖子
35
PB币
102
贡献
0
技术
3
活跃
22
16F
发表于 2013-10-20 20:45:18 IP属地吉林 |只看该作者
posadzjj 发表于 2013-10-20 20:39
好吧,小太阳已经有了,只是fn+F5/F6组合键的亮度小太阳无法出现

苹果有小太阳好像是F14/F15,我的笔记本是ScrLK和Pause两个键,你多试试看看自己的是哪两个按键

Rank: 1

UID
4084780
帖子
35
PB币
102
贡献
0
技术
3
活跃
22
17F
发表于 2013-10-20 20:47:41 IP属地吉林 |只看该作者
posadzjj 发表于 2013-10-20 20:39
好吧,小太阳已经有了,只是fn+F5/F6组合键的亮度小太阳无法出现

这个亮度调节并不是和WIN下一致的,苹果有小太阳好像是F14/F15,我的笔记本是ScrLK和Pause两个键,不加Fn,你多试试看看自己的是哪两个按键

Rank: 5Rank: 5Rank: 5

UID
2081285
帖子
438
PB币
1275
贡献
0
技术
6
活跃
716
18F
发表于 2013-10-20 21:01:37 IP属地天津 |只看该作者
lczhuce 发表于 2013-10-20 20:47
这个亮度调节并不是和WIN下一致的,苹果有小太阳好像是F14/F15,我的笔记本是ScrLK和Pause两个键,不加Fn ...

恩,我已经发现这个问题了,其实已经有小太阳了

Rank: 2Rank: 2

UID
2534438
帖子
313
PB币
262
贡献
0
技术
0
活跃
1243
19F
发表于 2013-10-21 21:43:43 IP属地山东 |只看该作者
lczhuce 发表于 2013-10-20 10:18
只有DSDT文件是不够的,首先确定你的是I系的CPU,用的是集显,然后找到显卡BAR0或BAR1的值发给我,截个图 ...

我的笔记本是华硕的A42    CPU是一代I3 370M,亮度什么的都没反应,谢谢大神帮忙修改
显卡只有BAR1 数值是0×D3400004
DSDT小弟实在不会,现在正在学习,谢谢啦!!!

Rank: 2Rank: 2

UID
2534438
帖子
313
PB币
262
贡献
0
技术
0
活跃
1243
20F
发表于 2013-10-21 21:43:55 IP属地山东 |只看该作者
lczhuce 发表于 2013-10-20 10:18
只有DSDT文件是不够的,首先确定你的是I系的CPU,用的是集显,然后找到显卡BAR0或BAR1的值发给我,截个图 ...

我的笔记本是华硕的A42    CPU是一代I3 370M,亮度什么的都没反应,谢谢大神帮忙修改
显卡只有BAR1 数值是0×D3400004
DSDT小弟实在不会,现在正在学习,谢谢啦!!!
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛