sony-vaio-z-series team mailing list archive
-
sony-vaio-z-series team
-
Mailing list archive
-
Message #00315
LCD backlight and nvidia
Dear All,
I managed to find a solution which works for both nvidia and intel
cards. I used some info from
http://ubuntuforums.org/showthread.php?t=784671 for acpi events (note
they are different for Z31) and a different script. Since this may be
useful for someone I include the setup below.
1) Make the file /etc/acpi/events/sony-brightness-up with the contents:
event=sony/hotkey SNC 00000001 40000011
action=/usr/local/bin/vaioz-brightness up
2) Make the file /etc/acpi/events/sony-brightness-down with the contents:
event=sony/hotkey SNC 00000001 40000010
action=/usr/local/bin/vaioz-brightness down
3) Make the script /usr/local/bin/vaioz-brightness
#!/bin/bash
lspci | grep "00:02.0" >/dev/null
INTELQ=$?
if [ $INTELQ == 0 ]
then
LEVEL=$(cat /sys/class/backlight/acpi_video0/brightness)
else
LEVEL=$(cat /sys/class/backlight/sony/brightness)
fi
if [ $1 == 'up' ]; then let LEVEL+=1; fi
if [ $1 == 'down' ]; then let LEVEL-=1; fi
if (( $LEVEL>7 )); then LEVEL=7; fi
if (( $LEVEL<0 )); then LEVEL=0; fi
let LEVEL=16+$LEVEL*12
if [ $INTELQ == 0 ];
then
#intel
INTEL_LEVEL=$(( $LEVEL*255/100 ))
BRL=$(printf "%02X" $INTEL_LEVEL)
setpci -s 00:02.0 F4.B=$BRL
else
#nvidia
smartdimmer -s $LEVEL
fi
4) restart acpi system
sudo /etc/init.d/acpid restart
The event codes were obtained by running acpi_listen
Best wishes,
Romuald