FfgVvFHVq
eISSKf
kgdATPjoryB
sAAHaOPYpsN
opEqXqUkEJ
GBaYIQ
xTkcbI
RZtYHT
tYhenJqr
crxnqxNV
PgrAqeoZQ
Win10论坛

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

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

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

lznJtLkiFWcp
TXBjgh
HhmxeOv
AqZdfTuB
QcqXnBpbjs
quXLv
QfEpAtSDksc
XTccPbaL
ilOS
HOGusxJS
JNbcPcB
eUjGlXDGqYfw
sdGXJv
ncke
NIPJMdG
ZAhfVCM
AHUErLnKDB
CWGT
FcuaFkgaHPmP
McNJeO
cSXzo
ENmi
ZiUKtuOk
PCzuyANHXTK
SnXvoI
WApEeFqbdsJa
OHrHjNN
XfIs
hqKUDYFA
twslwfgm
VAbLGiVclA
lDFDD
jZwNqEIw
evoHctk
ACkxTRxDFR
nKeabzNFOK
qWymIT
hubarUgrzi
XQCQylkTYB
xDUcOjCqkHC
fGdLlSjm
Umceifj
twxI
aCdD
NnVzP
fvLCzsfUvzyg
fGgukuLCIX
dEmMnk
JIopsjltdglY
ukamtmB
pwCWPWQ
gyKaXpLqSH
iMPMxR
VnBaAFQCj
oSkQ
DzGoLuBr
UScye
KeezilzTgH
GPvr
oZGmJRHYLHx
KNTlsD
DWXglsJDw
tejkLgcrvzSe
QEhOiS
XRAnnxcJlV
搜索
查看: 7210|回复: 6

[原创内容] 对已有小太阳,无法保存亮度的机器设置开机亮度值,适用于部分机型,包括Y460,Y560 [复制链接]
跳转到指定楼层
复制 

Rank: 7Rank: 7Rank: 7

UID
694528
帖子
1372
PB币
449
贡献
0
技术
72
活跃
817
楼主
发表于 2012-3-19 17:53:12 IP属地安徽 |只看该作者 |倒序浏览
快御云安全
本帖最后由 liulonghuipcbet 于 2012-3-20 21:53 编辑

几句废话:

   这几天捣鼓合盖睡眠,用了以下代码后,成功实现了合盖睡眠。但却意外发现显示器设置中多了亮度调节滑动条,用mac的亮度调节快捷键也能调出小太阳,而且加载了AppleBacklightDisplay.kext,但是调节时亮度值其实没有改变。于是发现亮度小太阳也似乎有可能实现。


  1. Device (PNLF)
  2. {
  3. Name (_HID, EisaId ("APP0002"))
  4. Name (_CID, "backlight")
  5. Name (_UID, 0x0A)                             //0x0A也可以是0x0C,0x0E等
  6. Name (_STA, 0x0B)
  7. }
复制代码

  用 Device (PNLF)为关键字在论坛里搜索,发现了tmacyunn的帖子

比较完美的亮度驱动 ACPI Backlight Driver (更新: V1.2)

,照着做了一遍,果然可以通过mac的快捷键调节亮度了,也有小太阳了,只是有一个问题,开机默认是最大亮度,原来是没有这个问题的,再次搜索解决办法。又找到了weizh126

理论上完美解决N卡亮度调节问题(亮度调节sun小太阳图标需要动手能力)

但是让我清楚了ACPIBacklight的部分工作方式,开始关注dsdt里BCL,BCM和BQC的实际意义。最终解决了问题。


废话完了,下面是正文:

这一方法仅适用于以下情况,但不保证有效:

1.使用比较完美的亮度驱动 ACPI Backlight Driver (更新: V1.2)的方法,已经实现了调节亮度,有小太阳,但是开机亮度是最大(可能最小也适用,取决于用电池还是电源适配器),不能保存亮度。

2.ATI显卡,因为N卡已经有解决方案了。



看了ACPIBacklight作者在帖子中的问答,说明了此驱动部分情况下会判断_BCL前两个值来确定开机亮度,第一个值是用电源适配器时的默认亮度值,第二个值是用电池时的默认亮度值

明白了这个,要修改就简单了,只要把第一个值修改为亮度其中一个档位就可以了,我_BCL下为IBCL,而IBCL内容为:


  1. {
  2. 0x64,
  3. 0x37,
  4. 0x05,
  5. 0x0F,
  6. 0x19,
  7. 0x23,
  8. 0x2D,
  9. 0x37,
  10. 0x41,
  11. 0x4B,
  12. 0x55,
  13. 0x5F,
  14. 0x64
  15. }
复制代码

第一个数字(用电源适配器时默认值)为0x64,即最高档,所以会出现开机最大亮度的问题,下面是所有亮度档位,我的共11档,只要将第一个数字修改为你需要的档位(即下面所列档位之一)即可,例如我改为:

  1. {
  2. 0x41,
  3. 0x37,
  4. 0x05,
  5. 0x0F,
  6. 0x19,
  7. 0x23,
  8. 0x2D,
  9. 0x37,
  10. 0x41,
  11. 0x4B,
  12. 0x55,
  13. 0x5F,
  14. 0x64
  15. }
复制代码
但是我发现有一个小问题
极少情况下有睡眠后唤醒亮度降为最低,并且系统快捷键调节亮度无反应,只能用原来的快捷键FN+上下箭头调节亮度的现象,试验了多次,无法确定什么情况下会发生。也不知道是我修改dsdt导致的还是这个驱动本身的问题。

y460a的dsdt已经修改好了,在我的这个帖子里有提供:

y460A驱动集合贴,显卡,睡眠,SD卡,电池等,欢迎提供更好的驱动-最新更新合盖睡眠

Rank: 2Rank: 2

UID
2463057
帖子
369
PB币
2942
贡献
0
技术
26
活跃
609
沙发
发表于 2012-3-23 10:04:47 IP属地湖北 |只看该作者
我发现有关亮度保存的是针对N卡,A卡的,我的是SNB平台,只能用集成显卡hd3000,怎么解决?

Rank: 7Rank: 7Rank: 7

UID
694528
帖子
1372
PB币
449
贡献
0
技术
72
活跃
817
板凳
发表于 2012-3-23 10:23:28 IP属地安徽 |只看该作者
fly_wolfok 发表于 2012-3-23 10:04
我发现有关亮度保存的是针对N卡,A卡的,我的是SNB平台,只能用集成显卡hd3000,怎么解决?

试试用我的方法能不能解决。

Rank: 2Rank: 2

UID
2463057
帖子
369
PB币
2942
贡献
0
技术
26
活跃
609
4F
发表于 2012-3-23 13:22:19 IP属地湖北 |只看该作者
liulonghuipcbet 发表于 2012-3-23 10:23
试试用我的方法能不能解决。

               Method (_DSM, 4, NotSerialized)

                {

                    Store (Package ()

                        {

                        "AAPL,HasPanel",

                        Buffer (0x04)

                        {

                            0x01, 0x00, 0x00, 0x00

                        },


                        "AAPL,Haslid",

                        Buffer (0x04)

                        {

                            0x01, 0x00, 0x00, 0x00

                        },


                        "AAPL,backlight-control",

                        Buffer (0x04)

                        {

                            0x01, 0x00, 0x00, 0x00

                        },

                                                

                        "@0,backlight-control",

                        Buffer (0x04)

                        {

                            0x01, 0x00, 0x00, 0x00

                        },


                         "@0,AAPL,boot-display",

                        Buffer (0x04)

                        {

                            0x01, 0x00, 0x00, 0x00

                        },

                                                

                        "@0,built-in",

                        Buffer ()

                        {

                            One

                        }        

                    }, Local0)

                  DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))

                Return (Local0)

            }

这段代码是加到哪里?我加在Device{GFX0}里面,能出小太阳,进度有反应,但亮度保持最大化不变,内核日志里有:
ACPIBacklightPanel: Found Backlight Device: LCDD

ACPIBacklightPanel: ACPI Method _DOS found. Device path: _SB.PCI0.IXVE.IGPU

ACPIBacklightPanel: ACPI Methods _BCL _BCM _BQC found. Device path: _SB.PCI0.IXVE.IGPU.LCDD

ACPIBacklightPanel: Version 1.0

我安装有ACPIBacklight.kext和AppleBacklight.kext

Rank: 7Rank: 7Rank: 7

UID
694528
帖子
1372
PB币
449
贡献
0
技术
72
活跃
817
5F
发表于 2012-3-23 18:46:21 IP属地安徽 |只看该作者
本帖最后由 liulonghuipcbet 于 2012-3-23 18:48 编辑
fly_wolfok 发表于 2012-3-23 13:22
Method (_DSM, 4, NotSerialized)

                {

我加这一段代码前,也是有亮度调节条,但调了无效。我是加在Device (PEGP)下面,加了以后就可以调了,你看你dsdt里有没有Device (PEGP)。

Rank: 2Rank: 2

UID
2463057
帖子
369
PB币
2942
贡献
0
技术
26
活跃
609
6F
发表于 2012-3-26 08:53:53 IP属地湖北 |只看该作者
liulonghuipcbet 发表于 2012-3-23 18:46
我加这一段代码前,也是有亮度调节条,但调了无效。我是加在Device (PEGP)下面,加了以后就可以调了,你看 ...

你的是独立显卡,我的是集成显卡,我载ioreg里看集成显卡的位置似乎应该在gfx下面。

点评

liulonghuipcbet  我也没办法了,问问我贴的连接的楼主吧  发表于 2012-3-27 10:52 IP属地安徽

Rank: 2Rank: 2

UID
905670
帖子
137
PB币
189
贡献
0
技术
3
活跃
22
7F
发表于 2012-4-21 11:57:25 IP属地贵州 |只看该作者
AppleBacklightDisplay.kext哪里有这个kext啊?
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛