Contribute
Register

[Guide] Patching DSDT/SSDT for LAPTOP backlight control

Is the ACPIBacklight.kext better for brightness control than IntelBacklight.kext?

No. IntelBacklight.kext is preferred.

Can I use the "Brightness Fix (Haswell/Broadwell)" also for skylake?

No. No Skylake support in ACPIBacklight.kext (it would be easy to add, but no plans to do so).
 
I applied the brightness fix to an ssdt instead. Could this be why I get restored full brightness on boot?i have checked nvram and it should be working.

Although "Brightness Fix" can be applied to any SSDT instead of DSDT, that is not recommended.
But it has nothing to do with your NVRAM issue.
 
Although "Brightness Fix" can be applied to any SSDT instead of DSDT, that is not recommended.
But it has nothing to do with your NVRAM issue.
I reinstalled RC scripts and the issue is now fixed.

Do you think I should move the patch to an DSDT? If I recall correctly the first time I tried that it didn't work, which is why I moved to an SSDT in the first place. But if it doesn't impact performace with a SSDT patch, and it does work, I rather stay with it the way it is.

I have problems patching my FN keys. I used the ioio tool and didn't register any PS2 input. I then used the ACPI method, but I don't know how to identify the correct "names" for the keys, so I don't know how to map them. Last time I attempted fixing the hotkeys I didn't have windows but I do now. Can I find it out their names/codes through Windows?
 
I reinstalled RC scripts and the issue is now fixed.

Do you think I should move the patch to an DSDT? If I recall correctly the first time I tried that it didn't work, which is why I moved to an SSDT in the first place. But if it doesn't impact performace with a SSDT patch, and it does work, I rather stay with it the way it is.

It is best to patch DSDT for PNLF.
Especially for newer laptops that might have a PNLF at global scope... the compiler will tell you about things you need to change. If you apply it to an SSDT and there is a PNLF in global scope, you simply won't know about the problems even though they are real.

I have problems patching my FN keys. I used the ioio tool and didn't register any PS2 input. I then used the ACPI method, but I don't know how to identify the correct "names" for the keys, so I don't know how to map them. Last time I attempted fixing the hotkeys I didn't have windows but I do now. Can I find it out their names/codes through Windows?

Brightness keys and patching the EC query methods for them is covered in post #1.
 
I remembered I was onto something with the keys before work hit me hard and I dropped the ball..

I'm running your VodooPS2Controller.kext.

The particular brightness keys did not generate PS2 codes in system.log. Some other FN keys did.

The keys generate ACPI events. I identified the keys as _Q1D (down) and _Q1C (up).

I tried

into method label _Q1D replace_content
begin
// Brightness Down\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0405)\n
end;
into method label _Q1C replace_content
begin
// Brightness Up\n
Notify(\_SB.PCI0.LPCB.PS2K, 0x0406)\n
end;

But MaciASL could not compile. I do not have this device in my DSDT _SB.PCI0.LPCB.PS2K. I have a _SB.PCI0.LPCB.PS2M only (mouse?).

Searching for "PS2K" in my dsdt.aml yields only 1 result. A value that says "1" , well deep under _SB.PCI0.LPCB.EC0.

What's my next step?

Read post #1, "Problem Reporting".

Attached files, (same files as in my laptop specific thread a couple of minutes ago). By the way, I put the backlight patch in the DSDT and removed it from the SSDT. It's working. Though, this change is not present in the files I just uploaded. Should I provide new files?
 

Attachments

  • rehabman2march.zip
    1.9 MB · Views: 92
I remembered I was onto something with the keys before work hit me hard and I dropped the ball..





Attached files, (same files as in my laptop specific thread a couple of minutes ago). By the way, I put the backlight patch in the DSDT and removed it from the SSDT. It's working. Though, this change is not present in the files I just uploaded. Should I provide new files?

You did not patch the EC query methods _Q1C and _Q1D (which are the methods associated with your brightness keys).
 
You did not patch the EC query methods _Q1C and _Q1D (which are the methods associated with your brightness keys).
I know, because doing that gives me errors.

36157, 6084, Object does not exist (\_SB.PCI0.LPCB.PS2K)
36165, 6084, Object does not exist (\_SB.PCI0.LPCB.PS2K)
 
I know, because doing that gives me errors.

36157, 6084, Object does not exist (\_SB.PCI0.LPCB.PS2K)
36165, 6084, Object does not exist (\_SB.PCI0.LPCB.PS2K)

Your PS2 keyboard is named KBD0, not PS2K...
Note:
Code:
    Scope (_SB.PCI0.LPCB)
    {
        Device (KBD0)
 
Your PS2 keyboard is named KBD0, not PS2K...
Note:
Code:
    Scope (_SB.PCI0.LPCB)
    {
        Device (KBD0)
It is working! You are the saviour! Can I play around with the same method to enable other keys as Play/Pause, Previous/Next and such?
 
Back
Top