Distribution: Debian Sarge Hardware Environment: IBM Thinkpad X31 (2672-CDG) Software Environment: XFree86 4.3, KDE 3.2, Gnome 2.4, all up to date as per Debian apt-get Problem Description: When putting the laptop to sleep, the backlight comes on when the little 'half-moon' symbol starts blinking. The laptop is suspended, and pressing the power button for a second will make it wake up. But with the backlight on in suspended mode, it will eat battery much faster. Steps to reproduce: echo 3 > /proc/acpi/sleep
Created attachment 2666 [details] acpidmp output
I can confirm that this problem exists on my A31p. After S3 suspend the backlight is fully operational (even though the screen is blank) and consumes a lot of power.
*** Bug 3572 has been marked as a duplicate of this bug. ***
per comments in bug 3572, does this command in X work? xset dpms force off and if so, does the display after that say blank on S3, or does it get enabled during suspend and then say on?
On a Dell Inspiron 4000, even if we turn off the display using "xset dpms force off" and then go into S3, the backlight comes back on when the computer reaches S3.
Consistent observation from Anders Karlsson: "The xset command is one of the commands I had put in the sleep script. The backlight came on when the laptop entered S3 mode, then it stayed on. With the backlight on, the battery would drain much faster."
The console switch that ACPI performs just before suspend is likely to switch the screen back on, even if it's blanked in X. Does putting this dpms binary in PATH and executing chvt 12 dpms off during the suspend script result in the desired behaviour?
Created attachment 4085 [details] Program to call VBE DPMS code
Matthew, with the dpms binary you provided, the screen is off after suspend on Dell inspiron 4000. I ran the following command: chvt 12; dpms off; echo mem >/sys/power/state This suspends the computer with the display turned off. When the computer is brought back from suspend, the display remains off, even after tapping the keyboard/mouse. I had to use Ctrl-Alt-F7 to bring the display back. Hope this helps.
On my IBM Thinkpad T30, the backlight goes out when I close the lid, but once the computer reaches S3 state, the backlight comes back on. Sometimes the screen is then white, sometimes a color, and occationally flashing in a not very reassuring way :-( I have tried to turn off the backlight manually with radeontool light off, this of course turns off the light, but once the machine enters S3 and the half-moon light comes on, the light comes back on :-( This is by the way also mentioned on the Thinkpad Wiki, although that page probably refers to two unrelated bugs, namely this one an bug 3022. http://www.thinkwiki.org/Problem_with_high_power_drain_in_ACPI_sleep
This isn't a bug really. Linux just doesn't have the support for the special IBM hardware thats on ThinkPads. Windoze uses the "IBM PM" driver which does proper backlight switching, as well as turning off the cpu fan (some of you may have noticed that the fan, once started, never stops). The same counts for the Fn key combinations, bluetooth enable-disable, ThinkLight enable-disable, etc. I think the ibm-acpi project tries to deal with some of these problems, though currently IBM hasn't released any specs. IBM is a big company and releasing specs for hardware is a very lengthy process (which usualy never succeeds). anyone willing to reverse engineer or dissassemble the IBM PM driver from windoze? :]
Well, if Windows does something better than Linux, then it is a bug :-) Anyway, here is a WORKAROUND: Switching off the backlight with radeontools just before suspending works, if in text mode, but not when X is running. I have modified my suspend script to switch to virtual terminal 1 before suspending, and switch back to vt 7 after waking up. It would be even better if I knew a command for getting the current virtual terminal number :-) My /etc/acpi/suspend.sh script: #!/bin/sh # ACPI script suspending to RAM logger "suspend.sh called" logger "Lid `cat /proc/acpi/button/lid/LID/state`" logger "Software suspend to ram." sync /sbin/hwclock --systohc chvt 1 radeontool light off #sleep 1 echo -n 3 >/proc/acpi/sleep /sbin/hwclock --adjust /sbin/hwclock --hctosys logger "Woke up from suspend." radeontool light on chvt 7 Speculation: Perhaps the light is switched back on when the display mode is changed to text immediately prior to suspending. If the kernel code did not do this mode change, the problem *might* be solved. I use a somewhat dated Thinkpad T30 with a Radeon Mobility 7500. I do not use the framebuffer. The battery consumption is still high, but that must be bug3022 hitting me.
Okay. Same X31 hardware, now running Ubuntu Hoary, updated with all the latest security fixes. Running custom kernel, 2.6.11.10 from kernel.org, with swsuspend2 patched in, and the ibm_acpi module updated with the code from their project pages. I tried ACPI S3 mode today, and the backlight stays off. I will try a few more times, but unless I add more comments, it works as intended. /A
As this seems to be working for Andres with the workaround, I am closing the bug. Thanks.