Contribute
Register

HD4000 back to brightest after reboot, no hotkey brightness control

Status
Not open for further replies.
Joined
May 7, 2013
Messages
32
Motherboard
Intel NUC
CPU
i5-4250U
Graphics
HD5000
Mac
  1. MacBook Air
  2. Mac Pro
Classic Mac
  1. 0
Mobile Phone
  1. 0
Hi, RehabMan (I suppose you ROCK enough to answer me, so ...)
I ran into a quite interesting issue here on my Acer S7-391:

I can adjust screen brightness in "system preferences" pannel,(which gives me a satisfying brightness range:0%, then ~40% to 100%) and the brightness setting could remain after sleep/wake. BUT it will come back to highest brightness after reboot.

There is also no hotkey adjustment of brightness(on my keyboard it is Fn + ←/→);
Everything else for the brightness works OK, it even dims backlight before sleep and after AC power unplug.

I believe I have modified the DSDT properly. I have switched off "Inject Intel" in Clover. (my ig-platform-id is 0x01660009). By the way, the DSDT patch in your repo didn't work for my dsdt (graphics_HD4K_high.txt). I had to manually modify the related part, and change the ig-platform-id to 0x01660004.

I tried Installing ACPIBacklight.kext in S\L\E folder, but it even disabled any brightness control (including system pref. panel).

Any help please? Many thanks.

Here is my modified DSDT.amlView attachment dsdt.zip
 
Hi, RehabMan (I suppose you ROCK enough to answer me, so ...)
I ran into a quite interesting issue here on my Acer S7-391:

I can adjust screen brightness in "system preferences" pannel,(which gives me a satisfying brightness range:0%, then ~40% to 100%) and the brightness setting could remain after sleep/wake. BUT it will come back to highest brightness after reboot.

That is a boot loader issue (Chimera). Use Chameleon (with FileNVRAM) or Clover and that problem goes away. You will want to use 'blinkscreen' (from ProBook Installer) since usually brightness doesn't work until after a display sleep/wake cycle.

There is also no hotkey adjustment of brightness(on my keyboard it is Fn + ←/→);
Everything else for the brightness works OK, it even dims backlight before sleep and after AC power unplug.

That is a keyboard mapping issue. Fixing it depends on which PS2 drivers you are using.

I believe I have modified the DSDT properly. I have switched off "Inject Intel" in Clover. (my ig-platform-id is 0x01660009). By the way, the DSDT patch in your repo didn't work for my dsdt (graphics_HD4K_high.txt). I had to manually modify the related part, and change the ig-platform-id to 0x01660004.

"HD4000 High Resolution" in the patch repo already uses 0x01660004.
 
I tried Installing ACPIBacklight.kext in S\L\E folder, but it even disabled any brightness control (including system pref. panel).

Any help please? Many thanks.

Here is my modified DSDT.amlView attachment 74450

BTW, it is not surprising ACPIBacklight.kext did not work. It could be the kext had trouble finding _BCL/_BCM/_BQC. And even if it did, they do absolutely nothing:
Code:
    Scope (_SB.PCI0.IGPU.DD02)
    {
        Method (_BCL, 0, NotSerialized)
        {
            Return (\BCLP)
        }

        Name (CBNL, Zero)
        Method (_BCM, 1, NotSerialized)
        {
            Store (Arg0, CBNL)
        }

        Method (_BQC, 0, NotSerialized)
        {
            Return (CBNL)
        }
    }

_BCM, which should be setting something in EC or SystemMemory is simply storing the value into a variable in ACPI memory. This will have no effect on the brightness. In short, you're ACPI brightness methods simply don't work.
 
Thank you for your help.

That is a boot loader issue (Chimera). Use Chameleon (with FileNVRAM) or Clover and that problem goes away.
Indeed I am now using Clover. But the brightness back to highest problem still exists. I will try

"HD4000 High Resolution" in the patch repo already uses 0x01660004.

Oh... Sorry... I mean 0x01660009. The patch in the repo didn't add any new part to my dsdt. I had to copy-paste those code and remove "\n" after that.

BTW, it is not surprising ACPIBacklight.kext did not work. ...
_BCM, which should be setting something in EC or SystemMemory is simply storing the value into a variable in ACPI memory. This will have no effect on the brightness. In short, you're ACPI brightness methods simply don't work.


Thanks. For the "_BCM", is there anything I can do to fix it?
 
Thank you for your help.


Indeed I am now using Clover. But the brightness back to highest problem still exists. I will try

It is normal for it to be wrong before the first sleep/wake cycle even in the case of nvram working correctly.

Oh... Sorry... I mean 0x01660009. The patch in the repo didn't add any new part to my dsdt. I had to copy-paste those code and remove "\n" after that.



I'm not sure what you mean. Make sure you use the "Patch" button to apply patches. But if your computer needs 01660009, then yes, you would need to modify the patch before applying it.

Thanks. For the "_BCM", is there anything I can do to fix it?

No. Your DSDT is just broken on the part of the OEM, I assume.
 
I'm not sure what you mean. Make sure you use the "Patch" button to apply patches. But if your computer needs 01660009, then yes, you would need to modify the patch before applying it.

The code in your repo:
Code:
[COLOR=#333333][FONT=Consolas]into method label _DSM parent_adr 0x00020000 remove_entry;[/FONT][/COLOR]
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "AAPL,ig-platform-id", Buffer() { 0x04, 0x00, 0x66, 0x01 },\n
        "hda-gfx", Buffer() { "onboard-1" },\n
        "AAPL00,DualLink", Buffer() { 0x01, 0x00, 0x00, 0x00 },\n
    })\n
}\n
[COLOR=#333333][FONT=Consolas]end;[/FONT][/COLOR]
didn't add anything to my dsdt.. it just removed the _DSM Entry(the first line worked) and then nothing...

What I did was, paste the part between "begin" and "end;".. then remove the "\n"

It is normal for it to be wrong before the first sleep/wake cycle even in the case of nvram working correctly.
I'm sorry I didn't understand here. The brightest issue only happen after reboot, not sleep. Did you mean it will be OK after one cycle of sleep? OR do I need to tweak Clover configuration to fix it?
 
The code in your repo:
Code:
into method label _DSM parent_adr 0x00020000 remove_entry;
into device name_adr 0x00020000 insert
begin
Method (_DSM, 4, NotSerialized)\n
{\n
    If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
    Return (Package()\n
    {\n
        "AAPL,ig-platform-id", Buffer() { 0x04, 0x00, 0x66, 0x01 },\n
        "hda-gfx", Buffer() { "onboard-1" },\n
        "AAPL00,DualLink", Buffer() { 0x01, 0x00, 0x00, 0x00 },\n
    })\n
}\n
end;
didn't add anything to my dsdt.. it just removed the _DSM Entry(the first line worked) and then nothing...

What I did was, paste the part between "begin" and "end;".. then remove the "\n"

Not repro. Works here. Post your DSDT if you wish to have me look at it.

I'm sorry I didn't understand here. The brightest issue only happen after reboot, not sleep. Did you mean it will be OK after one cycle of sleep? OR do I need to tweak Clover configuration to fix it?

The brightness is restored correctly as far as nvram, but in general, brightness adjustment doesn't work until first display sleep/wake cycle. Thus the 'blinkscreen' utility.
 
Here is my dsdt.amlView attachment dsdt.zip
Could you take a look whether I'm doing the HD4000 part right?
The patch just didn't work for me.

The brightness is restored correctly as far as nvram, but in general, brightness adjustment doesn't work until first display sleep/wake cycle. Thus the 'blinkscreen' utility.
I see what you mean.. Thanks.
But it seems not my case. my brightness adjustment works without a sleep/wake cycle.
My problem is, the NVRAM doesn't restore my brightness setting (with or without sleep cycle). Does this make sense?
 
Here is my dsdt.amlView attachment 74468
Could you take a look whether I'm doing the HD4000 part right?
The patch just didn't work for me.

I just opened your DSDT and applied the patch. It replaced yours. What you did looks fine, but there is nothing wrong with the patch in the repo.

I see what you mean.. Thanks.
But it seems not my case. my brightness adjustment works without a sleep/wake cycle.
My problem is, the NVRAM doesn't restore my brightness setting (with or without sleep cycle). Does this make sense?

If you run blinkscreen it will. Have you tried it?
 
Status
Not open for further replies.
Back
Top