Comment 147 for bug 1098216

Revision history for this message
In , daniel.m.kao (daniel.m.kao-linux-kernel-bugs) wrote :

I see that _BCM and _BQC only work with the 16 step table (\_SB.PCI0.LPC.EC.BRTW).
When interacting with the backlight through sysfs, brightness node can be set to any value from _BCL, but actual_brightness reports its current value from _BQC. This causes a discrepancy between brightness and actual_brightness where brightness could be 75 but actual_brightness remains at 70.

Gnome uses RandR to change backlight, which reports actual_brightness when available. When Gnome tries to change brightness in reaction to media keys, it tries to do so in 5% increments based on actual_brightness. Now, since 75% is not supported in the BRTW table, stepping up from 70% would never succeed and so Gnome's brightness OSD gets stuck at 75% and cannot go any higher. Same thing happens when trying to step down from 20%.

I have created a test kernel by commenting out the get_brightness entry in acpi_backlight_ops. RandR seems to fallback to the brightness node and everything works fine in Gnome.

Brightness adjustment with media keys in virtual terminals still has no effect. But I have no idea how the brightness keys are handled in VT so I can't comment on that.