Comment 68 for bug 935778

Revision history for this message
cmtsij (cmtsij) wrote : Re: Various Toshiba laptops - brightness controls work on first boot, but do nothing after suspend/resume to RAM.

I try to write a udev script to workaround.
When user press Fn-F6 or Fn-F7, a uevent would be generated from acpi_video0.
I wrote a udev rule to hook this uevent to config intel_backlight brightness.

diff --git a/etc/udev/rules.d/00-tosh-backlight.rules b/etc/udev/rules.d/00-tosh-backlight.rules
new file mode 100644
index 0000000..dd38aa2
--- /dev/null
+++ b/etc/udev/rules.d/00-tosh-backlight.rules
@@ -0,0 +1 @@
+DEVPATH=="*/acpi_video0", SUBSYSTEM=="backlight", ACTION=="change", RUN+="/etc/udev/rules.d/tosh-backlight.sh"
diff --git a/etc/udev/rules.d/tosh-backlight.sh b/etc/udev/rules.d/tosh-backlight.sh
new file mode 100755
index 0000000..c7dc5b2
--- /dev/null
+++ b/etc/udev/rules.d/tosh-backlight.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+acpi_max=$(cat /sys/class/backlight/acpi_video0/max_brightness)
+acpi_curr=$(cat /sys/class/backlight/acpi_video0/brightness)
+intel_max=$(cat /sys/class/backlight/intel_backlight/max_brightness)
+intel_curr=$(($intel_max*$acpi_curr/$acpi_max))
+echo $intel_curr > /sys/class/backlight/intel_backlight/brightness