Bug 11396
Summary: | ACPI brightness control is inverted | ||
---|---|---|---|
Product: | ACPI | Reporter: | paladin (paladin) |
Component: | Power-Video | Assignee: | Zhang Rui (rui.zhang) |
Status: | REJECTED DOCUMENTED | ||
Severity: | normal | CC: | acpi-bugzilla |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 2.6.26 | Subsystem: | |
Regression: | --- | Bisected commit-id: | |
Attachments: |
ACPI dump
customized DSDT |
Description
paladin
2008-08-21 15:32:05 UTC
Please attach the acpidump output. you can use the latest pmtools at http://www.lesswatts.org/patches/linux_acpi/ Created attachment 17371 [details]
ACPI dump
Method (_BCL, 0, NotSerialized) { Return (Package (0x10) { 0x0F, 0x0E, 0x0D, 0x0C, 0x0B, 0x0A, 0x09, 0x08, 0x07, 0x06, 0x05, 0x04, 0x03, 0x02, 0x01, 0x00 }) } weird, I find a really buggy _BCL method in your BIOS, which is used for brightness control. Please attach the content of /proc/acpi/video/VGA/LCDD/brightness. By reading ACPI spec ACPI Extensions for Display Adapters B.6.2, we can get this, "Each brightness level is represented by a number between 0 and 100, and can be thought of as a percentage. For example, 50 can be 50% power consumption or 50% brightness, as defined by the OEM." So this is clearly a violation of ACPI spec, which we won't fix in Linux/ACPI. Please check if there are any new BIOS releases that have fixed the problem. # cat /proc/acpi/video/VGA/LCDD/brightness levels: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 current: 13 Sorry for insisting on this, but at some point in the past this has worked correctly. Unfortunately I cannot pinpoint exactly what change in my system made this stop working... :/ Currently everything works, except the RandR part. Controling the brightness from the keyboard works, using /proc/acpi/video/VGA/LCDD/brightness also, but Gnome (which uses RandR by default) has its values all inverted. Are you sure this is a buggye BIOS? Thanks in advance. BTW, according to Packard Bell's site there is no new BIOS firmware version :/ First, I'd say that the ACPI video extension support in this BIOS is definitely buggy, no matter if it's the root cause of the inverted brightness issue. (In reply to comment #5) > # cat /proc/acpi/video/VGA/LCDD/brightness > levels: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 > current: 13 > > Sorry for insisting on this, but at some point in the past this has worked > correctly. > Unfortunately I cannot pinpoint exactly what change in my system > made this stop working... :/ The issue should be consistent if using ACPI video driver and sys backlight class device. Maybe you used some platform drivers to control the brightness? what's your laptop model? > Currently everything works, except the RandR part. > Controling the brightness from the keyboard works, using > /proc/acpi/video/VGA/LCDD/brightness also, but Gnome (which uses RandR by > default) has its values all inverted. Are you sure this is a buggye BIOS? Yes. RandR supports multiple modes and one of them is to use the sys backlight I/F to control the brightness. :) please run "xrandr --output LVDS --set BACKLIGHT_CONTROL combination" and retry. :) This is Packard Bell EasyNote BU45, lshal: system.chassis.manufacturer = 'Packard Bell BV' (string) system.chassis.type = 'Notebook' (string) system.firmware.release_date = '05/11/2007' (string) system.firmware.vendor = 'American Megatrends Inc.' (string) system.firmware.version = '206' (string) system.formfactor = 'laptop' (string) system.hardware.primary_video.product = 10146 (0x27a2) (int) system.hardware.primary_video.vendor = 32902 (0x8086) (int) system.hardware.product = 'EasyNote_BU45' (string) system.hardware.serial = '000613360386' (string) system.hardware.uuid = 'DC8A0100-3432-0180-BF5A-001D60001558' (string) system.hardware.vendor = 'Packard Bell BV' (string) system.hardware.version = 'PB72E06210' (string) system.kernel.machine = 'x86_64' (string) system.kernel.name = 'Linux' (string) system.kernel.version = '2.6.26-1-amd64' (string) It's a quite cheap laptop, so I wouldn't be surprised that there are lots of bugs in it :/ I'm only using open source drivers, all stock Debian. Besides "combination" I also set it to "legacy", "native" and back to "kernel". None worked. Thanks for the help :) Is there any path I can follow from here? Any configuration option which could overcome this? Created attachment 17551 [details] customized DSDT this customized DSDT should work for you. :) how to override a DSDT can be found at: http://www.lesswatts.org/projects/acpi/overridingDSDT.php That worked! Thank you very much for your help Zhang :) Kind regards. |