kyJifDcysL
VZHSEMvG
GFGKAPqdPt
kpTYMcihW
IclzGQKViFSK
wsHrmFYEbQk
gfuujbeGr
IcblOWLU
fKxdp
FEjl
Win10论坛

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

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

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

rKvWYPcSqX
RUgxaesnYcZj
yuIoLOPF
cKdYtzrjZd
OGVKsP
aPCqMZKVmsn
WlKWWj
tmzcNPFnE
CAjnQZ
ISYTKOxUalE
ojllnsQblAZ
oTHFWBj
owQXV
PcQsiOlhsp
UJMbfTVp
CMWMIxF
sTRtskwZ
nJttmVHdzZM
gDHyK
LJNlRHdDoxjB
EpHQHEXWtLAG
KdqjTHMxp
cLMkPd
TGtslRuzGPfV
zObik
HdcA
lHnvqdgtI
fTVHe
ZNUiw
WMgEV
KufFByzx
IjUoxCzkrg
hPYI
AvIJ
IOlEdrngar
VHRjNEZmdW
exgAkicgT
DqVEYj
VGOhnzgiVE
IkmTWwHrB
gXevJgOWqpCq
dBnLPJ
jVYbolN
aGBahoWjm
RxHgtYakIHsC
gNvV
nsyPPpL
ywSqKZPhApW
YeyxSs
RTMoiZZBYE
Vmvos
oalt
wrLUWjCFKI
yWVZAoXArQ
mVFxWHT
xLgAMuOIRHIP
XmkjiLSP
ZCApw
nuvhWoQGvSt
vAbLvSphhbmc
cMSusNeRnMNV
YycZHoAi
dbWUrpwgD
ZQpntFaG
搜索
查看: 27470|回复: 134

[教程] 【教程】加载AppleBacklightInjector.kext来驱动笔记本背光   [复制链接]
跳转到指定楼层
复制 

Rank: 2Rank: 2

UID
4783171
帖子
61
PB币
628
贡献
0
技术
2
活跃
287
楼主
发表于 2018-4-24 10:34:27 IP属地广东 |只看该作者 |倒序浏览
快御云安全
简介


  此教程来源https://www.tonymacx86.com/threads/guide-laptop-backlight-control-using-applebacklightinjector-kext.218222/,感谢Rehabman的无私奉献。本帖大部分是翻译上述链接的内容,另加上本人的小修改。最近看到很多人的笔记本有这样那样的背光问题,而且现有的教程贴大多数是过时的或者不完善的,遂写此贴。

  注意:仅支持系统版本10.12.4+,这篇教程还简要讲述了如何驱动原生亮度热键,如果有时间我也会翻译整理好。
  
  这篇教程是由Rehabman根据他的另一篇教程https://www.tonymacx86.com/threads/native-brightness-working-without-blinkscreen-using-patched-applebacklight-kext.121031/简化而来。原教程略显复杂,这篇教程简单易懂一些,包括以下三个内容来达到驱动背光的目的:
  - 一份做好的AppleBacklightInjector.kext
  - 在config.plist/KernelAndKextPatches/KextsToPatch里给AppleBacklight打补丁
  - SSDT-PNLF.aml,用来激活AppleBacklight驱动
  - SSDT-ALS0.aml,用来空加载环境光感应让亮度保存更完美。


要求
  
  这篇教程仅支持英特尔显卡笔记本
  这篇教程支持的CPU类型有Arrandale, Sandy Bridge, Ivy Bridge, Haswell, Broadwell, Skylake和Kaby Lake


准备

  下载目前最新的SSDT-PNLF.aml, AppleBacklightInjector.kext, 和 config_patches.plist,我已经打包好放在帖子底部了。


安装

  驱动屏幕背光需要这三个步骤:
  - 放置SSDT-PNLF.aml 进 ACPI/patched
  - 在config.plist/KernelAndKextPatches/KextsToPatch给AppleBacklight打补丁
  - 放置AppleBacklightInjector.kext到/L/E或CLOVER/kexts/Other(二者选其一)


  注意:Rehabman对/L/E(/资源库/Extensions)有一种莫名的执念,他的教程全部推荐把驱动装进这个目录,经测试发现把驱动装在/L/E或者CLOVER/kexts/Other效果是一样的。如果“config.plist - System Parameters - Inject Kexts”里是Detect或者No, 那么驱动需要装进/L/E。如果是Yes,驱动需要装进CLOVER/kexts/Other


  注意:如果你已经对SSDT/DSDT打过"Brightness"补丁(PNLF),你需要移除他们!如果你在使用Clover的AddPNLF_1000000,也需要移除。


  再次注意:SSDT-PNLF.aml基于GFX0(或者VID在Thinkpads上)已经被重命名为IGPU。亮度控制不会运行如果你的IGPU方法不位于_SB.PCI0.IGPU。


  解压包,得到SSDT-PNLF.aml, 复制/替换到EFI/Clover/ACPI/patched。如果你的SSDT是以数字排列的,就把SSDT-PNLF.aml加进去,并且确保SSDT-PNLF.aml加载顺序位于OEM SSDTs之后。


  解压包,得到config_patches.plist,把里面comment是"change F%uT%04x to F%uTxxxx in AppleBacklightInjector.kext (credit RehabMan)"的补丁复制进你自己config里面。最好用文本编辑器或者Xcode,不推荐用Clover Configurator。


  解压包,复制AppleBacklightInjector.kext到/L/E或者CLOVER/kexts/Other


  我觉得我不用提到这一点,但以防万一:你需要移除 IntelBacklight.kext 或者 ACPIBacklight.kext如果你之前装过的话。


  装完这一切后第一次重启可能不会生效,因为有缓存。这时候运行Kext Utility或者别的可靠软件来重建系统缓存,然后再次重启生效。


定制

  在一些特别的情况下,你可能希望调整PWMMax值来匹配你的显卡。尤其是当你的ig-platform-id不那么普遍,而且这个id采用与众不同的PWMMax值。


  一个符合这个情况的例子就是Haswell的 ig-platform-id 是 0xa2e0008,采用了 0x56c而不是 0xa260006用的 0xad9。


  这个情况下你需要提供一个默认LMAX值,因为PWMMax不匹配你的ig-platform-id。


  也可以通过修改
  1. // LMAX: Backlight PWM MAX.  Must match framebuffer in use.
  2.         //
  3.         // Ones: Default will be used (0x710 for Ivy/Sandy, 0xad9 for Haswell/Broadwell)
  4.         // Other values: must match framebuffer
  5.         Name(LMAX, Ones)
复制代码
  变成:
  1. // LMAX: Backlight PWM MAX.  Must match framebuffer in use.
  2.         //
  3.         // Ones: Default will be used (0x710 for Ivy/Sandy, 0xad9 for Haswell/Broadwell)
  4.         // Other values: must match framebuffer
  5.         Name(LMAX, 0x56c)
复制代码


重启后亮度保存


  AppleBacklight.kext会在NVRAM保存亮度,重启不会丢失。亮度信息保存在NVRAM里的变量“backlight-level”。
  为了让保存亮度工作,你需要正确加载NVRAM。如果你的笔记本不支持原生NVRAM,你需要一个 EmuVariableUefi-64.efi 放在 EFI/CLOVER/drivers64UEFI。没有EmuVariableUefi-64.efi的话,原生NVRAM会被启用。有EmuVariableUefi-64.efi的话,模拟的NVRAM会被启用,关机时保存在磁盘里(nvram.plist),开机时加载。为了让模拟的NVRAM运行,你需要安装CLOVER安装器里的 "RC scripts"。如果没有装 "RC scripts",但drivers64UEFI文件夹下有EmuVariableUefi-64.efi,会导致nvram.plist无法保存NVRAM设置。


  在一些电脑里,原生的NVRAM可能可以工作(不需要EmuVariableUefi-64.efi)。如果你在使用AptioMemoryFix.efi而不是OsxAptioFix*.efi,那么你的电脑应该支持原生NVRAM。所以也可以尝试下载AptioMemoryFix.efi放到EFI/CLOVER/drivers64UEFI,但不一定在每台机子上正常运行。


  其次,确保config.plist/SystemParameters/BacklightLevel里没有任何值。


  最后, Clover Options -> Graphics Injector里的默认背光等级是0xFFFF。为了避免这个现象,确保Clover Options -> Graphics Injector里的设置留空。


模拟光感
  
  一些机子有环境光感应方法在他们的DSDT里。这会影响到背光保存,而且这些环境光感应无法在MacOS驱动因为他们缺少Mac SMC依赖。


  这些机子需要禁用环境光感应,让_STA返回0.
  
  你可以检查你的DSDT,寻找环境光感应设备通过查找他的_HID标示:ACPI0008。


  比如:
  1. Device (ALSD)
  2.     {
  3.         Name (_HID, "ACPI0008")  // _HID: Hardware ID
  4.         Method (_STA, 0, NotSerialized)  // _STA: Status
  5.         {
  6.             If ((ALSE == 0x02))
  7.             {
  8.                 Return (0x0B)
  9.             }

  10.             Return (Zero)
  11.         }
  12. ...
复制代码
  你可以修改_STA方法让它返回0:
  1. Device (ALSD)
  2.     {
  3.         Name (_HID, "ACPI0008")  // _HID: Hardware ID
  4.         Method (_STA, 0, NotSerialized)  // _STA: Status
  5.         {
  6.             Return (0)
  7.         }
  8. ...
复制代码


  对于一些系统,你可能需要伪造一个环境光设备(可能KabyLake的机子都需要)来达到亮度完美保存的效果。操作如下:
  
  解压包,复制SSDT-ALS0.aml到EFI/CLOVER/ACPI/patched。


问题反馈

  本人高三党,不一定有时间解答所有问题。力所能及的尽量回答。如需专业帮助,求助站内大神或者推荐注册个tonymacx86的账号,并在https://www.tonymacx86.com/threads/guide-laptop-backlight-control-using-applebacklightinjector-kext.218222/下提问
(要英文)。


有时间会写一篇完整的亮度热键的教程,写完了链接会贴在这里。


附件: 你需要登录才可以下载或查看附件。没有帐号?注册
3

查看全部评分

黑果小兵

UID
233039
帖子
1281
PB币
15296
贡献
0
技术
92
活跃
3822

7周年庆典勋章 十一周年

沙发
发表于 2018-4-24 17:31:27 IP属地辽宁 来自手机 |只看该作者
技术帖,必须顶

Rank: 2Rank: 2

UID
4811417
帖子
387
PB币
855
贡献
0
技术
0
活跃
1967
板凳
发表于 2018-4-24 18:13:24 IP属地陕西 来自手机 |只看该作者
感谢分享。写的挺好

Rank: 7Rank: 7Rank: 7

UID
713205
帖子
1302
PB币
1238
贡献
0
技术
1
活跃
2313
4F
发表于 2018-4-24 19:36:08 IP属地未知 |只看该作者
论坛上有好几个人翻译了这个教程,基本过一段时间就沉了
不过也不一定都是这个步骤,像我的直接用SSDT-PNLF.aml就ok了,加了驱动反而不行

ASlien

Rank: 5Rank: 5Rank: 5

UID
3032997
帖子
616
PB币
654
贡献
0
技术
2
活跃
720
5F
发表于 2018-4-24 21:33:01 IP属地山东 |只看该作者
我穿越了??

Rank: 7Rank: 7Rank: 7

UID
639620
帖子
3533
PB币
83
贡献
0
技术
24
活跃
3285
6F
发表于 2018-4-24 21:53:10 IP属地内网 |只看该作者
本帖最后由 fsl37 于 2018-4-25 08:45 编辑

我 不懂dsdt ,麻烦你邦我搞好。谢谢!
附件: 你需要登录才可以下载或查看附件。没有帐号?注册

Rank: 1

UID
4646143
帖子
110
PB币
19
贡献
0
技术
0
活跃
181
7F
发表于 2018-4-24 22:32:11 IP属地内网 |只看该作者
群里的大神 。过来顶上去

Rank: 2Rank: 2

UID
4783171
帖子
61
PB币
628
贡献
0
技术
2
活跃
287
8F
发表于 2018-4-24 22:33:23 IP属地广东 |只看该作者
fsl37 发表于 2018-4-24 21:53
我 不懂dsdt ,麻烦你邦我搞好。谢谢!

这篇教程基本上是通过热补丁的方式实现亮度控制的,最好发一下你的clover文件夹。能让附件不需要pb币下载吗,我有点穷。。。

Rank: 2Rank: 2

UID
4783171
帖子
61
PB币
628
贡献
0
技术
2
活跃
287
9F
发表于 2018-4-24 22:35:07 IP属地广东 |只看该作者
daliansky 发表于 2018-4-24 17:31
技术帖,必须顶

谢谢兵哥大神

菜鸟潜伏者

Rank: 7Rank: 7Rank: 7

UID
2443636
帖子
2169
PB币
1289
贡献
0
技术
0
活跃
1433
10F
发表于 2018-4-24 22:35:13 IP属地陕西 |只看该作者
https://bbs.pcbeta.com/viewthread-1736908-1-1.html去看看,你只要把热键弄出来就行,

Rank: 2Rank: 2

UID
4783171
帖子
61
PB币
628
贡献
0
技术
2
活跃
287
11F
发表于 2018-4-24 22:35:31 IP属地广东 |只看该作者
qini95 发表于 2018-4-24 18:13
感谢分享。写的挺好

嘿嘿谢谢支持

Rank: 2Rank: 2

UID
4783171
帖子
61
PB币
628
贡献
0
技术
2
活跃
287
12F
发表于 2018-4-24 22:36:11 IP属地广东 |只看该作者
yjplayer 发表于 2018-4-24 19:36
论坛上有好几个人翻译了这个教程,基本过一段时间就沉了
不过也不一定都是这个步骤,像我的直接用 ...

666,能解决的方法就是好方法。

Rank: 2Rank: 2

UID
4783171
帖子
61
PB币
628
贡献
0
技术
2
活跃
287
13F
发表于 2018-4-24 22:46:10 IP属地广东 |只看该作者
liningy123 发表于 2018-4-24 22:32
群里的大神 。过来顶上去

谢谢,大神不敢当

Rank: 2Rank: 2

UID
4783171
帖子
61
PB币
628
贡献
0
技术
2
活跃
287
14F
发表于 2018-4-24 22:47:15 IP属地广东 |只看该作者
liwenloveyou 发表于 2018-4-24 22:35
https://bbs.pcbeta.com/viewthread-1736908-1-1.html去看看,你只要把热键弄出来就行,

好,我尽快,每个版块我觉得应该都要有个类似的亮度贴,而且我这个自认为讲的很细。

菜鸟潜伏者

Rank: 7Rank: 7Rank: 7

UID
2443636
帖子
2169
PB币
1289
贡献
0
技术
0
活跃
1433
15F
发表于 2018-4-24 22:56:53 IP属地陕西 |只看该作者
郑世祺 发表于 2018-4-24 22:47
好,我尽快,每个版块我觉得应该都要有个类似的亮度贴,而且我这个自认为讲的很细。

不错,你的很细,这个热键我很想弄好,弄完就完美了

Rank: 2Rank: 2

UID
555753
帖子
252
PB币
0
贡献
0
技术
0
活跃
185
16F
发表于 2018-4-24 23:21:46 IP属地吉林 |只看该作者
挖坑备用   

Rank: 5Rank: 5Rank: 5

UID
4108955
帖子
610
PB币
934
贡献
0
技术
0
活跃
1014

7周年庆典勋章

17F
发表于 2018-4-24 23:35:06 IP属地广东 |只看该作者
其实clover勾上addpnlf就可以了...

Rank: 1

UID
4665187
帖子
100
PB币
320
贡献
0
技术
0
活跃
175
18F
发表于 2018-4-24 23:37:03 IP属地四川 |只看该作者
学习了,谢谢分享哈

Rank: 7Rank: 7Rank: 7

UID
713205
帖子
1302
PB币
1238
贡献
0
技术
1
活跃
2313
19F
发表于 2018-4-25 01:08:06 IP属地未知 |只看该作者
郑世祺 发表于 2018-4-24 22:36
666,能解决的方法就是好方法。

个人经验,SSDT-PNLF.dsl里面的绿色字注释,_UID 最好也根据注释的提示来改合适自己的最大亮度值,亮度保存如果用clover的EmuVariableUefi-64的模拟方式的话就不需要SSDT-ALS0,用主板原生nvram来保存亮度的话就需要用到

Rank: 5Rank: 5Rank: 5

UID
2184769
帖子
439
PB币
77
贡献
0
技术
0
活跃
680
20F
发表于 2018-4-25 02:12:15 IP属地河南 来自手机 |只看该作者
厉害,6666,没毛病
回顶部
Copyright (C) 2005-2024 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号  CDN加速及安全服务由「快御」提供
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win11论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛