How to Install NVIDIA Drivers on Fedora Using RPM Fusion

Enable RPM Fusion repositories and install the akmod-nvidia package to get NVIDIA drivers working on Fedora.

You installed Fedora and the desktop feels sluggish

You just finished installing Fedora on a laptop with an NVIDIA GPU. The desktop loads, but the animations in the menu stutter. You open a terminal and run glxinfo | grep renderer. The output says llvmpipe or softpipe. Your GPU is sitting there, but the system is using the CPU to draw pixels. Or worse, you upgraded the kernel and the display manager won't start because the proprietary module didn't rebuild. The system is running on the open-source nouveau driver, which provides basic functionality but leaves most of the hardware performance on the table.

What's actually happening

Fedora ships only free and open-source software in its default repositories. NVIDIA drivers are proprietary. They live in the RPM Fusion repository. The driver is not just a library. It includes a kernel module that talks directly to the hardware. Every time the kernel updates, that module must be rebuilt to match the new kernel version. If the build fails, you lose the display.

The akmod package handles this automation. It installs a systemd service that watches for kernel updates and triggers the build process automatically. Without akmod, you have to manually rebuild the driver after every kernel update. Run dnf upgrade --refresh weekly to keep your metadata current. This ensures you receive kernel updates promptly, and the akmod service handles the rest. If you skip updates for months, the build might fail due to dependency drift.

Install the driver via RPM Fusion

Enable the RPM Fusion repositories and install the driver package. The commands below fetch the repository definitions, install the driver, and force the kernel module to build immediately.

Here's how to add RPM Fusion and install the NVIDIA driver with CUDA support.

sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
# WHY: Fetches the repository definition files from RPM Fusion.
# The $(rpm -E %fedora) part expands to your current release number automatically.
# This command adds both the free and non-free repos. NVIDIA lives in non-free.

sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
# WHY: akmod-nvidia provides the kernel module builder and the driver binaries.
# xorg-x11-drv-nvidia-cuda adds CUDA support for compute tasks and video encoding.
# dnf will pull in dependencies like kernel-devel and gcc automatically.

sudo akmod-build-nvidia
# WHY: Forces the kernel module to compile immediately against the running kernel.
# Normally the akmods service does this in the background, but running this ensures
# the module is ready before you reboot.

Reboot after the build. The module loads at boot time, and the display manager needs the driver active to start.

Verify the driver is active

Check whether the kernel module is loaded and the management interface responds. If the driver is working, you will see a status table. If the command fails, the module is not loaded.

Here's how to confirm the NVIDIA driver is running and reporting hardware status.

nvidia-smi
# WHY: Queries the NVIDIA management interface.
# A successful run prints a status table with GPU utilization, memory usage, and driver version.
# If this fails, the kernel module is not loaded.

lsmod | grep nvidia
# WHY: Lists loaded kernel modules matching nvidia.
# You should see nvidia, nvidia_uvm, and nvidia_drm in the output.
# An empty list means the module failed to load.

Trust nvidia-smi. If the table prints, the driver is working. If it errors, check the logs before reinstalling.

Common pitfalls and error messages

Secure Boot blocks unsigned kernel modules. When you install akmod-nvidia, Fedora generates a key to sign the module. On the next boot, you might see a blue UEFI screen asking for a password. This is the MOK enrollment process. The password was generated during the installation and printed to the terminal. If you missed it, you have to generate a new one or disable Secure Boot.

If the build fails, you will see Error: Could not load module nvidia in the logs. Check journalctl -xeu akmods for the actual compiler error. Often the issue is a missing kernel-devel package or a mismatched kernel version. If you see Failed to start akmods.service, the build environment is broken. Reinstall kernel-devel and gcc and try the build command again.

Write down the MOK password when you see it. You will need it every time the kernel module rebuilds and Secure Boot is enabled.

When to use RPM Fusion versus alternatives

Use RPM Fusion akmod-nvidia when you want a driver that rebuilds automatically after kernel updates. Use the manual NVIDIA runfile when you need a specific driver version that hasn't hit RPM Fusion yet, or when you are running a custom kernel that breaks the standard build process. Use the open-source nouveau driver when you prioritize free software compliance over performance, or when you are running a headless server and only need basic display output. Use kmod-nvidia instead of akmod-nvidia when you are running a container or a chroot where the kernel cannot be updated, and you need a pre-compiled module for a specific kernel version.

Stick with akmod unless you have a reason not to. Manual drivers drift and break on every kernel update.

Where to go next