← Back to team overview

sony-vaio-z-series team mailing list archive

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