screen-brightness in linux

LCD screens are recognized automatically by the Linux kernel, but often there is no dedicated driver support from the hardware vendor for Linux. One of the problems with Lenovo 3000 G430 Rev 1.0  (the model where I found the issue) was that there was no control to reduce screen brightness. One cannot find it in Display > KPowersave (i.e. in KDE), nor can it be reduced with the keyboard function keys. I found that this is a known issue with many Linux distributions using v2.6.x kernels.

The simple* solution is to reduce it before loading the kernel, as thankfully the bootloader is spared from the disability. So at GRUB, reduce brightness using function keys, then load Linux. This brightness will remain for that physical session of the PC. Unfortunately, the full brightness settings are restored on reboot, so it needs to be done again. 😦

For majority of users it does not matter if such minor controls like LCD brightness cant be adjusted. But for people who work for long hours before the PC, that is indeed an eye hazard. Hence this is not something to be ignored.

*(Other solutions involving manual update of the kernel following a “geeky” path did not work. Or maybe I lost patience too soon. But one thing I believe is in simplicity and abstraction to the end user. If a normal home user needs to compile code at command prompt for ten packages to solve one problem, how can we attract that user to Linux? If that requires writing more code on the part of the developer (or the Linux support community), so be it.)

Update (10/16/2011):
A simple script may be written to reduce brightness of the display after logging in as shown below:

#usage: ~#>./ 0.5 for 50%
xrandr --output LVDS1 --brightness $1

That the output console is LDVS1 can be obtained from KDE Configure Desktop > Hardware > Display and Monitor where (in my case) it shows this device as active. It may be different in another system in which case, replace LVDS1 with it. Save the file in /home/bin as and make it executable thus:

SUSE-prompt#> chmod +x

Now if brightness is to be put at say 70%, then simply run from terminal:

SUSE-prompt#> ./ 0.7

This setting however will be lost on reboot so the script need to be run again, or automated at every login.


Update (2017/07/05):

A solution that seems to work on laptops with Intel integrated video cards is to change the line corresponding to GRUB_CMDLINE_LINUX_DEFAULT as below. Open /etc/default/grub using  nano (or any text editor) and change the line to as shown below. Once changed, save the file, run sudo update-grub. Reboot and brightness controls should work using the function keys. Verified on Lenovo Ideapad z570 laptop.

$ sudo nano /etc/default/grub

Change line to
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_backlight=none"

Save the file in nano and quit (Ctrl+O, Ctrl+X)

$ sudo update-grub

One thought on “screen-brightness in linux

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s