For me, the problem was solved by simply rebuilding the initrd another time after booting into the new kernel:
sudo dpkg-reconfigure linux-image-5.4.0-54-generic
Obviously, you should run this with the package of your current boot kernel. If you are unsure, run uname -r
to get the kernel name. Moreover, package names after dpkg-reconfigure
auto-complete in my bash, but your settings may vary.
Doing this should always be safe and quick, so it would not hurt to try this before you do anything else. However, I add more details on my setup and what else I did below.
My configuration and observed behaviour
- Problem was as described above, first found after upgrade to Ubuntu 20.04 (brightness worked before)
- Renato Miotto's solution (via
xrandr --output ... --brightness 0.8
) allowed me to change brightness, but system keys still do not work and using xrandr
resets screen colour (night colour mode)
- Macbook Air 3,2 (very old, tends to have EFI boot issues related to graphics)
- KDE Neon, Nvidia video drivers, kernel 5.4.0-54-generic
Note that Nvidia drivers on MacBook Air 3,2 have a whole set of other, unrelated issues, some specifically related to brightness control. In particular, you need to add X-related device option settings EnableBrightnessControl=1
as per Brightness not working after installing NVIDIA driver. Also, MacBook Air 3,2 by default may fail to boot usable graphics altogether in Nvidia drivers, which is fixed by setting certain PCI-E registers in grub as per Proprietary NVidia drivers with EFI on Mac, to prevent overheating. Both were applied before on my machine and remained active after the upgrade, so not related.
What else I did (may have interacted with the above fix)
I saw two more boot-level issues after the upgrade and I fixed them too. Doing this might have interacted with the effectiveness of my fix:
- I fixed
Failed to Set MokListRT: Invalid Parameter
by following (a KDE Neon adapted version of) Shibiwan's answer on Ubuntu 20.04 Failed to Set MokListRT: Invallid Parameter.
- My grub boot menu had vanished too. I recovered it by editing
/etc/default/grub
to contain GRUB_TERMINAL=console
, GRUB_TIMEOUT_STYLE=menu
, and GRUB_TIMEOUT=10
. After this, update-grub
needs to be run (which the above dpkg-reconfigure
will do as well).
Having the grub menu working is also a minimal safety net when tempering with boot settings, so it makes sense to address this first if you see this too.