How To Install NVIDIA Drivers in Fedora Silverblue [2021]

By Leonard Cucos •  Updated: 11/16/21 •  4 min read

In this guide, I am going to show how to install NVIDIA drivers in Fedora Silverblue 35. This guide works with any version of Fedora Silverblue released after January 2020.

A few days ago, I decided to switch from Fedora Workstation to Fedora Silverblue and see what is with all the buzz around it and if it will add any benefits to my current workflow.

Fedora Silverblue is designed to be an immutable, extremely stable, and reliable desktop operating system by restricting access to the root system making it harder for the user to break the OS.

Since Fedora Silverblue utilizes the OSTree (a git-like model that combines a shared library and suite of command-line tools for downloading and committing bootable filesystem trees), I thought installing NVIDIA drivers on such a system would be a daunting, difficult task.

Well, I was pleasantly surprised to find out that installing the NVIDIA drivers in Fedora Silverblue took less than a couple of minutes and was arguably easier to install than on Fedora Workstation – I kid you not!

NOTE: a reboot is required every time you make a change at the file system level on Silverblue.

Without further ado, let’s get NVIDIA in Fedora Silverblue up and running.

Step 1: Switch to root user

su -

FIX: If the above command returns a “user is not in the sudoers file” error, you most likely did not check the box to enable your user’s administrative privileges during the OS installation. Here is how to fix user is not in the sudoers file error in Linux.

Step 2: Update The System

Check if your system is up to date by running the following command in the terminal:

rpm-ostree upgrade --check

If there are any updates available, go ahead and install them with the command:

rpm-ostree upgrade
Install NVIDIA Drivers Fedora Silverblue - rpm-ostree upgrade. Source: nudesystems.com

Once the updates are installed, reboot your machine to activate the changes in your system.

systemctl reboot

Step 3: Enable RPM Fusion

To enable the Fedora Silverblue RPM fusion on your system, execute the following command in your terminal [it is one command]:

rpm-ostree install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Since we made changes at the file system level, we need to reboot the system again.

systemctl reboot

Step 3: Install NVIDIA Drivers in Fedora Silverblue

Finally, it is time to install the latest NVIDIA drivers in Fedora Silverblue. To do so, execute the following command in the terminal:

rpm-ostree install akmod-nvidia xorg-x11-drv-nvidia

If you need CUDA support in Fedora Silverblue for your NVIDIA driver, run the following command:

rpm-ostree install xorg-x11-drv-nvidia-cuda

Once more, reboot the system to activate the changes.

systemctl reboot

Step 4: Blacklist nouveau driver [optional]

On my system [2x NVIDIA GTX 1070 GPUs] this step is not required. But since 99% of the NVIDIA issues on Linux are caused by the nouveau driver, here is how to blacklist it:

rpm-ostree kargs --append=rd.driver.blacklist=nouveau --append=modprobe.blacklist=nouveau --append=nvidia-drm.modeset=1

As you probably know already, you must reboot your system for the changes to take effect:

systemctl reboot

Wrapping up

NVIDIA has been always a pain to install in Linux, aside from the Linux distributions that come with NVIDIA support out of the box. However, using the steps above, it literally takes five minutes or less to install NVIDIA in Fedora Silverblue.

Besides having to reboot your system every time you make a change at the OS level (not necessarily a bad thing), Fedora Silverblue is definitively one of the most stable, reliant, and secure Linux distributions I’ve tried in a long time.

And with NVIDIA working great in Silverblue, there is really nothing to complain about. As usual, the Fedora team did an amazing job! 

Hope you found this guide useful and would appreciate it if you could share it around. But most importantly, stay safe out there!

Leonard Cucos

Leonard Cucos is an engineer with over 20 years of IT/Telco experience managing large UNIX/Linux-based server infrastructures, IP and Optics core networks, Information Security [red/blue], Data Science, and FinTech.

medyum