Contribute
Register

Native Brightness working without 'blinkscreen' using patched AppleBacklight.kext

Status
Not open for further replies.

RehabMan

Moderator
Joined
May 2, 2012
Messages
181,111
Motherboard
Intel DH67BL
CPU
i7-2600K
Graphics
HD 3000
Mac
  1. MacBook Air
Mobile Phone
  1. iOS
I've been doing some research on Haswell Intel graphics/backlight and I ran across a couple of things:

- information on AppleBacklight.kext: http://www.insanelymac.com/forum/to...ple-and-i-dont-need-genericbrightness-at-all/

AND

- some documentation on Intel graphics registers: https://01.org/linuxgraphics/documentation/driver-documentation-prms

Based on what we know from this thread, http://www.tonymacx86.com/hp-probook-mavericks/118805-full-range-brightness-using-acpibacklight.html, I decided to see if I could get brightness working correctly with the native kext.

The result is some new patches at my patch repo for the ProBook: https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch and a patch script for AppleBacklight.kext (attached).

To test/use...

Patch your DSDT:
- Apply "Native backlight fix" from the ProBook repo to your DSDT (https://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch, this MaciASL repo added to Sources: http://github.com/RehabMan/HP-ProBook-4x30s-DSDT-Patch/raw/master)

Remove blinkscreen:
- sudo rm /Library/LaunchAgents/org.rehabman.blinkscreen.plist

Reboot.
Create patched AppleBacklight and AppleBacklightInjector:
- unzip the PatchAppleBacklight.zip into a directory.
- make a subdirectory there called 'vanilla'
- copy unpatched AppleBacklight.kext to the 'vanilla' directory
- run the script, ./patch.sh
Code:
# for example, in Terminal
cd ~/Downloads/PatchAppleBacklight
./patch.sh
- it will create a patched/AppleBacklight.kext which contains the correct data for your display

Install the resulting AppleBacklight.kext (or AppleBacklightInjector.kext) using Kext Wizard. Remove ACPIBacklight.kext if you were using that previously. Repair permissions (because my script is lazy), rebuild cache.

Reboot and test. Provide feedback here.

Note: There is no gradual transitions with this technique. I don't know the secret to enable it yet.

Note: The sub-levels below the lowest level do not work. Just like my MacBookAir6,2... so this is Apple's bug.

Note: Even though the plist file is 4x40s_Backlight.plist pay no attention. The 4530s uses the same data with this technique (because we are adopting OS X range 0-0x710)

Note: This is likely applicable to any laptop with HD3000 or HD4000.

Update

Uploaded PatchAppleBacklight_v2.zip. This version has kpkp's modified data and the script creates both a patched kext and an 'injector' kext. The AppleBacklightInjector.kext can be installed alongside vanilla AppleBacklight.kext. The injector is more update-proof. Please provide feedback on whether the injector causes any other issues/errors/warnings/logs...
 

Attachments

  • PatchAppleBacklight.zip
    1.6 KB · Views: 3,330
  • PatchAppleBacklight_v2.zip
    1.8 KB · Views: 6,332
This is Great! works better than ACPIBacklight that was causing me some lag and troubles in the startup, i remove it and try this... Thank You RehabMan! you are the MAN!
 
where can i download unpatched AppleBacklight.kext?
 
where can i download unpatched AppleBacklight.kext?

You don't download it. You have it in /System/Library/Extensions.
 
RehabMan Thank you. Use patches 13_Brightness.txt - 12a_4x30s_BCL.txt. Fix AppleBacklight.kext, remove acpibacklight.kext?
 
RehabMan Thank you. Use patches 13_Brightness.txt - 12a_4x30s_BCL.txt. Fix AppleBacklight.kext, remove acpibacklight.kext?

No. The 12_* patches are not involved. Complete instructions are in post #1.
 
RehabMan
for me best with AppleBacklight.kest Because Native Brightness i can't make more Brightness down i like with kest i'm happy.
 
this backlight control method works very well, better than other method.

offtopic: there are some updates on fakesmc repository done by kozlek. I'm using the kext provided directly in his repository but seems like there are some other modifications that you've done to that kext because in his "genuine" version there are some wrong values displayed and the fan speed is not detected. Could you please sync your repo when you have time for it :D
 
Thanks RehabMan! The brightness range on this one is better than on ACPIBacklight method but the lack of smooth gradual change... I got used to it already. I think I'm going back.
 
This gives a big range of brightness selections, but my display can't handle the lowest brightness, it starts flickering in a "scary" way. It seems the LEDs can't handle such a low voltage and start turning off and on...

On one side I like this more vanilla approach but on the other side I like the fine-tuning that the ACPI kexts enables and the smooth transactions makes if feel more vanilla then current vanilla, undecided.
 
Status
Not open for further replies.
Back
Top