NVIDIA driver not loading after Secure Boot disabled – fallback to Nouveau

Hi everyone,

I’m having trouble getting the NVIDIA proprietary driver to load on Fedora 42 (KDE Plasma). My system falls back to the Nouveau driver at boot with the message:

"NVIDIA kernel module missing, falling back to Nouveau"

Here’s what I’ve done so far:

Disabled Secure Boot (verified via mokutil --sb-state)

Installed akmod-nvidia and related packages from RPM Fusion

Verified that modules like nvidia.ko, nvidia-drm.ko, etc. exist in /lib/modules/$(uname -r)/extra/nvidia/

Ran sudo akmods --force and sudo dracut --force

Rebooted multiple times

However, nvidia-smi still fails with:

NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.

Running lsmod | grep nvidia only shows i2c_nvidia_gpu, none of the main modules are loaded.
I have the secure boot off and in GRUB i have modeset-o in the end of the line.

A few days ago, I managed to get it working by enrolling a key via MOK (Machine Owner Key), but now the driver fails to load again and the MOK enrollment prompt no longer appears at boot.

I tried to troubleshoot with some articles and AI but without sucess. This is my first linux installation.

Any ideas on how to get the NVIDIA driver to load properly at boot?

Specs:

Fedora 42 KDE Plasma

NVIDIA RTX 2060 Mobile

Kernel 6.15.3-200.fc42.x86_64

Thanks in advance for any help!

Is there anything relevant in the logs? If you run:

sudo journalctl -b 0 | grep nvidia

that may show something interesting about what happened when the kernel started up and tried to initialise the driver.

Thanks for helping me!

Here is the result:

Jun 29 11:40:15 fedora kernel: nvidia: loading out-of-tree module taints kernel.
Jun 29 11:40:15 fedora kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
Jun 29 11:40:15 fedora kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 234
Jun 29 11:40:15 fedora kernel: nvidia-nvlink: Unregistered Nvlink Core, major device number 234
Jun 29 11:40:16 fedora kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 511
Jun 29 11:40:16 fedora kernel: nvidia-nvlink: Unregistered Nvlink Core, major device number 511
Jun 29 11:40:16 fedora systemd[1]: Started nvidia-powerd.service - nvidia-powerd service.
Jun 29 11:40:16 fedora nvidia-powerd[1082]: nvidia-powerd version:2.0 (build 1)
Jun 29 11:40:16 fedora nvidia-powerd[1082]: ERROR! Allocate Root client failed 0x26
Jun 29 11:40:16 fedora systemd[1]: nvidia-powerd.service: Deactivated successfully.
Jun 29 11:40:16 fedora systemd[1]: Starting nvidia-fallback.service - Fallback to nouveau as nvidia did not load...
Jun 29 11:40:16 fedora kernel: nvidia-gpu 0000:01:00.3: i2c timeout error e0000000
Jun 29 11:40:16 fedora systemd[1]: Finished nvidia-fallback.service - Fallback to nouveau as nvidia did not load.
Jun 29 11:40:34 fedora systemd[xxxx]: Starting app-nvidia-settings-user@autostart.service - nvidia-settings...
Jun 29 11:40:34 fedora systemd[xxxx]: Started app-nvidia-settings-user@autostart.service - nvidia-settings.
Jun 29 11:40:34 fedora kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 509
Jun 29 11:40:34 fedora kernel: nvidia-nvlink: Unregistered Nvlink Core, major device number 509
Jun 29 11:40:36 fedora nvidia-settings[xxxx]: ERROR: NVIDIA driver is not loaded
Jun 29 11:44:21 fedora sudo[xxxx]:  USER : TTY=pts/1 ; PWD=/home/USER ; USER=root ; COMMAND=/usr/sbin/dnf install akmod-nvidia
Jun 29 11:44:22 fedora sudo[xxxx]:  USER : TTY=pts/1 ; PWD=/home/USER ; USER=root ; COMMAND=/usr/sbin/dnf install xorg-x11-drv-nvidia-cuda

OK, so the positive thing is that the module has been built and installed. The problem is that it can’t initialize the GPU properly.

Could you try booting without a modeset or nomodeset parameter? (In the GRUB menu when you boot up, you can hit the ‘e’ key to do a temporary edit to the command line.) Then look at the logs again and see if anything looks different?

I followed your suggestion and booted with nomodeset added alongside modprobe.blacklist=nouveau and nouveau.modeset=0. Unfortunately, I’m still getting the same results, the NVIDIA driver fails to load.

Here’s the relevant output:

nvidia: loading out-of-tree module taints kernel.
nvidia: module verification failed: signature and/or required key missing - tainting kernel
nvidia-settings[2410]: ERROR: NVIDIA driver is not loaded
nvidia-fallback.service - Fallback to nouveau as nvidia did not load
nvidia-gpu 0000:01:00.3: i2c timeout error e0000000

And nvidia-smi returns:
NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver.

A few days ago, I managed to get it working by enrolling a key via MOK (Machine Owner Key), but now the driver fails to load again and the MOK enrollment prompt no longer appears at boot.

How about with neither modeset nor nomodeset?

For example my command line params are:

ro rhgb quiet rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core

No modeset and no nomodeset. This works fine for me with a 3060Ti.

Right, I don’t think that is the problem here. If it was just a MOK problem then the problem would go away by disabling Secure Boot.

I tried booting without modeset or nomodeset.
My current kernel command line looks like this:
ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau

Unfortunately, I still get the same problem. The NVIDIA driver fails to initialize properly.
Here are some relevant log excerpts from dmesg and journalctl:

  • NVRM: No NVIDIA devices probed.
  • nvidia-nvlink: Unregistered Nvlink Core errors repeating multiple times
  • nvidia-powerd.service fails with ERROR! Allocate Root client failed 0x26 or similar

post output of
dnf list \*nvidia\* --installed
mokutil -l
sudo strings /etc/pki/akmods/certs/public_key.der | grep -- '-'

Installed Packages
akmod-nvidia.x86_64 3:575.64-2.fc42 unknown>
kmod-nvidia-6.14.11-300.fc42.x86_64 3:575.57.08-2.fc42 @commandline
kmod-nvidia-6.14.9-300.fc42.x86_64 3:575.57.08-2.fc42 @commandline
kmod-nvidia-6.15.3-200.fc42.x86_64 3:575.64-2.fc42 @commandline
nvidia-gpu-firmware.noarch 20250613-1.fc42 unknown>
nvidia-modprobe.x86_64 3:575.64-1.fc42 unknown>
nvidia-persistenced.x86_64 3:575.64-1.fc42 nknown>
nvidia-settings.x86_64 3:575.64-1.fc42 unknown>
xorg-x11-drv-nvidia.x86_64 3:575.64-1.fc42 unknown>
xorg-x11-drv-nvidia-cuda.x86_64 3:575.64-1.fc42 unknown>
xorg-x11-drv-nvidia-cuda-libs.i686 3:575.64-1.fc42 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64 3:575.64-1.fc42 unknown>
xorg-x11-drv-nvidia-kmodsrc.x86_64 3:575.64-1.fc42 unknown>
xorg-x11-drv-nvidia-libs.i686 3:575.64-1.fc42 rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64 3:575.64-1.fc42 unknown>
xorg-x11-drv-nvidia-power.x86_64 3:575.64-1.fc42 unknown

2bb010e24d fedoraca
e328f787b2 fedora_1748191840_100929ac

[output confirmed that a valid key signature exists]

dnf repolist
rpm -qi akmod-nvidia

Repo ID Repo Name
1password 1Password Stable Channel
fedora Fedora 42 - x86_64
fedora-cisco-openh264 Fedora 42 openh264 (From Cisco) - x86_64
rpmfusion-free RPM Fusion for Fedora 42 - Free
rpmfusion-free-updates RPM Fusion for Fedora 42 - Free - Updates
rpmfusion-nonfree RPM Fusion for Fedora 42 - Nonfree
rpmfusion-nonfree-updates RPM Fusion for Fedora 42 - Nonfree - Updates
updates Fedora 42 - x86_64 - Updates

Name : akmod-nvidia
Epoch : 3
Version : 575.64
Release : 2.fc42
Architecture: x86_64
Install Date: Tue, June 24, 2025 16:35:42
Group : Unspecified
Size : 97,297
License : Redistributable, no modification permitted
Signature : RSA/SHA256, Wed, June 18, 2025 13:49:45, Key ID 6a2af96194843c65
Source RPM : nvidia-kmod-575.64-2.fc42.src.rpm
Build Date : Tue, June 17, 2025 23:41:38
Build Host : buildvm-07.virt.rpmfusion.net
Packager : RPM Fusion
Vendor : RPM Fusion
URL : https://www.nvidia.com/
Bug URL : https://bugz.rpmfusion.org/nvidia-kmod
Summary : Akmod package for NVIDIA kernel module(s)
Description :
This package provides the akmod package for the NVIDIA kernel modules.

it’s easier to read if you mark the output as preformatted text </>

assuming that the unknown origin instead of the name of the repository comes from the installiation of the driver with kde discovery or other libdnf4 based software. This seems to be fine.
Can you pls post cat /proc/cmdline and ls /etc/rpm/ ?

nevertheless I would probably try to reinstall the nvidia driver.

sudo dnf remove xorg-x11-drv-nvidia\*  
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda

wait a few minutes until rpm -qa kmod-nvidia\* shows a package for the current kernel and reboot.

EDIT:
and the keyname fedora_1748191840_100929ac appears in the output of sudo strings /etc/pki/akmods/certs/public_key.der | grep -- '_' ?
I have an older installation when the keys still looked like <systemname>-<mtime>

1 Like

i2c is used for USBC. Are you using video over USBC? Here, on a system without Nvidia but supporting USBC for video:

% lsmod | grep i2c
i2c_i801               40960  0
i2c_smbus              20480  1 i2c_i801
i2c_algo_bit           20480  1 i915
i2c_hid_acpi           12288  0
i2c_hid                49152  1 i2c_hid_acpi
i2c_dev                28672  0

not usb-c but a SMBus, i.e for reading/writing DDC data from/to a connected display. it’s a slow serial bus

$ lsmod | grep i2c
i2c_i801               40960  0
i2c_smbus              20480  1 i2c_i801
i2c_nvidia_gpu         12288  0
i2c_algo_bit           20480  2 xe,i915
i2c_dev                28672  0
# ddcutil detect
Display 1
   I2C bus:  /dev/i2c-19
   EDID synopsis:
       Mfg id:               xxxxxx
       Model:                xxxxxx
       Product code:         xxxxxx
       Serial number:        xxxxxx
       Binary serial number: xxxxx (0x00000000)
       Manufacture year:     2019,  Week: 25
   VCP version:         2.2

The cat /proc/cmdline results before reinstalling:
BOOT_IMAGE=(hd0,gpt7)/vmlinuz-6.15.3-200.fc42.x86_64 root=UUID=1c0dac0d-350c-4206-89cd-fb290236deed ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nouveau.modeset=0

After:
BOOT_IMAGE=(hd0,gpt7)/vmlinuz-6.15.3-200.fc42.x86_64 root=UUID=1c0dac0d-350c-4206-89cd-fb290236deed ro rootfl
ags=subvol=root rhgb quiet nouveau.modeset=0 rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau
,nova_core

However ls /etc/rpm/ still doesn’t show any result.

Anyway, following your advice removing and installing seems to have solved the issue.

Yes, fedora_1748191840_100929ac is the result of sudo strings /etc/pki/akmods/certs/public_key.der | grep -- '_' I don’t know where, my installation is recent.

Thank you for your help!

nova_core was not blacklisted. That’s the reason why the nvidia driver could not be loaded.

remove ‘nouveau.modeset=0’

sudo grubby --remove-args='nouveau.modeset=0' --update-kernel=ALL