Erik wrote:
> Sometimes the display just stays on forever as if it has 
> completely forgotten that it should shut off after 1 minute. I always 
> have kcontrol->Peripherals->Display->Power Control open, because 
> changing a setting, changing it back and pressing Apply fixes the 
> problem, but only for a little while.

I have got the same laptop, and have had the same problem a few weeks
ago. It seems that at some point, xorg started interpreting acpi events,
in particular LID events. It seems that the 8600 has some trouble with
these, as it sometimes generates several LID events in a row, like three
"open" then two "close", when the lid was actually closed all the time.

I could stop xorg from connecting to the ACPI daemon by adding the
following option to the "ServerFlags" section:

  Option "NoPM"

This stopped the backlight turning on and never turning off again.

To switch the backlight off when the lid is closed, I added the
following event handler as "/etc/acpi/events/lid":

event=button/lid.*
action=/etc/acpi/actions/lid.sh %e

And the attached action as "/etc/acpi/actions/lid.sh". What it does is
force a DPMS off when the lid is closed, and switch the graphics chip to
a lower frequency. As you're using the radeon driver (I am using the
fglrx driver), you'll have to comment out the lines calling $ATICONFIG.

HTH.
-- Remy

#!/bin/sh
# ACPI script for lid button actions

eval "$(grep KDEDIRS /etc/profile.env)"

XSET="/usr/bin/xset"
ATICONFIG='/opt/ati/bin/aticonfig'
KDEDIR="${KDEDIRS%%:*}"
DCOP="$KDEDIR/bin/dcop"
export DISPLAY XAUTHORITY

getDisplays() {
        ps -C X -o command --no-headers | sed -re 's/^.* (:[0-9]+) .* -auth ([^ 
]+).*$/\1 \2/'
}

state="$(cat /proc/acpi/button/lid/LID/state | awk '{ print $2 }')"
case "$state" in
        open)   logger "ACPI: Lid opened"
                getDisplays | while read DISPLAY XAUTHORITY; do
#                        $XSET dpms force on
                        $ATICONFIG --set-powerstate="$($ATICONFIG --lsp | grep 
'default state' | cut -c 3)" --effective=now
                done
                ;;
        closed) logger "ACPI: Lid closed"
#                $DCOP --all-users --all-sessions kdesktop KScreensaverIface 
lock
                getDisplays | while read DISPLAY XAUTHORITY; do
                        $ATICONFIG --set-powerstate=1 --effective=now
                        $XSET dpms force off
                done
                ;;
        *)      logger "ACPI: Unknown lid state '$state'"
                ;;
esac

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to