HD4600 黑苹果笔记本亮度调节 新方法 超简单(理论上适用于Intel HD3000->HD5000+)
前几天一直在爬帖解决笔记本HD4600的亮度调节问题,基本上论坛上的方法都是 给DSDT/SSDT打补丁+ACPIBacklight.kext 实现亮度调节,试了不下十来次,奈何我的笔记本连内建显示器滑块都没有出现,后来发现daxuexinsheng大大的帖子:
[教程][授权翻译] 给DSDT/SSDT打补丁,实现笔记本亮度调节
http://bbs.pcbeta.com/viewthread-1571456-1-1.html
满怀希望的尝试,结果仍然失望,滑块还是没出现,更何况调节亮度了;有点懊恼,不过还是要继续奋斗;为了寻找另一种方法,获取更多信息,看看国外大神们是怎么解决这个问题的;还好daxuexinsheng大大保留了翻译的原网址,是 RehabMan 大神的文章:Patching DSDT/SSDT for LAPTOP backlight control
http://www.tonymacx86.com/el-capitan-laptop-support/152659-guide-patching-dsdt-ssdt-laptop-backlight-control.html
一读之下大吃一惊,原来还有第二种方法可以实现HD4600的亮度调节,而这部分内容daxuexinsheng大大没有翻译,可能是原作者后来添加的,于是按照大神的方法试验,重启开机,激动人心的时刻到来了,屏幕自动变暗,不再是最大亮度了(再也不用shades了,谢谢陪伴,花了6块钱),重启之后亮度值也没有被还原,并且键盘调节亮度快捷键默认可用(需在“系统偏好设置->键盘->快捷键->显示器” 里设置快捷键 ;默认是F14和F15,建议设置成F8和F9 )。
鉴于论坛上暂时没有详细说明这个方法的帖子,下面说说我是怎么做到的,给大家一个参考,使用传统方法不能调节亮度的童鞋可以试试,操作步骤相当简单:
1.DSDT 打补丁 "Brightness Fix”
2.使用 Kext Wizard 安装 IntelBacklight.kext ,同时修复权限/重建缓存
3.重启
就这么简单?
事实就是如此,想想之前改 DSDT 被虐的……
不过要实现亮度调节,必须先成功驱动显卡,开启了 QE/CI 硬件加速(也就是有传说中的水波纹);显卡所在SSDT注入了显卡相关的代码 snb-platorm-id/ig-platform-id ,以我的显卡 HD4600 为例见下图:
简单的说,只要实现了水波纹,就满足了成功的条件。
下面让我们来看看RehabMan大大是怎么说的,简单的翻译一下:
Note: This guide is primarily for Intel HD graphics (HD3000->HD5000+). Although some of the kexts and patches mentioned here can
be used in other scenarios, that is not the focus of this post.
理论上适用于 Intel HD3000->HD5000+
By default, your non-Apple DSDT does not have the necessary trigger to cause AppleBacklight.kext to load. Although it is easy to make
it load by adding a PNLF device (aka "Brightness Fix" from my laptop repo), it will likely not work correctly. It may not work at all prior to sleep, and even after sleep the full range of brightness will not be available. This is becuase AppleBacklight.kext only has profiles for panels that appear in actual Apple products and there can be PWM registers that are not initialized by BIOS as OS X expects.
默认情况下,非苹果设备的 DSDT 不会加载 AppleBacklight.kext(内建显示器那里没有调节滑块),但要加载很容易,只需要添加一个 PNLP 设备ID(作者的 "Brightness Fix"补丁);但是只是加载 AppleBacklight.kext 的话,屏幕亮度调节并不能完美工作,必须要先休眠之后才能调节亮度,因为苹果电脑是靠硬件模块调节亮度的,而普通电脑没有这个模块。
A slightly modified DSDT patch can correct for the problem before sleep, and the issue of full range can be fixed by patching AppleBacklight.kext (or providing an injector kext that does the same thing), or by patching EDID. But still, smooth transitions when using keyboard controls will not work (reason not known).
稍微修改下 DSDT 可以解决休眠之前不能调节亮度的问题,可以给 AppleBacklight.kext 打补丁(用 Clover 注入内核效果一样),或者给 EDID 打补丁;但是不能用键盘平滑的调节亮度(原因不知道)。
A complete solution to the problem can be achieved with ACPIBacklight.kext and a more complex DSDT patch.
完全解决这个问题可以通过 ACPIBacklight.kext 和复杂的 DSDT 补丁实现。
In addition, a second method using the standard PNLF patch ("Brightness Fix") can be used. That method uses a different kext, IntelBacklight.kext instead of ACPIBacklight.kext. That method will be discussed first, followed by ACPIBacklight.kext. ACPIBacklight.kext is a bit more flexible as it can be used in scenarios where IntelBacklight.kext does not work.
除此之外,第二种方法是使用标准的 PNLF 补丁 ( "Brightness Fix" ),这种方法使用一个不同的 kext < IntelBacklight.kext > ,这种方法是首选;至于 ACPIBlacklight.kext,灵活的使用它,如果 IntelBacklight.kext 不能正常工作。
In order to implement brightness you must have working graphics drivers (QE/CI), and you must be using a laptop snb-platorm-id/ig-platform-id. Brightness controls are available only for internal LVDS displays.
为了调节亮度,你的显卡必须正常工作,开启了QE/CI硬件加速(有水波纹),你的显卡必须是笔记本平台,亮度调节只能对内建显示器有效。
DSDT patching for IntelBacklight.kext
Using normal methods for patching DSDT: [Guide] Patching LAPTOP DSDT/SSDTs
The patches are available here: https://github.com/RehabMan/Laptop-DSDT-Patch
Apply: "Brightness Fix”.
为了使 IntelBacklight.kext 正常工作,
给DSDT打补丁 "Brightness Fix"
[注意不是"Brightness Fix(ACPI100)”,不是"Brightness Fix(Haswell/Broadwell)”,也不是"Brightness Fix(HD3000/HD4000)”]
不会打补丁的童鞋建议仔细研读daxuexinsheng大大的帖子[教程]
[授权翻译] 使用补丁修改DSDT/SSDT [DSDT/SSDT综合教程]
http://bbs.pcbeta.com/viewthread-1571455-1-1.html
Note: "Brightness Fix" can be applied to an SSDT if you wish. Unlike the patches specifically for ACPIBacklight.kext, it does not matter. Apply it to only one file though.
"Brightness Fix" 补丁可以打入任何 SSDT 或者 DSDT(推荐)里,打好补丁的 DSDT/SSDT 要放入引导分区 EFI / Clover / ACPI / patched 里(完美黑苹果必备)。
Now install IntelBacklight.kext.
安装 IntelBacklight.kext ,记得修复权限/重建缓存;最好将 IntelBacklight.kext 多放一份到 引导分区 ” EFI / Clover / kexts / 系统版本号文件夹“ 里(若 FackSMC.kext 没有安装到S/L/E下,Clover启动时缓存里没侦测到 FackSMC.kext,则会加载此文件夹里的kext)。
It is available here: https://github.com/RehabMan/OS-X-Intel-Backlight
下载地址是: https://github.com/RehabMan/OS-X-Intel-Backlight
https://bitbucket.org/RehabMan/os-x-intel-backlight/downloads
Reboot and test. If it works, you do not have to worry about ACPIBacklight.kext and the more complex patches. For most laptops with integrated Intel graphics hardware, it will work (in fact, it will work in any computer where the conventional ACPIBacklight.kext method discussed below works).
重启测试,如果可以正常调节屏幕亮度,完全不用安装 ACPIBacklight.kext 和各种亮度调节补丁;可以适用于大部分Intel内置显卡(事实上,这种方法适用于之前ACPIBacklight.kext能够调节亮度的所有笔记本)。
好了,方法介绍完了,不保证所有的电脑都适用哦,我的是成功了。
(如果不行,请参考daxuexinsheng大大的帖子折腾 ACPIBacklight ,或者结合两种方法(最好是打完 "Rename GFX0 to IGPU” 补丁之后再重启试试,具体方法参考daxuexinsheng大大的帖子 http://bbs.pcbeta.com/viewthread-1571456-1-1.html ,欢迎反馈。)
最后,共享两个补丁源作为福利:
RehabMan 大神的补丁源:http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
daxuexinsheng 大神的补丁源:派奇 http://raw.github.com/Yuki-Judai/dxxs-DSDT-Patch/master
[教程][授权翻译] 给DSDT/SSDT打补丁,实现笔记本亮度调节
http://bbs.pcbeta.com/viewthread-1571456-1-1.html
满怀希望的尝试,结果仍然失望,滑块还是没出现,更何况调节亮度了;有点懊恼,不过还是要继续奋斗;为了寻找另一种方法,获取更多信息,看看国外大神们是怎么解决这个问题的;还好daxuexinsheng大大保留了翻译的原网址,是 RehabMan 大神的文章:Patching DSDT/SSDT for LAPTOP backlight control
http://www.tonymacx86.com/el-capitan-laptop-support/152659-guide-patching-dsdt-ssdt-laptop-backlight-control.html
一读之下大吃一惊,原来还有第二种方法可以实现HD4600的亮度调节,而这部分内容daxuexinsheng大大没有翻译,可能是原作者后来添加的,于是按照大神的方法试验,重启开机,激动人心的时刻到来了,屏幕自动变暗,不再是最大亮度了(再也不用shades了,谢谢陪伴,花了6块钱),重启之后亮度值也没有被还原,并且键盘调节亮度快捷键默认可用(需在“系统偏好设置->键盘->快捷键->显示器” 里设置快捷键 ;默认是F14和F15,建议设置成F8和F9 )。
鉴于论坛上暂时没有详细说明这个方法的帖子,下面说说我是怎么做到的,给大家一个参考,使用传统方法不能调节亮度的童鞋可以试试,操作步骤相当简单:
1.DSDT 打补丁 "Brightness Fix”
2.使用 Kext Wizard 安装 IntelBacklight.kext ,同时修复权限/重建缓存
3.重启
就这么简单?
事实就是如此,想想之前改 DSDT 被虐的……
不过要实现亮度调节,必须先成功驱动显卡,开启了 QE/CI 硬件加速(也就是有传说中的水波纹);显卡所在SSDT注入了显卡相关的代码 snb-platorm-id/ig-platform-id ,以我的显卡 HD4600 为例见下图:
简单的说,只要实现了水波纹,就满足了成功的条件。
下面让我们来看看RehabMan大大是怎么说的,简单的翻译一下:
Note: This guide is primarily for Intel HD graphics (HD3000->HD5000+). Although some of the kexts and patches mentioned here can
be used in other scenarios, that is not the focus of this post.
理论上适用于 Intel HD3000->HD5000+
By default, your non-Apple DSDT does not have the necessary trigger to cause AppleBacklight.kext to load. Although it is easy to make
it load by adding a PNLF device (aka "Brightness Fix" from my laptop repo), it will likely not work correctly. It may not work at all prior to sleep, and even after sleep the full range of brightness will not be available. This is becuase AppleBacklight.kext only has profiles for panels that appear in actual Apple products and there can be PWM registers that are not initialized by BIOS as OS X expects.
默认情况下,非苹果设备的 DSDT 不会加载 AppleBacklight.kext(内建显示器那里没有调节滑块),但要加载很容易,只需要添加一个 PNLP 设备ID(作者的 "Brightness Fix"补丁);但是只是加载 AppleBacklight.kext 的话,屏幕亮度调节并不能完美工作,必须要先休眠之后才能调节亮度,因为苹果电脑是靠硬件模块调节亮度的,而普通电脑没有这个模块。
A slightly modified DSDT patch can correct for the problem before sleep, and the issue of full range can be fixed by patching AppleBacklight.kext (or providing an injector kext that does the same thing), or by patching EDID. But still, smooth transitions when using keyboard controls will not work (reason not known).
稍微修改下 DSDT 可以解决休眠之前不能调节亮度的问题,可以给 AppleBacklight.kext 打补丁(用 Clover 注入内核效果一样),或者给 EDID 打补丁;但是不能用键盘平滑的调节亮度(原因不知道)。
A complete solution to the problem can be achieved with ACPIBacklight.kext and a more complex DSDT patch.
完全解决这个问题可以通过 ACPIBacklight.kext 和复杂的 DSDT 补丁实现。
In addition, a second method using the standard PNLF patch ("Brightness Fix") can be used. That method uses a different kext, IntelBacklight.kext instead of ACPIBacklight.kext. That method will be discussed first, followed by ACPIBacklight.kext. ACPIBacklight.kext is a bit more flexible as it can be used in scenarios where IntelBacklight.kext does not work.
除此之外,第二种方法是使用标准的 PNLF 补丁 ( "Brightness Fix" ),这种方法使用一个不同的 kext < IntelBacklight.kext > ,这种方法是首选;至于 ACPIBlacklight.kext,灵活的使用它,如果 IntelBacklight.kext 不能正常工作。
In order to implement brightness you must have working graphics drivers (QE/CI), and you must be using a laptop snb-platorm-id/ig-platform-id. Brightness controls are available only for internal LVDS displays.
为了调节亮度,你的显卡必须正常工作,开启了QE/CI硬件加速(有水波纹),你的显卡必须是笔记本平台,亮度调节只能对内建显示器有效。
DSDT patching for IntelBacklight.kext
Using normal methods for patching DSDT: [Guide] Patching LAPTOP DSDT/SSDTs
The patches are available here: https://github.com/RehabMan/Laptop-DSDT-Patch
Apply: "Brightness Fix”.
为了使 IntelBacklight.kext 正常工作,
给DSDT打补丁 "Brightness Fix"
[注意不是"Brightness Fix(ACPI100)”,不是"Brightness Fix(Haswell/Broadwell)”,也不是"Brightness Fix(HD3000/HD4000)”]
不会打补丁的童鞋建议仔细研读daxuexinsheng大大的帖子[教程]
[授权翻译] 使用补丁修改DSDT/SSDT [DSDT/SSDT综合教程]
http://bbs.pcbeta.com/viewthread-1571455-1-1.html
Note: "Brightness Fix" can be applied to an SSDT if you wish. Unlike the patches specifically for ACPIBacklight.kext, it does not matter. Apply it to only one file though.
"Brightness Fix" 补丁可以打入任何 SSDT 或者 DSDT(推荐)里,打好补丁的 DSDT/SSDT 要放入引导分区 EFI / Clover / ACPI / patched 里(完美黑苹果必备)。
Now install IntelBacklight.kext.
安装 IntelBacklight.kext ,记得修复权限/重建缓存;最好将 IntelBacklight.kext 多放一份到 引导分区 ” EFI / Clover / kexts / 系统版本号文件夹“ 里(若 FackSMC.kext 没有安装到S/L/E下,Clover启动时缓存里没侦测到 FackSMC.kext,则会加载此文件夹里的kext)。
It is available here: https://github.com/RehabMan/OS-X-Intel-Backlight
下载地址是: https://github.com/RehabMan/OS-X-Intel-Backlight
https://bitbucket.org/RehabMan/os-x-intel-backlight/downloads
Reboot and test. If it works, you do not have to worry about ACPIBacklight.kext and the more complex patches. For most laptops with integrated Intel graphics hardware, it will work (in fact, it will work in any computer where the conventional ACPIBacklight.kext method discussed below works).
重启测试,如果可以正常调节屏幕亮度,完全不用安装 ACPIBacklight.kext 和各种亮度调节补丁;可以适用于大部分Intel内置显卡(事实上,这种方法适用于之前ACPIBacklight.kext能够调节亮度的所有笔记本)。
好了,方法介绍完了,不保证所有的电脑都适用哦,我的是成功了。
(如果不行,请参考daxuexinsheng大大的帖子折腾 ACPIBacklight ,或者结合两种方法(最好是打完 "Rename GFX0 to IGPU” 补丁之后再重启试试,具体方法参考daxuexinsheng大大的帖子 http://bbs.pcbeta.com/viewthread-1571456-1-1.html ,欢迎反馈。)
最后,共享两个补丁源作为福利:
RehabMan 大神的补丁源:http://raw.github.com/RehabMan/Laptop-DSDT-Patch/master
daxuexinsheng 大神的补丁源:派奇 http://raw.github.com/Yuki-Judai/dxxs-DSDT-Patch/master
评论
发表评论