Disabling the Nouveau open-source Nvidia driver to use the proprietary driver in OpenSUSE Leap 15.3
Recently, I decided that I wanted to give OpenSUSE a try, as it’s been nearly ten years since I ran it on my home system for any longer than an hour or two for testing purposes, and I have fond memories of it’s stability, great implementation of the KDE Plasma desktop environment, and the super supportive community behind it. So, I stuck the Leap 15.3 ISO on a flash drive, booted into the live environment, and installed it; it went without a hitch and was easy as can be.
But, before we get into the issue I faced, and the resolution, let’s look at some details.
What is OpenSUSE Leap? Tumbleweed?
OpenSUSE is a community-driven and created distribution sponsored by SUSE, with many of the famous SUSE technologies built into it.
Starting back in late 2015, OpenSUSE, in essence, forked into two versions, Tumbleweed and Leap, rather than being a singular version. Tumbleweed is a rolling-release model, receiving the latest bleeding-edge updates as soon as they are ready...Where as Leap is a more typical annual release model with security updates in-between.
My decision to go with Leap, rather than Tumbleweed, is quite simply for maximum stability. While Tumbleweed is said to be quite stable, and users only facing major breakage every year or two at most...That’s still breakages I don’t want to have to fix, that I didn’t directly cause myself due to my own mistakes. If I break Leap, I know it’s my own fault.
- AMD Ryzen 5 3500x
- Gigabyte NVIDIA GTX 1660 Super
- 16GB DDR4 3000Mhz
- KDE Plasma environment
When installing OpenSUSE Leap, I did not see any option to use proprietary drivers for my GPU, out of the box...Which makes sense, OpenSUSE primarily focuses on open-source software, though there are community repositories that grant access to a plethora of proprietary packages. Instead, the system installed using the Nouveau driver, which is an open-source driver designed for NVIDIA hardware.
However, this Nouveau driver did not play nicely with my system whatsoever, and I found myself unable to reach a graphical login screen, and seeing messages that Nouveau had timed out. As well, I use full-disk encryption, and found that typing in my password was a nightmare, as after already typing it twice (once for my system partition, once for my swap partition), I was typing in a third time to mount my system but finding that there was an insanely long input delay of upwards of 30 seconds per button press. I attributed this as well to Nouveau hanging and causing issues.
The first step I took, was to disable all forms of graphical acceleration / video drivers and run in a pure software mode, in order to at least be able to access my desktop / a graphical environment. To accomplish this, I added the ‘nomodeset’ option to my boot line in my grub installation. To do this yourself:
- At your GRUB/GRUB2 menu screen upon booting, press E on the menu entry (such as OpenSUSE) you wish to edit.
- Find the line that starts with either linux or linuxefi, and add nomodeset to the end of it, after the quiet splash options.
- Press CTRL+X to boot.
Then, after reaching the desktop, open the YaST control center application by clicking the Applications Menu launcher, navigate to System, and click YaST.
From within YaST, select Software Repositories, click add, select community repositories, and select the NVIDIA repository.
Now you will be able to access NVIDIA drivers. Next, from within YaST, select Software Management, and you should see that the NVIDIA drivers have already been selected as YaST will detect your hardware. In the scenario that it has not, select the following packages to install, assuming you are using an NVIDIA GPU from the Geforce 600 series and newer:
- nvidia-computeG05 - NVIDIA driver for computing with GPGPU
- nvidia-gfxG05-kmp-default - NVIDIA graphics driver kernel module for GeForce 600 series and newer
- nvidia-glG05 - NVIDIA OpenGL libraries for OpenGL acceleration
- x11-video-nvidiaG05 - NVIDIA graphics driver for GeForce 600 series and newer
- kernel-firmware-nvidia - Kernel firmware files for Nvidia Tegra and graphics drivers
Uninstall the xf86-video-nouveau package, and then reboot your machine to complete the process.
While not overly challenging for the linux-experienced, something like this might be enough to throw a new user completely for a loop and scare them off using an amazing system like OpenSUSE. Thankfully, YaST is powerful, easy to use, and there is plenty of OpenSUSE related documentation available online too!Advertisement