---
title: "Nvidia Drivers on Fedora"
description: >
  My own up-to-date instructions for installing Nvidia drivers on a Fedora Linux system.
date: 2025-03-02T08:28:26Z
draft: false
# ShowLastmod: true
toc: false
scrolltotop: true
images: []
tags:
  - nvidia
  - fedora
  - linux
---

My [Thinkpad P14s]({{< relref "p14s" >}}) has a dedicated Nvidia GPU, which
requires proprietary drivers. There is a gazillion of instructions on the web
for installing theses drivers on a Fedora system. Every now and then (with
kernel updates, I guess), my drivers stop working and I have to research _again_
how to (re-)install these drivers. Usually I notice this when developing raw
images with [Darktable][]. It gets dead slow and then I find out that OpenCL is
not working.

This post mainly serves as a reminder for myself how to re-install the NVidia
drivers on a Fedora laptop. It should be fairly up to date, because as I wrote,
I keep running into this problem over and over again.

The prerequisite is to have the [RPM Fusion][] repositories enabled.

{{< figure src="discover-settings-rpm-fusion.png" >}}

## Installing the NVidia drivers

I found out that I basically only need two packages:

- `nvidia-settings` and 
- `xorg-x11-drv-nvidia-cuda`
  
The first one suffices to pull in the actual drivers and other packages as
dependencies. The latter is required in order for Darktable to make use of OpenCL.

```fish
sudo dnf install nvidia-settings xorg-x11-drv-nvidia-cuda
```

```plain
Updating and loading repositories:
Repositories loaded.
Package                                                                         Arch             Version                                                                          Repository                                           Size
Installing:
 nvidia-settings                                                                x86_64           3:570.86.16-1.fc41                                                               rpmfusion-nonfree-updates                         4.4 MiB
Installing dependencies:
 akmod-nvidia                                                                   x86_64           3:570.86.16-3.fc41                                                               rpmfusion-nonfree-updates                        92.4 KiB
 egl-gbm                                                                        x86_64           2:1.1.2^20240919gitb24587d-3.fc41                                                fedora                                           29.3 KiB
 egl-wayland                                                                    x86_64           1.1.18~20250114git26ba0e3-2.fc41                                                 updates                                          80.9 KiB
 egl-x11                                                                        x86_64           1.0.1~20241213git61e70b0-1.fc41                                                  updates                                         161.1 KiB
 nvidia-modprobe                                                                x86_64           3:570.86.16-1.fc41                                                               rpmfusion-nonfree-updates                        51.0 KiB
 xorg-x11-drv-nvidia                                                            x86_64           3:570.86.16-5.fc41                                                               rpmfusion-nonfree-updates                       190.2 MiB
 xorg-x11-drv-nvidia-kmodsrc                                                    x86_64           3:570.86.16-5.fc41                                                               rpmfusion-nonfree-updates                        75.4 MiB
 xorg-x11-drv-nvidia-libs                                                       x86_64           3:570.86.16-5.fc41                                                               rpmfusion-nonfree-updates                       361.9 MiB
Installing weak dependencies:
 xorg-x11-drv-nvidia-cuda-libs                                                  x86_64           3:570.86.16-5.fc41                                                               rpmfusion-nonfree-updates                       273.2 MiB
 xorg-x11-drv-nvidia-power                                                      x86_64           3:570.86.16-5.fc41                                                               rpmfusion-nonfree-updates                       233.7 KiB

Transaction Summary:
 Installing:        11 packages

Total size of inbound packages is 351 MiB. Need to download 114 KiB.
After this operation, 906 MiB extra will be used (install 906 MiB, remove 0 B).
Is this ok [y/N]:
```

## Testing the installation

```fish
inxi -G
```

This will output the following if everything is configured correctly.

```plain
Graphics:
  Device-1: Intel Meteor Lake-P [Intel Arc Graphics] driver: i915 v: kernel
  Device-2: NVIDIA AD107GLM [RTX 500 Ada Generation Laptop GPU]
    driver: nvidia v: 570.86.16
  Device-3: Syntek Integrated Camera driver: uvcvideo type: USB
  Display: wayland server: Xwayland v: 24.1.6 compositor: kwin_wayland
    driver: gpu: i915 resolution: 1: 3840x2160~60Hz 2: 3072x1920
  API: EGL v: 1.5 drivers: iris,nvidia
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.6 vendor: intel mesa v: 25.0.0
    renderer: Mesa Intel Arc Graphics (MTL)
  API: Vulkan v: 1.4.304 drivers: N/A surfaces: xcb,xlib,wayland
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: nvidia-settings,nvidia-smi
    wl: wayland-info x11: xdriinfo, xdpyinfo, xprop, xrandr```
```

If the drivers aren't installed and loaded properly, the graphics card's name
will be some generic term, not the exact name of the model.

To test if Darktable can use the CUDA driver, start if from the commandline
like so:

```fish
darktable -d opencl
```

This should output a lot of technical information about the graphics card.

If it doesn't, but instead complains along the lines of

> FINALLY: opencl is NOT AVAILABLE on this system

then there is something wrong.

---

## Addendum 2025-04-17

Yesterday I upgraded from Fedora 41 to Fedora 42 (KDE), and of course the NVIDIA
drivers were removed. Using the instructions above effortlessly installed the
driver (currently version 570). :-)

---

## Addendum 2026-01-18

This is turning into a pattern. Today I noticed while working with Darktable
that OpenCL was no longer in use. Sure enough `inxi -G` told me that no
NVIDIA driver was loaded.

When I issued

```fish
sudo dnf install nvidia-settings xorg-x11-drv-nvidia-cuda
```

dnf said that these packages were already installed, but with `sudo dnf update`
I got a whole bunch of updates for the NVIDIA-related packages.

After rebooting, my laptop would crash twice, but holding my breath I disconnected
the external screen, rebooted again, and after logging into Fedora 43 reconnected
the external screen, which finally went smoothly (and I could breathe again).

[Darktable]: https://www.darktable.org
[RPM fusion]: https://rpmfusion.org