Contribute
Register

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

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,692
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
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/topic/293500-i-found-the-brightnesss-working-principle-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

Joined
Oct 30, 2013
Messages
28
Motherboard
Hp ProBook 4530s
CPU
i3 2350m
Graphics
Intel HD3000
Mac
Classic Mac
Mobile Phone
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!
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,692
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
where can i download unpatched AppleBacklight.kext?
You don't download it. You have it in /System/Library/Extensions.
 
Joined
Jul 7, 2011
Messages
92
Motherboard
HP ProBook 4530s
CPU
2350m
Graphics
hd3000
Mac
Classic Mac
Mobile Phone
iOS
RehabMan Thank you. Use patches 13_Brightness.txt - 12a_4x30s_BCL.txt. Fix AppleBacklight.kext, remove acpibacklight.kext?
 

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,692
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
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.
 
Joined
Sep 27, 2012
Messages
100
Motherboard
hp probook 4540 s
CPU
i7-3632QM
Graphics
Intel HD 4000
Mac
MacBook Pro
Classic Mac
Mobile Phone
iOS
RehabMan
for me best with AppleBacklight.kest Because Native Brightness i can't make more Brightness down i like with kest i'm happy.
 

pwd

Joined
Oct 10, 2013
Messages
21
Mac
Classic Mac
Mobile Phone
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
 
Joined
Mar 12, 2013
Messages
288
Motherboard
HP ProBook 4530s
CPU
Intel Core i3 2330m
Graphics
Intel HD 3000
Mac
MacBook Pro
Mobile Phone
iOS
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.
 
Joined
Nov 24, 2012
Messages
639
Motherboard
HP Probook 6470b
CPU
Intel Core i5-3320M
Graphics
Intel HD 4000, 1600x900
Mac
Classic Mac
Mobile Phone
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.
 
Top