Jump to Navigation

Lenovo E145: Backlight

Symptoms

The backlight brightness of an Lenovo E145 laptop with a Radeon HD 8240 graphics controller can not be adjusted on Debian. Neither the Fn-F7/Fn-F8 keys are working nor any other interface.

Solution

Force the use of the kernel Radeon driver by installing the (non-free) Radeon firmware.

Background

There are several drivers that may be used by the Linux kernel and the X Windows System. The trick is forcing the correct one, as not all drivers support the backlight.

The backlight interface can be found beneath /sys/class/backlight. The acpi_video0 directory beneath it will not work; whatever you set the brightness to, it will be ignored.

The kernel tries to load the Radeon driver, but can not really use it without an external firmware file. X then falls back to using the VESA driver.

There is also a proprietary Radeon driver fglrx; as I have not tried it, I do not know whether there is a problem with it too.

Assumptions

You are running Debian jessie or later. You have a Lenovo E145 lapto or other computer with a Radeon HD 8240 graphics controller.

In your kernel message logs (dmesg) you see the following message:

[drm:radeon_pci_probe] *ERROR* radeon kernel modesetting for R600 or later requires firmware-linux-nonfree.

Procedure

Check that you have non-free in your /etc/apt/sources.list (use a mirror near you):

deb     http://ftp.nl.debian.org/debian/ jessie main contrib non-free

Update the package cache and install the package firmware-linux-nonfree:

apt-get update
apt-get install firmware-linux-non-free

Reboot.

You should now be able to set the brightness. The lowest level interface is in /sys:

# 0 is no light, 255 is maximum brightness
echo 255 > /sys/class/backlight/radeon_bl0/brightness


Technical_article | by Dr. Radut