LCD Brightness

From ThinkWiki
Revision as of 07:25, 11 July 2011 by Rubin (Talk | contribs) (Add info on nvidia binary driver brightness control option)
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/
xbacklight -dec 10%
% cat /etc/acpi/
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 :)


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.

Nvidia driver

A bug cropped up for some with recent nvidia driver causing brightness controls not to work (For example, on my W520 using the nvidia binary driver). The solution seems to be adding a flag to enable brightness control by the nvidia driver.

 # Add to your "Device" section in /etc/X11/xorg.conf and restart X
 Option "RegistryDwords" "EnableBrightnessControl=1"

Ubuntu Bug #726692