Contribute
Register

[Guide] Laptop backlight control using AppleBacklightFixup.kext

No usb discussions. Just asking if i understand, change DropOEM from false to true?
 
Then any alternative????

Use search/google. Your profile indicates you have HD530 (Nvidia would not be applicable in that scenario, as it is likely Optimus, therefore not supported).

Clearly your profile is inaccurate (by your own statement, and by looking at your ioreg).
 
No usb discussions. Just asking if i understand, change DropOEM from false to true?

The rules regarding DropOem are simple:
- if you have patched OEM SSDTs in ACPI/patched, DropOem must be true
- if you have no patched OEM SSDTs in ACPI/patched, DropOem must be false
 
Use search/google. Your profile indicates you have HD530 (Nvidia would not be applicable in that scenario, as it is likely Optimus, therefore not supported).

Clearly your profile is inaccurate (by your own statement, and by looking at your ioreg).
All pascal powered-laptops not using Optimus anymore. So HD 530 is not active / disable by vendor. So there's no hope for it?
 
All pascal powered-laptops not using Optimus anymore. So HD 530 is not active / disable by vendor.

I guess Nvidia finally solved their power management issues... either that, or such laptops are going to have extremely short battery life.

So there's no hope for it?

No idea. Off-topic here, as clearly stated in post #1.
If someone wants to figure out how Nvidia backlight control works and propose a solution, they can do that in another thread, or propose it here, and I can consider linking to it, or including the details in post #1, depending on how similar.
 
With nonworking4 setup, try adding only:
config.piist/Graphics/Inject/EDID/Inject=true
config.plist/Graphics/Inject/EDID/ProductID=0x9c7c
Remove any custom EDID bits you're injecting (via Clover or ACPI).

I want to know difference between native EDID and EDID with *only* the display-id changed.
Original EDID in DSDT
config.piist/Graphics/Inject/EDID/Inject=true
config.plist/Graphics/Inject/EDID/ProductID=0x9c7c

Same result. Slider key is not working

Removed EDID from DSDT
config.piist/Graphics/Inject/EDID/Inject=true
config.plist/Graphics/Inject/EDID/ProductID=0x9c7c

Black Screen ==> NO EDID Injected.

Result: Computer only boots with custom EDID

Injected Native EDID with Product Id
Result: Brightness Keys not working. Checked IOReg Product Id is NOT injected using from EDID

Injected Patched EDID with NO Product ID
Result: Working

Injected Patched EDID with Bogus Product ID 11111
Result Working

Conclusions
- My computer only boots with custom EDID
- macOS is reading ProductID from EDID. Confirmed 100 times.
- Product ID can't be injected with Clover if custom EDID is used
- Without EDID patch, this computer doesn't have working backlight. By working I mean the following:

- Correct profile selection
- Working brightness keys
- Working slider

I have tried 16 times with all the configurations above. I also tried two times with enabling kext cache after each reboot. For product ID injection I used both Int and String all done with Xcode. I also attached 2 working 2 nonworking configs for you to check.
 

Attachments

  • Archive.zip
    1.9 MB · Views: 82
Original EDID in DSDT

Wrong. I wrote: "Remove any custom EDID bits you're injecting (via Clover or ACPI)."
And then you did something different.
ACPI based injections via _DSM will override anything you do with Clover.

Same result. Slider key is not working

As you should expect based on what you report with native EDID...

Removed EDID from DSDT
config.piist/Graphics/Inject/EDID/Inject=true
config.plist/Graphics/Inject/EDID/ProductID=0x9c7c

Black Screen ==> NO EDID Injected.

Need "Problem Reporting" files.
Perhaps you forgot config.plist/Graphics/Inject/Intel=true
No Clover EDID injection without Intel=true...

My suggestion, clarified:
- No injection of EDID via ACPI.
- Clover does all EDID injection based on Clover automatic EDID detection
config.plist/Graphics/Inject/Intel=true
config.plist/Graphics/EDID/Inject=true
config.plist/Graphics/EDID/ProductID=0x9c7c
- NO EDID bits specified in Clover config.plist/Graphics/EDID/Custom or config.plist/Graphics/CustomEDID.

Result: Clover will autodetect EDID bits, patch for display-id 0x9c7c, and inject via EFI injection. It is important that your ACPI files are not overriding it. And it is important that you let EDID/ProductID work by NOT specifying EDID bits.

Result: Computer only boots with custom EDID

My suggestion is to use Clover to inject EDID with modified product ID.
So far, no evidence of you trying my suggestion.
 
Last edited:
Wrong. I wrote: "Remove any custom EDID bits you're injecting (via Clover or ACPI)."
And then you did something different.
ACPI based injections via _DSM will override anything you do with Clover.



As you should expect based on what you report with native EDID...



Need "Problem Reporting" files.
Perhaps you forgot config.plist/Graphics/Inject/Intel=true
No Clover EDID injection without Intel=true...



My suggestion is to use Clover to inject EDID with modified product ID.
So far, no evidence of you trying my suggestion.

Sorry but You are wrong.
You didn't read my message or checked the attachments. All the configs I attached uses DSDT which has NO EDID inside. I even named my DSDT as DSDT_NOEDID for you to see. Of course name of file is DSDT but I just renamed it so that you can see that it doesn't have any EDID inside. What I can do else to mention that it has no EDID?

I repeat once again. The DSDT which I attached doesn't have the EDID. EDID is injected only with Clover. Please read my post without skimming and check the attachments. I have tried 16 times. If you have any special config file for me to try, I can try ot again but without custom edid this laptop doesn't boot. Clover can't inject real edid with Inject=true
 
Sorry but You are wrong.
You didn't read my message or checked the attachments. All the configs I attached uses DSDT which has NO EDID inside. I even named my DSDT as DSDT_NOEDID for you to see. Of course name of file is DSDT but I just renamed it so that you can see that it doesn't have any EDID inside. What I can do else to mention that it has no EDID?

I repeat once again. The DSDT which I attached doesn't have the EDID. EDID is injected only with Clover. Please read my post without skimming and check the attachments. I have tried 16 times. If you have any special config file for me to try, I can try ot again but without custom edid this laptop doesn't boot. Clover can't inject real edid with Inject=true

I am not wrong.You did not try what I suggested.
And I checked everything.

Your issue is you don't understand how Clover works.
I clarified what I want you to try in post #378.

Key to understanding Clover's ProductID feature: config.plist/Graphics/EDID/ProductID *IS IGNORED* if you use config.plist/Graphics/CustomEDID or config.plist/Graphics/EDID/Custom. Hint: I read the Clover source code to understand this important fact.

Edit: If you're saying that Clover cannot detect your EDID correctly, that that is a different case (you would have to use EDID/Custom) and would result in a very rare scenario: Clover can't detect EDID properly *and* injecting native EDID (without patching the display-id) causes backlight to not work. Result: You would need to use EDID/Custom (or CustomEDID) and would need to patch the display-id within. But so far, from the files and attempts made, I'm not convinced that you can't use Clover automatic EDID detection. And in any case, it would be interesting to see what EDID was detected in your Clover bootlog (you would need to use an external monitor or remote desktop). I'll look at that in a sec...
 
Last edited:
Back
Top