fexmen 发表于 2016-1-23 17:48

完美解决小太阳最后一档亮度为黑屏问题。

本帖最后由 fexmen 于 2016-3-20 13:57 编辑

校正:下面步骤必须将此驱动安装至S/L/E里,再配合以下步骤。当我们打上亮度调节补丁后,虽然亮度调节滑块按钮可以正常调节亮度。但,可能你的亮度调节并不均匀。比如:开机或睡眠后,屏幕亮度会变得非常亮:或者是调节亮度的最低档时会黑屏。如果你的亮度调节问题在上述情况里面,那么下面的方法就可以完美解决你的问题。
首先你要明白一点就是亮度调节其实有17档亮度调节,
有些人会说苹果不是16档么?其实不是,是17挡!还有一个空挡亮度调节
最后一档是有亮度的,并非黑屏。




但大部分人由于DSDT中16进制挡数表里有一个值为Zero(也就是为0),所以在最后一档就直接黑下来了 。
这个16进制挡数表你在DSDT里搜索Name (XOPT, Zero)可以找到下面这些代码:
Name (XOPT, Zero)            Name (XRGL, 0x19)            Name (XRGH, 0x0AD9)            Name (_BCL, Package (0x43)            {                0x0AD9,                 0x02EC,                 Zero,                 0x23,                 0x27,                 0x2C,                 0x32,                 0x3A,                 0x43,                 0x4D,                 0x58,                 0x65,                 0x73,                 0x82,                 0x93,                 0xA5,                 0xB8,                 0xCC,                 0xE2,                 0xF9,                 0x0111,                 0x012B,                 0x0146,                 0x0162,                 0x017F,                 0x019E,                 0x01BE,                 0x01DF,                 0x0202,                 0x0225,                 0x024B,                 0x0271,                 0x0299,                 0x02C2,                 0x02EC,                 0x0317,                 0x0344,                 0x0372,                 0x03A2,                 0x03D2,                 0x0404,                 0x0437,                 0x046C,                 0x04A2,                 0x04D9,                 0x0511,                 0x054B,                 0x0586,                 0x05C2,                 0x05FF,                 0x063E,                 0x067E,                 0x06C0,                 0x0702,                 0x0746,                 0x078B,                 0x07D2,                 0x081A,                 0x0863,                 0x08AD,                 0x08F8,                 0x0945,                 0x0994,                 0x09E3,                 0x0A34,                 0x0A86,                 0x0AD9            })      }    }}看到这些代码的蓝色部分了吧。这就是你的十七档亮度值。关于这些亮度值你有必要了解几个知识。代码里前三行里有含XOPT、XRGL、XRGH三个参数名。XOPT的意思是亮度调节里空白档,XRGL的意思是最低档,XRGH为最高档三个参数名后面用逗号隔开的一组数字是它们对应的亮度值。所以不难发现,解决我们造成最低档的黑屏问题,就是将XOPT里的"Zero"改为比XRGL最低档值低一档就好了。最高档不用动。下面开始改这么几个值。将Name (XRGL, 0x19)的参数,改成Name (XRGL, 0x23) 要改的缘由是代码中这些值都是十六进制的。还记得我们之前用的 Brightness fix (Haswell)补丁吗?细心的你可能会留意到在补丁框中,还未打进DSDT前, Brightness fix (Haswell)的代码是Name (XRGL, 25)    Name (XRGH, 2777)    // _BCL: returns list of valid brightness levels    // first two entries describe ac/battery power levels    Name (_BCL, Package()    {      2777,      748,      0,      35, 39, 44, 50,      58, 67, 77, 88,      101, 115, 130, 147,      165, 184, 204, 226,      249, 273, 299, 326,      354, 383, 414, 446,      479, 514, 549, 587,      625, 665, 706, 748,      791, 836, 882, 930,      978, 1028, 1079, 1132,      1186, 1241, 1297, 1355,      1414, 1474, 1535, 1598,      1662, 1728, 1794, 1862,      1931, 2002, 2074, 2147,      2221, 2296, 2373, 2452,      2531, 2612, 2694, 2777,    })我们在未打补丁前预览补丁代码将是10进制显示,上面绿色数值就是10进制亮度挡数表。将亮度补丁打入DSDT后,将会自动转换成16进制显示:Name (XOPT, Zero)            Name (XRGL, 0x23)            Name (XRGH, 0x0AD9)            Name (_BCL, Package (0x43)            {                0x0AD9,                 0x02EC,                 Zero,                 0x23,                 0x27,                 0x2C,                 0x32,                 0x3A,                 0x43,                 0x4D,                 0x58,                 0x65,                 0x73,                 0x82,                 0x93,                 0xA5,                 0xB8,                 0xCC,                 0xE2,                 0xF9,                 0x0111,                 0x012B,                 0x0146,                 0x0162,                 0x017F,                 0x019E,                 0x01BE,                 0x01DF,                 0x0202,                 0x0225,                 0x024B,                 0x0271,                 0x0299,                 0x02C2,                 0x02EC,                 0x0317,                 0x0344,                 0x0372,                 0x03A2,                 0x03D2,                 0x0404,                 0x0437,                 0x046C,                 0x04A2,                 0x04D9,                 0x0511,                 0x054B,                 0x0586,                 0x05C2,                 0x05FF,                 0x063E,                 0x067E,                 0x06C0,                 0x0702,                 0x0746,                 0x078B,                 0x07D2,                 0x081A,                 0x0863,                 0x08AD,                 0x08F8,                 0x0945,                 0x0994,                 0x09E3,                 0x0A34,                 0x0A86,                 0x0AD9            })      }    }}上面蓝色部分就是十六进制亮度档数表。我们需要改
我们需要将XOPT里的"Zero"改为比XRGL最低档值低一档的值。也就是改为非0值,因为0值在显示器里是黑屏的状态。这正是我们要解决的问题。上面我们说过,未打补丁前预览补丁代码将是10进制,打入DSDT后,将会自动转换成16进制。这时你就要研究下你打完补丁后,变成十六进制的值之间的间隔值。什么意思呢。就是说要将已经打好的补丁并显示为16进制的亮度档数值转换成十进制,然后找出它们相邻的的间隔值,再推出比XRGL最低档值低一档的值,这就是我们最终的目的——改XOPT值。有点需要用到类似于初中数学里找规律问题的思路了。怎么推理呢,别急!很简单!打开百度搜索,搜索进制转换,找到百度应用网页版进制转换工具,将你16进制亮度档数表的值,分别放入进制转换器,转换成10进制后去研究它们的规律——间隔值。通常观察4组值的变化规律。例如我选取了我的DSDT里
0x23,0x27, 0x2C,   0x32, 这四个数值,转换得到10进制为35394450可以发现35和39之差是4,39和44为5,44和50为6 由此判断他们差之间相邻的间隔值为1。所以50后面的值可以推出是57=50+7(6+1) 既然往前可以推,那么往后我们就可以反着推出XOPT值为30=35-5(-4-1) 再把30换成16进制的1E,去替换XOPT中的Zero,以及补丁代码括号里的16进制亮度亮度档数表里的另一个Zero。切记一定要把两个Zero都改掉。然后开机自己调节亮度滑块按钮测试。

1032181917 发表于 2016-1-24 14:04

好贴!!!!!

tdyso 发表于 2016-1-24 16:17

技术贴,帮顶

a1379388505 发表于 2016-1-24 16:26

白苹果 2015款13寸pro 表示最后一档就是黑屏

gubinhao 发表于 2016-1-24 17:17

没有必要白苹果最后一档就是黑屏

Loueos 发表于 2016-1-24 18:08

a1379388505 发表于 2016-1-24 16:26 https://www.pcbeta.com/static/image/common/back.gif
白苹果 2015款13寸pro 表示最后一档就是黑屏

其实是有亮度的,只是肉眼看不清,不信你拿手电筒照着,是可以看见的

jqqqqqqqqqq 发表于 2016-1-24 21:34

直接装了intelbacklight驱动,第一档无背光懒得搞了

起风了~ 发表于 2016-1-24 22:17

收藏了···············

起风了~ 发表于 2016-1-24 22:31

我改了怎么还是最后一档黑屏,可以把你改好的发来参考下?

doo3 发表于 2016-1-25 00:14

= =!本来最后一档就是黑的 。。。改了n次 。。。

dearestu 发表于 2016-1-25 00:17

收藏了···············

fexmen 发表于 2016-1-25 01:51

doo3 发表于 2016-1-25 00:14 https://www.pcbeta.com/static/image/common/back.gif
= =!本来最后一档就是黑的 。。。改了n次 。。。

最后一档空挡其实是背光,不是真的黑了。你没改好,是没按我的步骤来 慢慢弄别乱了顺序

fexmen 发表于 2016-1-25 01:55

jqqqqqqqqqq 发表于 2016-1-24 21:34 https://www.pcbeta.com/static/image/common/back.gif
直接装了intelbacklight驱动,第一档无背光懒得搞了

我的是原版的调节,不需要装其他背光驱动。你看到我的帖子时,我都是结合了很多亮度调节背光类帖子的浓缩,自己好好咀嚼。我的的帖子是通俗版的,难度不大。

fexmen 发表于 2016-1-25 02:00

a1379388505 发表于 2016-1-24 16:26 https://www.pcbeta.com/static/image/common/back.gif
白苹果 2015款13寸pro 表示最后一档就是黑屏

是啊 白苹果是这种情况,你认为贴合实际需求吗? 你见过iPhone的最后一档是极度亮度显示的? 我的教程,实际是把你的亮度调节细化了,教程里将Name (XRGL, 0x19)的参数,改成Name (XRGL, 0x23)实际是把你的亮度档均匀化了。只是我在帖子里没写出来。

leko999 发表于 2016-1-25 02:06

其实黑屏好吧
就当手工关背光了

下载听歌的时候有用

fexmen 发表于 2016-1-25 02:08

doo3 发表于 2016-1-25 00:14 https://www.pcbeta.com/static/image/common/back.gif
= =!本来最后一档就是黑的 。。。改了n次 。。。

是啊 白苹果是这种情况,你认为贴合实际需求吗? 你见过iPhone的最后一档是极度亮度显示的? 我的教程教程里将Name (XRGL, 0x19)的参数,改成Name (XRGL, 0x23)实际是把你的亮度档均匀化了。只是我在帖子里没写出来 不改的话,显示器亮度只有最高亮度,没有适合眼睛的最低亮度,很伤眼睛。如果你愿意,当我没说。

fexmen 发表于 2016-1-25 02:09

jqqqqqqqqqq 发表于 2016-1-24 21:34 https://www.pcbeta.com/static/image/common/back.gif
直接装了intelbacklight驱动,第一档无背光懒得搞了

我的教程教程里将Name (XRGL, 0x19)的参数,改成Name (XRGL, 0x23)实际是把你的亮度档均匀化了。只是我在帖子里没写出来 不改的话,显示器亮度只有最高亮度,没有适合眼睛的最低亮度,很伤眼睛。如果你愿意,当我没说。

fexmen 发表于 2016-1-25 02:10

a1379388505 发表于 2016-1-24 16:26 https://www.pcbeta.com/static/image/common/back.gif
白苹果 2015款13寸pro 表示最后一档就是黑屏

我的教程教程里将Name (XRGL, 0x19)的参数,改成Name (XRGL, 0x23)实际是把你的亮度档均匀化了。只是我在帖子里没写出来 不改的话,显示器亮度只有最高亮度,没有适合眼睛的最低亮度,很伤眼睛。如果你愿意,当我没说。

fexmen 发表于 2016-1-25 02:12

leko999 发表于 2016-1-25 02:06 https://www.pcbeta.com/static/image/common/back.gif
其实黑屏好吧
就当手工关背光了



我会告诉你有快捷键关闭显示器,电脑还能继续工作吗? shift+alt+电源键 拿好小技巧,不谢 !

doo3 发表于 2016-1-25 10:12

fexmen 发表于 2016-1-25 02:08 https://www.pcbeta.com/static/image/common/back.gif
是啊 白苹果是这种情况,你认为贴合实际需求吗? 你见过iPhone的最后一档是极度亮度显示的? 我的教程教程 ...

效果一样还是黑的,另外10.11下亮度接管驱动变了https://bitbucket.org/RehabMan/os-x-intel-backlight ~~
页: [1] 2 3 4 5 6 7
查看完整版本: 完美解决小太阳最后一档亮度为黑屏问题。