Contribute
Register

[Guide] Laptop backlight control using AppleBacklightFixup.kext

@RehabMan,@tosbaha
I figured how to switch FxxPXXXX to FxxTXXXXM using the same _uid
if you look at my previous report uploaded the included kext has an error i made on it for the F11P0543 profile.
I accidentally changed data to string.

https://www.tonymacx86.com/threads/...ightinjector-kext.218222/page-22#post-1473487

Update: It is possibly to get F11TXXXX to work, but i don't think you need to disable all those profiles kinda picked best case for all.

Originally, the AppleBacklightInjector kext had only the T profile in it.
When AppleBacklightInjector was selecting the P profile on your system, no profile was actually selected without the P profile in the injector. (as one would expect without a matching profile in the kext)
I don't really think the presence of a P profile will affect which profile the system tries to use.
The selection of a profile seems to be based on the display-id in EDID and perhaps other data (graphics device type, etc).

Unfortunately, you did not provide enough information here to understand how you got the T profile to be selected (although ioreg shows injected EDID). If we are to be successful in understanding this issue, we need complete data as per post #1, "Problem Reporting".

Also, it is important to change only as single item when doing experiments, otherwise you lose track of cause/effect.
 
I use the graphics_Rename-GFX0.txt patch to rename GFX0 -> IGPU in DSDT. but it still has not brightness control and slider.

Read post #1, "Problem Reporting".
 
@RehabMan I tried 9c74 profile with two patches, it didn't work again. I removed P patch and it worked again. I think key is injecting fake T or P profile with the help of EDID inject. This prevents default profile to be selected. Then let your kext and SSDT-PNLF.aml to patch it for correct max brightness value.

Provide "Problem Reporting" files for failed and successful attempts.
 
Hi mate,
i was having the P profile problem too.
I followed your instruction and now i have full brightness again!

What i did was :

Inject my patched EDID using Clover
Use only one patch from Rehabman
Use the kext and SSDT-PNLF.aml by Rehabman.

Thanks!
Mattia

Please provide "Problem Reporting" files as per post #1.
Files with success and failure are important to understanding the problem.
 
Here are my Clover folder and IoReg

This EFI/Clover does not correspond to the ioreg. Please attach new (correct) files.

Try with same setup, but with current AppleBacklightInjector.kext and current (single) patch as per post #1.
Report result.
 
Hi all!
I've followed the instruction on the first page and I got brightness working but seems my problem just like others, 100% brightness is like 20%.
But it's very strange... when I remove the AppleBacklightInjector.kext from /Library/Extensions I got everything works perfectly, I can increase to full backlight level.
I don't know why it works by removing this kext, but I just realize that it works!

Using the "Default" profile (by deleting the AppleBacklightInjector kext) gets you some amount of control, but not 100% correct...

If you want to help find a real solution, try as per guide, but inject a patched EDID as mentioned in the recent posts.

Always attach "Problem Reporting" files as per post #1.
 
Read post #1, "Problem Reporting".
I use the graphics_Rename-GFX0.txt patch to rename GFX0 -> IGPU in DSDT. but it still has not brightness control and slider.
 

Attachments

  • Compressed file.zip
    3.6 MB · Views: 72
@RehabMan me and @tmbt attached the files. Here is his file https://www.tonymacx86.com/threads/...ightinjector-kext.218222/page-24#post-1474617 I am attaching 2 more again. One with only with T patch and other with P and T patch. Only thing different between working and nonworking one is extra P patch. When P patch is there it selects P profile which is wrong. The reason I suspect is in the AppleBacklight binary first comparison succeeds and it doesn't select correct values. But again one more time, EDID patch,your kext, SSDT-PNLF.aml and SINGLE T kext patch fixes the problem. Please instead of speculating, just check the files and see yourself that only difference between two configuration is P patch. I also paste you diff result between two folders

Code:
MacBook-Pro:report3 mustafa$ diff -r nonworking1 working1 -x .DS_Store
diff -r -x .DS_Store nonworking1/CLOVER/config.plist working1/CLOVER/config.plist
276c276
<                <false/>
---
>                <true/>
Binary files nonworking1/MacBook Pro.ioreg and working1/MacBook Pro.ioreg differ
I really don't know what else I can do to convince you.
 

Attachments

  • Archive.zip
    5.8 MB · Views: 72
Originally, the AppleBacklightInjector kext had only the T profile in it.
When AppleBacklightInjector was selecting the P profile on your system, no profile was actually selected without the P profile in the injector. (as one would expect without a matching profile in the kext)
I don't really think the presence of a P profile will affect which profile the system tries to use.
The selection of a profile seems to be based on the display-id in EDID and perhaps other data (graphics device type, etc).

Unfortunately, you did not provide enough information here to understand how you got the T profile to be selected (although ioreg shows injected EDID). If we are to be successful in understanding this issue, we need complete data as per post #1, "Problem Reporting".

Also, it is important to change only as single item when doing experiments, otherwise you lose track of cause/effect.

thats fine you guys keep FN with EDID which absolutely isnt the right way to go about this when SSDT-PNLF and injector work for profile switching. i have posted more than enough data for this thread already showing different profiles without messing with EDID
 
Last edited:
Back
Top