Nvidia drivers

Original author: Tommy Nguyen

Last modified: Mon Aug 1 17:02


This section serves as a summary of the repositories located at https://negativo17.org/ to save the reader the trouble of sifting through the blog posts.

The source RPMs, repos and other files can be found here.

Negativo17 is NOT compatible with RPMFusion and has a much more limited selection of packages, but follows a different packaging philosophy.


dnf config-manager --add-repo=http://negativo17.org/repos/fedora-multimedia.repo

This is incompatible with and not a replacement for RPMFusion. However, the epoch is set to override RPMFusion packages whenever possible.

Packages of interest:

  • Nvidia drivers
  • gstreamer1-plugins-bad, gstreamer1-plugins-ugly, gstreamer1-libav, gstreamer1-plugins-bad-fluidsynth
  • mozilla-openh264
  • mpv


The multimedia repo contains the Nvidia packages. Before using it, make sure you remove all previous Nvidia packages (i.e, from RPMFusion):

sudo dnf remove \*nvidia\*

Packages of interest:

  • vulkan-loader
  • nvidia-settings, nvidia-driver-libs
  • dkms-nvidia or akmod-nvidia

Both vulkan-loader and nvidia-driver-libs have i686 versions when you need 32-bit (i.e, Wine).

You need to also explicitly install kernel-devel to avoid pulling in the debug package.


Run dkms status. If the output is empty, then you’ll need to manually run the build and install:

dkms add nvidia/<version>
dkms build nvidia/<version>
dkms install nvidia/<version>

Where <version> is something like 390.25. You may prefer to do this before rebooting. In that case, append the -k switch and specify the kernel version.

If you receive an error like the following:

Error! Could not locate dkms.conf file

You will need to remove the previous driver version you have installed. i.e, if you previously had 415.18 installed and upgraded to 415.22, then remove the 415.18 directory.

rm -r /var/lib/dkms/nvidia/415.18

Suspend doesn’t work

If your computer immediately wakes up upon suspending and you see an error message like the following:

PreserveVideoMemoryAllocations module parameter is set. System Power
Management attempted without driver procfs suspend interface. Please refer
to the 'Configuring Power Management Support' section in the driver README.

Then you need to enable the systemd services for Nvidia:

systemctl enable nvidia-suspend.service
systemctl enable nvidia-resume.service

See the Nvidia forums for more details.

Module doesn’t load upon upgrade to Fedora 35

It is unclear why this is happening, however the following workaround works:

grubby --update-kernel=ALL --args "modprobe.blacklist=nouveau"

Automatically signing modules for secure boot


For RPMFusion this is fixed in Fedora 36, the manual instructions are still required for negativo17.

Neither negativo nor rpmfusion automatically sign the kernel modules. This is because it requires manual intervention by the user where a key has to be created and enrolled into MOK. After that, you can use a script that will sign the modules after they are built automatically. See akmod-sign-modules for akmods. There is a DKMS version available on the Internet. Note that it does not appear to work unless you run it manually. That is:

systemctl start akmods@$(uname -r)
systemctl status akmods@$(uname -r)

There is a COPR for changes slated to appear in Fedora 36. Namely akmods-secureboot and kmodtool-secureboot by egeretto. Either generate the key using the provided akmods-keygen service file or by following the RedHat guide.

There are a few ways to verify that you enrolled your key correctly.

mokutil --list-enrolled
mokutil --test-key /etc/pki/akmods/certs/public_key.der