http://bugzilla.kernel.org/show_bug.cgi?id=12249

           Summary: Lenovo ThinkPad SL series: LCD brightness works in
                    procfs, buggy in sysfs
           Product: ACPI
           Version: 2.5
     KernelVersion: 2.6.28-rc8
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Power-Video
        AssignedTo: acpi_power-vi...@kernel-bugs.osdl.org
        ReportedBy: tetrom...@gmail.com


Latest working kernel version: unknown
Earliest failing kernel version: 2.6.27
Distribution: Gentoo
Hardware Environment: Lenovo ThinkPad SL300, Intel G45 video
Software Environment:
Problem Description: Reversed order of brightness levels is fixed by applying
patch and DSDT in bug #12037 but several more problems with LCD brightness
remain.

Problem 1: brightness controls in /proc and /sys are inconsistent.

First, /sys/class/backlight/acpi_video0/actual_brightness always reads 0, no
matter what the actual brightness is.
/sys/class/backlight/acpi_video0/brightness *sometimes* displays the correct
brightness value. /proc/acpi/video/VGA/LCDD/brightness is always correct.

Second, setting the brightness via procfs always works (but the change is never
reflected in sysfs). Setting the brightness in sysfs to any value different
from what sysfs thinks it currently is always works (and is immediately
reflected in procfs). Setting the brightness in sysfs to a value equal to what
it thinks the brightness is (but different from what it actually is) has no
effect.

Here is a sequence of commands to illustrate this issue:


# # Start: LCD is at 100% brightness
# cat /proc/acpi/video/VGA/LCDD/brightness 
levels:  100 80 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 100
current: 100
# cat /sys/class/backlight/acpi_video0/brightness 
15
# # 15 is the max increment, 0 is lowest

# echo 50 > /proc/acpi/video/VGA/LCDD/brightness
# # LCD is at 50% brightness
# cat /proc/acpi/video/VGA/LCDD/brightness | grep current
current: 50
# cat /sys/class/backlight/acpi_video0/brightness 
15
# # sysfs is lying

# echo 15 > /sys/class/backlight/acpi_video0/brightness
# # nothing happens
# cat /proc/acpi/video/VGA/LCDD/brightness | grep current
current: 50

# echo 70 > /proc/acpi/video/VGA/LCDD/brightness
# # screen goes to 70% brightness
# cat /proc/acpi/video/VGA/LCDD/brightness | grep current
current: 70
# cat /sys/class/backlight/acpi_video0/brightness 
15

# echo 3 > /sys/class/backlight/acpi_video0/brightness
# # screen goes to 35% brightness
# cat /proc/acpi/video/VGA/LCDD/brightness | grep current
current: 90
# cat /sys/class/backlight/acpi_video0/brightness 
3

# echo 15 > /sys/class/backlight/acpi_video0/brightness
# # screen goes back to 100% brightness
# cat /proc/acpi/video/VGA/LCDD/brightness | grep current
current: 100


Problem 2: in Gnome, incrementing brightness above the maximum (with the
keyboard shortcut) results in 25% brightness. When the screen turns on after
going off due to power saving, the brightness is also at 25%, no matter where
it was originally. Using keyboard shortcuts, the only way to bring it back to
100% is to decrement brightness one step and then increment it one step. I
suspect this is also caused by sysfs brightness file's buggy behavior.


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to