[Guide] How to Enable Backlight Control on Laptop



EliteMacx86

Administrator
Staff member
With a laptop, backlight control is necessary to make it suitable for the user and to save the battery when using it up. Depending on the user, some may require to have a full backlight and some may want to have a medium or low backlight level.

We all know that ACPIBacklight.kext or IntelBacklight.kext were used to serve this purpose. But with the release of Sierra 10.12.4 update, these methods were broken and don't work any longer. So a new method has been introduced, called AppleBacklightInjector.

Once again, a great contribution from RehabMan for introducing AppleBacklightInjector.

This will enable backlight on laptops. This guide provides files and instructions for enabling native macOS Backlight. This guide uses AppleBacklightInjector by RehabMan which is one of the easiest method to enable native backlight. There are several other methods but this seems more reliable. If you follow any other method and unfortunately the audio doesn't works, it can be difficult to roll-back in order to follow the another method. This method is easy to roll-back and works after update. Before using this guide, we recommend you to perform a clean installation of macOS.

The method is supported on the following.

Graphics:
  • Intel HD Graphics
  • Intel UHD Graphics

Chipsets :
  • Arrandale
  • Sandy Bridge
  • Ivy Bridge
  • Haswell
  • Broadwell
  • Skylake
  • Kaby Lake
  • Coffee Lake
macOS versions:
  • Supports macOS 10.12.4 and later

Method 1
This guide uses three components to work with the conjunction in order to enable backlight. The three components are listed below.
  • SSDT-PNLF.aml
  • AppleBacklightInjector.kext
  • A patch for AppleBacklight

Preparing the tools and kext
The very first step is to prepare the tools and kext for the guide. For this guide, we'll use RehabMan's files and kexts.
Before starting, make sure you have installed iasl as per the DSDT and SSDT patching guide:
Also you'll need the Xcode command line tools. If not, you use "git" to acquire the command lines tools using terminal.
Open Terminal
Type:
Code:
git
When promoted, accept to download and install the tools.

After getting the tools, you can use it to obtain various github content.
Create a Projects directory. This is the place where the files will be downloaded and builded.
Code:
mkdir ~/Projects
cd ~/Projects
This will create the Projects directory in your username
Cloning the RehabMan's ProBook repository
Code:
cd ~/Projects
git clone https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch probook.git
Cloning the RehabMan's config.plist repository
Code:
cd ~/Projects
git clone https://github.com/RehabMan/OS-X-Clover-Laptop-Config.git guide.git
Building the SSDT-PNLF
Code:
cd ~/Projects/guide.git
make
This will build the SSDT-PNLF at ~/Projects/guide.git/build/SSDT-PNLF.aml.
AppleBacklightInjector.kext at ~/Projects/probook.git/kexts/AppleBacklightInjector.kext.
And the patch required for backlight in ~/Projects/guide/config_patches.plist.

Installation of the components
As mentioned above, this will use 3 different components to make the backlight work
SSDT-PNLF.aml in EFI/ACPI/Patched
AppleBacklightInjector.kext in L/E
A patch for AppleBacklight in config.plist in KernelAndKextPatches/KextsToPatch

Copy SSDT-PNLF from ~/Projects/guide.git/build/SSDT-PNLF.aml to : EFI/ACPI/Patched
Add the following patches from the config_patches.plist with the comment "change F%uT%04x to F%uTxxxx in AppleBacklightInjector.kext (credit RehabMan)". You can also directly add as shown below.

Code:
Name: com.apple.driver.AppleBacklight
Find* [HEX]: 462575542530347800
Replace* [HEX]: 462575547878787800
Comment: change F%uT%04x to F%uTxxxx in AppleBacklightInjector.kext (credit RehabMan)
Install AppleBacklightInjector.kext
To install the AppleBacklightInjector.kext, you can use terminal
Open Terminal
Type:
Code:
sudo cp -R ~/Projects/probook.git/kexts/AppleBacklightInjector.kext /Library/Extensions
When promoted, enter your password.
To rebuild caches, type:
Code:
sudo kextcache -i /
Restart your laptop.
You should have the backlight control.
This will also show a brightness slider in Preferences under Displays

Notes:
  • For the very first time, it will not work on the first restart. With all the above fixes and files, rebuild cache using:
Code:
sudo kextcache -i /
And then restart. It should be in action.

Method 2
This method is very easy and quick for enabling brightness control on Laptop. This guide uses two components to work with the conjunction in order to enable backlight. The two components are listed below.
  • SSDT-PNLF.aml
  • AppleBacklightFixup.kext
Downloads
  1. AppleBacklightFixup
Notes :
  • Download the latest version for better support.
  • Use the kext from the Release folder only.

Mounting the EFI Partition and placing kexts
1. Mount your EFI partition of your system drive
2. Copy SSDT-PNLF to EFI/ACPI/Patched
3. Copy AppleBacklightFixup.kext to Others

Notes: (For Both Methods)
  • If you've already patched your DSDT or SSDT with "Brightness fix", then you must remove it for this method to work. You'll also need to remove if you're using Clover's AddPNLF_1000000.
  • Make sure your graphics has been renamed to GFX0, VID to IGPU. See DSDT and SSDT patching guide: https://www.elitemacx86.com/threads/guide-how-to-patch-laptop-dsdt-and-ssdts.178/
  • If you're using SortedOrder in your config.plist, make sure that the SSDT-PNLF.aml is added and it should be loaded after all the OEM SSDTs.
  • Any other kexts such as IntelBacklight, ACPIBacklight must be removed from S/L/E or L/E or your EFI partition.
  • If you plan to use the second method, don't use AppleBacklightInjector.kext. The KextToPatch for AppleBacklightInjector must be removed.
4. Restart your laptop.

You should have the backlight control.
This will also show a brightness slider in Preferences under Displays


A Quick Note :
  • On some Laptops, AppleBacklightFixup method may not work. If you have such issues, use AppleBacklightInjector.

Brightness keys
After enabling the backlight control, your brightness will be controlled but the brightness hotkeys may not work. To fix this, follow the guide here: https://www.elitemacx86.com/threads/guide-how-to-remap-brightness-hotkeys-on-laptop.183/
 

mark

New member
I tried method 1 and 2, but it does not work.
Earlier i used the config.plist from GitHub, created for my laptop, but it has some graphics problems, so I am creating a new config.plist. This older config.plist has keyboard backlighting, and everything works, but my new config.plist does not support backlighting.
I think, i just need found some parameters in the old_config.plist, who are responsible for keyboard backlight, and i could write it for my new config.plist, it is true?
If i replace this configs, and start system, old_config running backlight, without some patches for .aml
 

Attachments

EliteMacx86

Administrator
Staff member
I tried method 1 and 2, but it does not work.
Earlier i used the config.plist from GitHub, created for my laptop, but it has some graphics problems, so I am creating a new config.plist. This older config.plist has keyboard backlighting, and everything works, but my new config.plist does not support backlighting.
I think, i just need found some parameters in the old_config.plist, who are responsible for keyboard backlight, and i could write it for my new config.plist, it is true?
If i replace this configs, and start system, old_config running backlight, without some patches for .aml
A config.plist does not control brightness. No PR files attached.
Also, the config.plist is not as per the guide.
 

EliteMacx86

Administrator
Staff member
Attached. I get if from RehabMan GitHub, he said get it.
The config.plist is not upto the mark. The ACPI is not patched properly. You should follow the installation guide and use config.plist from Rehabman's config. As mentioned in the Backlight guide, you must use only one method, NOT both. Your files proves that both the methods are being used at the same time which is conflicting. You cannot expect it to work. A patch is there in DSDT which should be removed too. That patch should be used in KextsToPatch section of your config.plist
Also, you've installed duplicates kexts in L/E and the same kexts exists in Clover/Kexts/Others which is wrong. Either install all to L/E or to Clover/kexts/Others
 

mark

New member
Hello again. Today I tried to turn on the keyboard backlight all day, but nothing came of it. I decided to use the old Dsdt generated for my laptop, with which the old config worked. I copied all the dsdt patches into the new config, and the backlight is expected to work. But there was an old problem associated with the display of graphics. I have a bad understanding of hakintosh, this is my first time. I tried to copy these dsdt patches one by one, so that using the exception method make the keyboard work with the new config, but without success. I want to understand which of these patches makes the keyboard work, can you help with this? Sorry for my English.
 

Attachments

EliteMacx86

Administrator
Staff member
Hello again. Today I tried to turn on the keyboard backlight all day, but nothing came of it. I decided to use the old Dsdt generated for my laptop, with which the old config worked. I copied all the dsdt patches into the new config, and the backlight is expected to work. But there was an old problem associated with the display of graphics. I have a bad understanding of hakintosh, this is my first time. I tried to copy these dsdt patches one by one, so that using the exception method make the keyboard work with the new config, but without success. I want to understand which of these patches makes the keyboard work, can you help with this? Sorry for my English.
As per your IOReg, the backlight display is working. For the Keyboard backlight, there are some specific patches for ASUS. Also, i suggest you to use your own DSDT and SSDTs as per the ACPI patching guide.
 

mark

New member
As per your IOReg, the backlight display is working. For the Keyboard backlight, there are some specific patches for ASUS. Also, i suggest you to use your own DSDT and SSDTs as per the ACPI patching guide.
Yes, it works, because I used the old configuration with DSDT patches in this configuration. When I use the new configuration, the keyboard backlight does not work, in PR My non-working config, and I asked, perhaps, to understand which DSDT patch is responsible for the keyboard backlight? And I can just copy it or something.
 

Attachments

EliteMacx86

Administrator
Staff member
Yes, it works, because I used the old configuration with DSDT patches in this configuration. When I use the new configuration, the keyboard backlight does not work, in PR My non-working config, and I asked, perhaps, to understand which DSDT patch is responsible for the keyboard backlight? And I can just copy it or something.
Well, i personally don't have any Laptops with a Keyboard backlight. But the patch is from EmilyDinesh. Search for it. Google is your best friend :)
 

Similar threads



Top