Switching from Nouveau to Nvidia Drivers in a Linux Machine

Switching from Nouveau to Nvidia Drivers in a Linux Machine

My current Linux workstation doubles as a gaming machine when I choose to boot into Windows and, because of that, has an Nvidia RTX 2070 Super installed in it. While my graphical experience in Linux hasn't been poor while doing day to day internet browsing and such, I recently noticed that light (Linux supported) gaming had extremely poor performance.

Quick googling showed that my issues probably stemmed from me using the default Nouveau drivers that came with my distro for my graphics card. The Nouveau project provides open source/free drivers for graphics cards, and while I love open source software, in this case it seems that the proprietary/closed source Nvidia drivers are substantially better than the open source drivers.

To install the proprietary Nvidia drivers, there's two main things you'll need to do:

  • Install the Nvidia drivers
  • Blacklist Nouveau

Let's start with step one by installing the proprietary Nvidia drivers. You can do so by running the command:

$ sudo apt install nvidia-driver-450
This command will install the latest "long lived" Nvidia driver at the time of this post. Visit this site to view the latest Nvidia driver versions

Now that the latest Nvidia drivers are installed, we'll want to blacklist Nouveau with the following commands:

$ sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
$ sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

Now confirm the content of the new modprobe config file with the following:

$ cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
blacklist nouveau
options nouveau modeset=0

After rebooting, you should now be running the latest Nvidia drivers! I noticed an extreme difference in frame rate while gaming in on the Nvidia drivers vs the Nouveau drivers and I hope you do, too! Having a high refresh rate monitor, I've also thoroughly enjoyed being able to take advantage of 144hz refresh rate of my monitor now, too.