Contribute
Register

[Guide] Patching DSDT/SSDT for LAPTOP backlight control

Assuming Fn+Down and Fn+Up are your brightness keys in Windows, it is possible... and the procedures are covered in post #1.
You should read post #1.

And you should fix your profile such that it contains laptop hardware details as per FAQ:
http://www.tonymacx86.com/el-capita...faq-read-first-laptop-frequent-questions.html
I tried it. but I have an problem. I patched dsdt with debug patch (RMD0000) and apply instrument EC Queries. But when I press brightness up or down, it seem no thing in system.log, I try to use console to track my log, it showing "EC _Q8B enter, EC _Q8B exit" repeatedly. when I press brightness key, it not show any _Q method. so can u teach me how to fix it? I'm really new in hackitosh
 
You would need to do the appropriate research/reverse engineering on how to enable native brightness controls with Nvidia.
@RehabMan - your tip was spot on. I found a custom AppleBacklightInjector.kext for Nvidia in another forum. Now, brightness control works perfectly on my Thinkpad T61 running Sierra 10.12.6.
 
I found a custom AppleBacklightInjector.kext for Nvidia in another forum.

Please provide the link (if it is well written, I may put the link into one of the guides).
And please attach problem reporting files for verification.
 
I tried it. but I have an problem. I patched dsdt with debug patch (RMD0000) and apply instrument EC Queries. But when I press brightness up or down, it seem no thing in system.log, I try to use console to track my log, it showing "EC _Q8B enter, EC _Q8B exit" repeatedly. when I press brightness key, it not show any _Q method. so can u teach me how to fix it? I'm really new in hackitosh
Hix. Can u help me fix this error? Rehabman
 
I tried it. but I have an problem. I patched dsdt with debug patch (RMD0000) and apply instrument EC Queries. But when I press brightness up or down, it seem no thing in system.log, I try to use console to track my log, it showing "EC _Q8B enter, EC _Q8B exit" repeatedly. when I press brightness key, it not show any _Q method. so can u teach me how to fix it? I'm really new in hackitosh

No "Problem Reporting" files attached.
Read FAQ, "Problem Reporting" again. Carefully. Attach all requested files/output.
https://www.tonymacx86.com/threads/faq-read-first-laptop-frequent-questions.164990/
Use the gen_debug.sh tool mentioned in the FAQ, that way it is less likely you'll omit something.
 
Please provide the link (if it is well written, I may put the link into one of the guides).
And please attach problem reporting files for verification.
@RehabMan - The link is below and my problem reporting files are attached. My Thinkpad T61 is almost perfect. I'd love your feedback if you see anything wrong or that could be improved. The only problem I have to resolve (that I know of) is that my Ethernet connection is lost after wake from sleep. I believe this is a known problem with AppleIntelE1000e.kext and unfortunately the IntelMausiEthernet.kext doesn't seem to work with my Intel 82566MM. Note that my system is still a work in progress, since I haven't yet received my replacement Wi-Fi card, so the current Intel Wi-Fi is not working.

Many thanks to onejay09 who provided the files at this link: https://github.com/onejay09/osx

explained in
https://www.insanelymac.com/forum/t...s-control-nvidia-graphics-only-laptop/?page=4

Following his instructions, I created and installed a custom AppleBacklightInjector.kext, applied the PNLF patch to my DSDT and inserted my desired default backlight level in config.plist. After rebooting, backlight works perfectly.
 

Attachments

  • Problem Report.zip
    1.3 MB · Views: 61
Last edited:
@RehabMan - The link is below and my problem reporting files are attached. My Thinkpad T61 is almost perfect. I'd love your feedback if you see anything wrong or that could be improved. The only problem I have to resolve (that I know of) is that my Ethernet connection is lost after wake from sleep. I believe this is a known problem with AppleIntelE1000e.kext and unfortunately the IntelMausiEthernet.kext doesn't seem to work with my Intel 82566MM. Note that my system is still a work in progress, since I haven't yet received my replacement Wi-Fi card, so the current Intel Wi-Fi is not working.

Many thanks to onejay09 who provided the files at this link: Github.com/onejay09/osx

Following his instructions, I created and installed a custom AppleBacklightInjector.kext, applied the PNLF patch to my DSDT and inserted my desired default backlight level in config.plist. After rebooting, backlight works perfectly.

You could do renames via config.plist/ACPI/DSDT/Patches (refer to guide plists and hotpatch guide for details).
That would enable you to eliminate the SSDTs from ACPI/patched.
(Because some of them are not even patched and therefore don't even need to be there if you were to use AutoMerge=true)
In fact, the rename to IGPU, you don't need at all as your IGPU is not active on the PCI bus.
For GPU PM, you probably need to rename PCI0.AGP.VID->GFX0.
The _DSM inject for the GPU can be done in a separate SSDT instead of patching DSDT.
(and you might want to determine if all those properties are actually required).

Looking at ioreg, I'm somewhat surprised that AppleIntelPanelA works for Nvidia brightness control...
 
You could do renames via config.plist/ACPI/DSDT/Patches (refer to guide plists and hotpatch guide for details).
That would enable you to eliminate the SSDTs from ACPI/patched.
(Because some of them are not even patched and therefore don't even need to be there if you were to use AutoMerge=true)
In fact, the rename to IGPU, you don't need at all as your IGPU is not active on the PCI bus.
For GPU PM, you probably need to rename PCI0.AGP.VID->GFX0.
The _DSM inject for the GPU can be done in a separate SSDT instead of patching DSDT.
(and you might want to determine if all those properties are actually required).

Looking at ioreg, I'm somewhat surprised that AppleIntelPanelA works for Nvidia brightness control...

Thank you. I had reviewed Thinkpad T61 DSDTs posted by others and noticed that they did not have the IGPU renaming - that explains it. I'll rename PCI0.AGP.VID->GFX0.
  • For AutoMerge to work, do I need to use your version of Clover (I thought I had read that somewhere)?
  • Let me know if you want anything else that helps you to understand why the SysPrefs->Display slider works after applying onejay09's fix. It works perfectly and the brightness adjustment is very smooth. Note that my brightness adjustment worked perfectly with Bergman Design's brightness app before applying onejay09's fix (Github.com/onejay09/osx).
 
Last edited:
Thank you. I had reviewed Thinkpad T61 DSDTs posted by others and noticed that they did not have the IGPU renaming - that explains it. I'll rename PCI0.AGP.VID->GFX0.
  • For AutoMerge to work, do I need to use your version of Clover (I thought I had read that somewhere)?
  • Let me know if you want anything else that helps you to understand why the SysPrefs->Display slider works after applying onejay09's fix. It works perfectly and the brightness adjustment is very smooth. Note that my brightness adjustment worked perfectly with Bergman Design's brightness app before applying onejay09's fix.

The AutoMerge feature is present in the official sourceforge Clover (my changes were accepted entirely).
I may even propose that AutoMerge=true be made default (it is a much more reasonable default behavior than the old Clover behavior, and is backward compatible except for a few edge cases).
My Clover has a few other fixes (some menu fixes, and "boot without caches" option) that have not made it to official Clover.

You should probably link the onejay09 thread.
 
Back
Top