Some people, including myself, have problems with hardware screen brightness buttons on laptops equipped with Intel graphics card. Not a big thing, one might say, but I like when things work as they supposed to, especially when I need them. I usually spend quite a while on a train with my laptop, and turning the brightness down just a bit can give me those few more precious minutes of juice.
After a bit of digging, I have learnt that the problem has been solved and easily. Moreover, there is not one but two solutions!
There are basically two different routes you can take it:
- xorg configuration
- kernel boot parameters
Let's have a quick look at them.
Solution 1 - xorg configuration
Xorg usually does not require custom config file unless you want to do something fancy. Of course you can consider bringing back basic functionality as fancy. If that's the case, this route is perfect.
First of all, have a look at your PCI bus, in order to identify your card:
$ lspci | grep -i vga 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) 01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Mars [Radeon HD 8730M] (rev ff)
That's how it looks on my machine. I am interested in the Intel card, so I need to remember its bus id
Next you need to create the config file:
$ sudo nano /usr/share/X11/xorg.conf.d/20-intel.conf
and put the following content in, which will tell the xorg driver to use intel_backlight:
Section "Device" Identifier "card0" Driver "intel" Option "Backlight" "intel_backlight" BusID "PCI:0:2:0" EndSection
Please note that the BusID should match.
Save, restart your Xorg and you should be able to enjoy controlling brigtness from your keyboard.
Solution 2 - kernel boot parameter
This solution has two versions, one for kernels pre-3.13 and another for kernels 3.13+. In both cases you need to change the file
/etc/default/grub and add a boot option to the kernel. The difference is in the actual option you need to put there. Here is what needs doing.
- Open the grub config file:
$ sudo nano /etc/default/grub.
- Look for
GRUB_CMDLINE_LINUXand change its value like so:
- For kernels < 3.13
- For kernels >= 3.13
- For kernels < 3.13
- Save the file.
- Update grub:
$ sudo update-grub
If you need to know which kernel you are running, simply say:
$ uname -r
And that's it.
To save you some googling, here's what I came across:
Works for me on Inspiron 17R 5721 with dual graphics, as mentioned above. Considering what people say on forums, it works for them as well. I hope it will work for you.