Graphical boot screen on openSUSE with NVIDIA binary driver using Plymouth
Introduction
With the recent 364.x releases of the NVIDIA binary drivers, KMS (Kernel-Mode-Setting) support for Linux was added. Although this doesn’t mean you get a nice high resolution console (yet), it allows you to see a graphical boot screen now. Let’s see what has to be done to make it work so the office machines show something more exciting during boot…
A bunch of modern distributions now use Plymouth for displaying a bootsplash and dracut for easy automated creation of the “initramfs” on Linux.
Fix
In order for Plymouth to work though, we need DRM/KMS. The NVIDIA documentation notes that it can be enabled using the “modeset” option of the nvidia-drm kernel module.
To do that we add a modprobe configuration file like this:
/etc/modprobe.d/nvidia.conf: options nvidia_drm modeset=1
Now we need this to work in the earliest stage of the boot process. Let’s add a dracut file so the NVIDIA drivers are packed into the “initramfs” like this:
/etc/dracut.conf.d/nvidia.conf: add_drivers+="nvidia nvidia_modeset nvidia_uvm nvidia_drm" install_items+="/etc/modprobe.d/nvidia.conf"
As you might have noticed, this also tells dracut to add the modprobe configuration file. Of course we assume that you have already installed the NVIDIA binary drivers 364.12 or later and your distribution uses Plymouth. As root user run:
# dracut -f
If all worked well, you can now reboot and enjoy a graphical bootsplash