I was able to find a fix for it. Not fully satisfied, but technically the issue is fixed. Here, I blogged about it.
Update: The original blog is down. Its content can still be found on archive.org though. Below is a quotation of the linked content's key parts:
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.”