Contribute
Register

[Guide] Patching DSDT/SSDT for LAPTOP backlight control

Hi,

I have had brightness controll working on my laptop (running yosemite) before according to this guide. However a bad system restore destroyed a lot of things before I backed up.

Long story short, there is no brightness control slider showing up.

I applyed the SSDT patch just as I did before. I did not need to apply any DSDT patches. Nor did I see anything in the instructions saying I had to. The ssdt patch is most likely being loaded because I have a null ethernet ssdt patch that is working just fine.

I installed ACPIBacklight.kext using kext wizard and kext utility, I also tried injecting it using clover. None of these ways caused a brightness slider to show up under displays in settings. I confirm that is loaded using kext wizards "Loaded" view.

This can work, I've done it on this computer before. However I am baffled as to why the brightness slider is not appearing.

Thanks for any help!

Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Note: It is easier if you use copy/paste instead of typing the commands manually.

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc

Also, post EFI/Clover folder.
 
Download patchmatic: https://bitbucket.org/RehabMan/os-x-maciasl-patchmatic/downloads/RehabMan-patchmatic-2015-0107.zip
Extract the 'patchmatic' binary from the ZIP. Copy it to /usr/bin, such that you have the binary at /usr/bin/patchmatic.

In terminal,
Code:
if [ -d ~/Downloads/RehabMan ]; then rm -R ~/Downloads/RehabMan; fi
mkdir ~/Downloads/RehabMan
cd ~/Downloads/RehabMan
patchmatic -extract

Note: It is easier if you use copy/paste instead of typing the commands manually.

Post contents of Downloads/RehabMan directory (as ZIP).

Also, post ioreg: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

And output from:
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc

Also, post EFI/Clover folder.

Ok, I did all of that. I don't know if it matters but I did extract my .aml files before using linux instead of patchmatic. Of course for this post I'm uploading the patchmatic ones.

The only kextpatch command that outputted anything was:

Code:
kextstat|grep -y applelpc

it outputted:

Code:
levi$ kextstat | grep -y applelpc
   83    0 0xffffff7f81ba8000 0x3000     0x3000     com.apple.driver.AppleLPC (1.7.3) <82 12 5 4 3>
 

Attachments

  • Clover.zip
    23 MB · Views: 71
  • Levi’s MacBook Air.ioreg
    4.5 MB · Views: 66
  • patchextract.zip
    35.6 KB · Views: 53
Ok, I did all of that. I don't know if it matters but I did extract my .aml files before using linux instead of patchmatic. Of course for this post I'm uploading the patchmatic ones.

The only kextpatch command that outputted anything was:

Code:
kextstat|grep -y applelpc

it outputted:

Code:
levi$ kextstat | grep -y applelpc
   83    0 0xffffff7f81ba8000 0x3000     0x3000     com.apple.driver.AppleLPC (1.7.3) <82 12 5 4 3>

You need to follow the ACPI patching guide and post #1 of this guide more carefully.

Missing:
- patched DSDT
- maybe incomplete patch SSDTs
- lacking SortedOrder specification in config.plist
- lacking DropOem=true in config.plist
- AppleACPIPlatform.kext is wrong version for Yosemite.
 
i have problem in key brightness no found in keyboard shortcuts
 

Attachments

  • Screen Shot 2015-07-25 at 5.26.08 PM.png
    Screen Shot 2015-07-25 at 5.26.08 PM.png
    110 KB · Views: 105
i have problem in key brightness no found in keyboard shortcuts

It is normal. It is not shown for certain SMBIOS, likely because those Macs have dedicated keys for brigthness, such that remapping the functions to other keys does not make sense.
 
You need to follow the ACPI patching guide and post #1 of this guide more carefully.

Missing:
- patched DSDT
- maybe incomplete patch SSDTs
- lacking SortedOrder specification in config.plist
- lacking DropOem=true in config.plist
- AppleACPIPlatform.kext is wrong version for Yosemite.

My issue was resolved by adding the sorted order and adding the DropOem=true to the clover config.

Unfortunately I can't patch my DSDT because I can't compile the extracted one using MacIASL, it may be an issue I revisit soon.

Thanks!
 
Hello Rehabman,
I use ioio and recorded my brightness keys from my HP x360 HD 4400 and both keys recorded the same set 0e2b=80
How do I map these 2 keys to my backlight brightness adjustment. I didn't really understand all the VoodooPS2.kext key mapping and the key app doesn't really work.

Thanks,

Louis

Make sure you patched DSDT according to this guide: http://www.tonymacx86.com/yosemite-laptop-support/152573-guide-patching-laptop-dsdt-ssdts.html

Because it is sometimes important to have the DSDT simulate a version of Windows when confronted with "Darwin". (OS Check Fix*).

Then check again...

If you have both keys generating the same code (still), then instrument ACPI EC queries...
 
After patching OS X Check windows 8, still generate e02b=80both keys.

Then the keys are probably handled in ACPI. Continue to follow the guide.
 
Back
Top