LCD Brightness

From ThinkWiki
Revision as of 09:54, 1 March 2009 by Ambush Commander (Talk | contribs) (Ubuntu 8.10 Intrepid Ibex: x61 problems)
Jump to: navigation, search
This page is a stub

You can help ThinkWiki by expanding it.

Regular ACPI

This worked for my X61:

Once your brightness keys work, you can set the brightness by writing to the procfs:

# echo 100 > /proc/acpi/video/VID1/LCD0/brightness

using a script and acpid events. However this may lead to a bug (screen flickers) described on the Debian mailing list [[1]]. This bug is related to the X server as it does not occur on the tty1. To fix it change your xrandr backlight control to native:

$ $xrandr --output LVDS --set BACKLIGHT_CONTROL native

For my X61, these following scripts from this japanese site helped:

% cat /etc/acpi/video_brightnessdown.sh
#!/bin/sh
xbacklight -dec 10%
% cat /etc/acpi/video_brightnessup.sh
#!/bin/sh
xbacklight -inc 10%

2.6.26 kernel

If you are using a 2.6.26 kernel, you are supposed to use the regular ACPI backlight control instead of thinkpad-acpi, on any Lenovo (Windows Vista-capable) ThinkPad.

Modify the kernel config by first disabling CONFIG_THINKPAD_ACPI_VIDEO and then enabling both CONFIG_VIDEO_OUTPUT_CONTROL and CONFIG_ACPI_VIDEO [2] While you are at it, be sure to read the well-written help sections for the kernel config settings :)

Thinkpad-ACPI

If you have an older ThinkPad model, such as the T20, you may want to use thinkpad-acpi. You can adjust the brightness of your screen by software using either procfs or sysfs.

If the following commands fail, you may want to try other module parameters for thinkpad-acpi. I had to use backlight_mode=1 for example on my T20. Just add the following line to your /etc/modprobe.conf

options thinkpad-acpi brightness_mode=1

See the chapter LCD brightness control of Documentation/laptops/thinkpad-acpi.txt in the kernel sources for more informations.

Using procfs

To adjust the brightness to a certain level:

# echo 'level 3' > /proc/acpi/ibm/brightness

Just one level up or down:

# echo 'up' > /proc/acpi/ibm/brightness
# echo 'down' > /proc/acpi/ibm/brightness

See /proc/acpi/ibm/brightness for a list of all available commands.

Using sysfs

The sysfs-interface allows more a flexible method of brightness control:

Get the current brightness level:

# cat /sys/class/backlight/thinkpad_screen/actual_brightness

Get the highest brightness level:

# cat /sys/class/backlight/thinkpad_screen/max_brightness

Adjust the brightness to a certain level:

# echo 3 > /sys/class/backlight/thinkpad_screen/brightness

Ubuntu 8.10 Intrepid Ibex

The hardware keys work out of the box on a clean install of Ubuntu 8.10 Intrepid Ibex and openSUSE 11.1. No tweaking necessary.

X61 appears to have some problems; the hardware keys for adjusting brightness are recognized, but they don't actually change the brightness. Setting xrandr to native, as described above, fixes the problem.