GUI apps stop working until next boot after some system upgrades
My system occasionally has an issue that looks like this:
- I run
pacman -Syu
- Many things get updated
- Many GUI apps (including all display managers and Xorg) start refusing to run and throw up OpenGL errors, if I try to restart the display manager I get stuck in TTY with no GUI
- At next reboot the problem goes away
I poked around and found some errors mentioning Nvidia and NVRM. I tried to reload the Nvidia kernel modules and that failed. I analyzed the error messages, and I'm pretty that what's happening is this:
- System upgrade installs new versions of kernel modules, deletes old ones
- New version is only compatible with new kernel
- That's okay, system upgrade installed the new kernel version as well, and even ran mkinitcpio via pacman hooks
- But the old kernel is still running in memory, and it's not compatible with the new kernel modules, therefore it's not able to load them - and rebooting fixes this by booting me into the new kernel
I'm not 100% sure but it sounds plausible. However, it is annoying to have to reboot after the system upgrade. On the other hand, the situation seems hopeless because how can I reload the kernel without a reboot?
Is there anything I can do here, or is this basically Nvidia devs creating a situation where rebooting is mandatory after a system upgrade that touches drivers?
1 answer
Typically it is recommended to reboot your machine after a kernel update (because of the issues you mentioned).
If you really do not want to reboot, there is a workaround by means of the kexec
system call.
I have never tried it myself, but after installing the kexec-tools package, you should be able to load the updated kernel as follows:
# systemctl kexec
This practically reboots the system but skips any hardware or firmware checks (and possibly some other early boot processes).
Edit: as pointed out by dsr in the comments: you probably want to check out the troubleshooting section to make things work neatly with Nvidia drivers.
0 comment threads