Comment 35 for bug 35223

Revision history for this message
Scott Howard (showard314) wrote :

lucck filed a duplicate report at bug #291742 where he did some good debugging that I'd like to share here.

"Afer power up display backlight is always set to 100% light, independent of brightness settings in previous session. I detected that problem is in acpi kernel driver video.ko and gnome-power-manager. I use ubuntu 8.10 with kernel 2.6.27-7-generic on 64-bit platform. This is a regression bug, because in previous version ubuntu 8.04LTS display backlight works ok.

Aditional comments:

I detected that acpi/video.ko kernel 2.6.24 driver in ubuntu 8.04 didn't work and backlight was controlled only by ACPI bios, because /proc/bus/acpi/video/*/backlights always return that backlight is not supported. In kernel 2.6.27 driver return correct backlight values:

cat /proc/acpi/video/C085/C144/brightness
levels: 100 51 30 37 44 51 58 65 72 79 86 93 100
current: 65

New video driver trying to get current backlight level from ACPI BQI object but it is optional ACPI function. When ACPI does not support BQI object driver will set back-light to maximum value. Pls. see code video.c bellow:

if (device->cap._BQC)
            device->backlight->props.brightness =
                acpi_video_get_brightness(device->backlight);
        else
            device->backlight->props.brightness =
                device->backlight->props.max_brightness;
        backlight_update_status(device->backlight);

When ACPI BQI is not supported video.ko or gnome-power-manager should save and restore current backlight value from config file.

Workaround:

Currently I workaround this problem by change kernel driver video.ko to set 50% backlight when BQI object is not found (Pls see patch bellow). I also changed gnome-power-manager settings by run gconf-editor and set following configuration values in /apps/gnome-power/manager/backlight by changing keys values to:

brightness_ac = 50
brightness_battery = 30
brightness_dim_battery = 30

but it is obvious workaround."