• The issue: Random flickering when changing the brightness using the function key, while the change wasn’t steady. The slider in system settings allowed me to change the brightness normally.
  • The machine: Dell Inspiron N5110

The first solution I tried was creating the /usr/share/X11/xorg.conf.d/20-intel.conf file with the following lines:
Section "Device"<br /> Identifier "card0"<br /> Driver "intel"<br /> Option "Backlight" intel_backlight"<br /> BusID "PCI:0:2:0"<br /> EndSection

This didn’t change anything. So I tried following “dushnabe’s” suggestion on this thread. Which too didn’t make any difference really. The problem, as I saw it was that I appeared to be using both intel_backlight and acpi_video0. Both use different ranges of values to change the brightness. Hence the flickering. It became clear that I had to force the usage of just one, and that’s exactly what the fix in that answer was supposed to do. Except that for some reason it wasn’t working.

After googling further on this, I landed on this page and I saw the list of kernel parameters that had to do with the backlight. I rebooted a couple of times, each time trying a different parameter, and finally,
acpi_backlight=native is what did the trick. I noticed that it doesn’t allow me to change brightness on login screen, but after login, there was no flickering, and when I ran ls /sys/class/backlight/, I saw that it no longer returned acpi_video0. The only issue I have right now is that there is no fixed minimum. Sometimes, it decreases to a reasonable minimum, while at other times, it results in a blackout, and I have to manually adjust it using the slider in system settings or using xbrightness..

To replicate this process, all you need to do:

  • Fire  up a terminal
  • sudo nano /etc/default/grub
  • At the very end of the string GRUB_CMDLINE_LINUX_DEFAULT, (which in my case was “quiet splash,”) add acpi_backlight=native.
    The final string, in my case, looks like “quiet splash acpi_backlight=native
  • Close and save the file, and run sudo update-grub and then reboot.

In the event that this doesn’t work, it’d be worth your time to try out the rest of the kernel parameters. You don’t have to modify the grub file every time. Instead you can choose to modify kernel parameters before boot. This you can do by pressing “c” on the grub screen and typing the desired parameter, in the correct place, right after “splash.”