"Nvidia kernel module missing" after unrelated updates via Gnome Software

I have “nvidia kernel module missing, falling back to nouveau” message when booting my system after updating even if the kernel and the nvidia drivers were not updated. I use gnome software to apply package updates and Secure Boot is disabled on my system. Is there something I am doing wrong? Surely nvidia modules don’t have to be rebuilt on every unrelated update, right?

If the nvidia drivers were properly working and were installed from the rpmfusion repo as is routinely suggested then they should continue working.

To rebuild them in that case the command sudo akmods --force --rebuild should work and after it completes a reboot should load the drivers.

Please post the output of dnf list installed \*nvidia\* and inxi -Fzxx so we can see what is actually installed and be able to move forward.

Use the </> (preformatted text) button on the toolbar so the text that you copy & paste retains the on-screen formatting.

Yeah, I use rpm fusion repos.
dnf list installed \*nvidia\*:

Installed Packages
akmod-nvidia.x86_64                3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
kmod-nvidia-6.9.8-200.fc40.x86_64.x86_64
                                   3:555.58.02-1.fc40 @@commandline             
kmod-nvidia-6.9.9-200.fc40.x86_64.x86_64
                                   3:555.58.02-1.fc40 @@commandline             
libnvidia-container-tools.x86_64   1.16.0-1           @nvidia-container-toolkit 
libnvidia-container1.x86_64        1.16.0-1           @nvidia-container-toolkit 
libva-nvidia-driver.x86_64         0.0.12-2.fc40      @updates                  
nvidia-container-toolkit.x86_64    1.16.0-1           @nvidia-container-toolkit 
nvidia-container-toolkit-base.x86_64
                                   1.16.0-1           @nvidia-container-toolkit 
nvidia-gpu-firmware.noarch         20240709-1.fc40    @updates                  
nvidia-modprobe.x86_64             3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
nvidia-persistenced.x86_64         3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
nvidia-settings.x86_64             3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia.x86_64         3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda.x86_64    3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64
                                   3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64 3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64    3:555.58.02-1.fc40 @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-power.x86_64   3:555.58.02-1.fc40 @rpmfusion-nonfree-updates

inxi -Fzxx:

System:
  Kernel: 6.9.9-200.fc40.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.41-37.fc40
  Desktop: GNOME v: 46.3.1 tk: GTK v: 3.24.43 wm: gnome-shell dm: GDM
    Distro: Fedora Linux 40 (Workstation Edition)
Machine:
  Type: Desktop Mobo: Micro-Star model: B450 TOMAHAWK MAX (MS-7C02) v: 1.0
    serial: <superuser required> UEFI: American Megatrends LLC. v: 3.I0
    date: 10/14/2023
CPU:
  Info: 6-core model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2
    rev: 0 cache: L1: 384 KiB L2: 3 MiB L3: 32 MiB
  Speed (MHz): avg: 2595 high: 4200 min/max: 2200/4208 boost: enabled cores:
    1: 2199 2: 2145 3: 2199 4: 2192 5: 2100 6: 4200 7: 2200 8: 2199 9: 3317
    10: 2095 11: 2100 12: 4199 bogomips: 86402
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Micro-Star MSI
    driver: nvidia v: 555.58.02 arch: Pascal pcie: speed: 8 GT/s lanes: 16
    ports: active: none off: DP-1 empty: DP-2, DP-3, DVI-D-1, HDMI-A-1
    bus-ID: 26:00.0 chip-ID: 10de:1c03
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 24.1.1
    compositor: gnome-shell driver: gpu: nvidia,nvidia-nvswitch display-ID: 0
  Monitor-1: DP-1 model: Samsung C27JG5x res: 2560x1440 dpi: 109
    diag: 685mm (27")
  API: OpenGL v: 4.6.0 vendor: nvidia v: 555.58.02 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2
    display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: NVIDIA GP106 High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 26:00.1 chip-ID: 10de:10f1
  Device-2: AMD Starship/Matisse HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
    bus-ID: 28:00.4 chip-ID: 1022:1487
  API: ALSA v: k6.9.9-200.fc40.x86_64 status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.0.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 22:00.0 chip-ID: 10ec:8168
  IF: enp34s0 state: up speed: 100 Mbps duplex: full mac: <filter>
  IF-ID-1: br-dbd2a0ed69e1 state: up speed: 10000 Mbps duplex: unknown
    mac: <filter>
  IF-ID-2: docker0 state: down mac: <filter>
  IF-ID-3: veth1cc6971 state: up speed: 10000 Mbps duplex: full
    mac: <filter>
  IF-ID-4: vpn0 state: down mac: N/A
Drives:
  Local Storage: total: 1.82 TiB used: 124.39 GiB (6.7%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 970 EVO Plus 500GB
    size: 465.76 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 53.9 C
  ID-2: /dev/sda vendor: Western Digital model: WDS500G2B0A-00SM50
    size: 465.76 GiB speed: 6.0 Gb/s serial: <filter> temp: 35 C
  ID-3: /dev/sdb vendor: Western Digital model: WD10EZEX-22MFCA0
    size: 931.51 GiB speed: 6.0 Gb/s serial: <filter>
Partition:
  ID-1: / size: 464.17 GiB used: 123.93 GiB (26.7%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-2: /boot size: 973.4 MiB used: 445.5 MiB (45.8%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 19 MiB (3.2%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 464.17 GiB used: 123.93 GiB (26.7%) fs: btrfs
    dev: /dev/nvme0n1p3
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 115.5 MiB (1.4%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 43.0 C mobo: 46.0 C
  Fan Speeds (rpm): fan-1: 0 fan-2: 853 fan-3: 932 fan-4: 0 fan-5: 0
    fan-6: 0
Info:
  Memory: total: 16 GiB available: 15.54 GiB used: 9.1 GiB (58.6%)
  Processes: 461 Power: uptime: 10h 46m wakeups: 0 Init: systemd v: 255
    target: graphical (5) default: graphical
  Packages: pm: flatpak pkgs: 32 Compilers: gcc: 14.1.1 Shell: Bash
    v: 5.2.26 running-in: gnome-terminal inxi: 3.3.34

Those are all non-standard packages from a 3rd party repo. Similar packages installed from different repos sometimes cause conflicts.

I would guess that if you remove those packages the problem may disappear. I never use packages for nvidia from any repo except rpmfusion and have never seen any problems.

If it does not solve the problem and you really need them they could be reinstalled later after doing some testing.

A quick review of the install instructions for those packages seems a bit out of date. It appears to have been written when yum was used and that was changed quite some time back.

1 Like

Interestingly, despite the message during boot-up, the inxi results would appear to show that the Nvidia driver 555.58.02 is still being loaded and is in use? Are you able to start the NVIDIA X Server Settings app, and if so, does it also show a loaded/active driver?

The message about missing kernel dissapears after a reboot until a next system update. A funny thing is that I can see both nvidia_drm and nouveau modules in lsmod after an update if the message telling “module is missing” was present. I’ll attach the lsmod output here on the next occasion. As for nvidia-container-toolkit, I think the problem was ocurring in the past without this package installed. Still, I’ll probably try to check if removing the toolkit changes anything soon.

Is it possible that you are rebooting immediately after the update completes?

The driver modules are built in the background after the update completes and a quickly executed reboot may interrupt that so the reboot loads the nouveau drivers. During that reboot the driver build completes so the next boot has functional drivers.

Waiting for about 5 minutes after the update avoids this issue with an early reboot.

It does seem unique that lsmod shows both nouveau and nvidia though. Usually only one of those is shown.

I updated system agian now, here’s some commands output straight after rebooting automatically for the first time:

lsmod | grep nvidia:

nvidia_drm            135168  7
nvidia_modeset       1617920  3 nvidia_drm
nvidia_uvm           6815744  0
nvidia              61018112  44 nvidia_uvm,nvidia_modeset
video                  81920  2 nouveau,nvidia_modeset

inxi -Fzxx:

System:
  Kernel: 6.9.9-200.fc40.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.41-37.fc40
  Desktop: GNOME v: 46.3.1 tk: GTK v: 3.24.43 wm: gnome-shell dm: GDM
    Distro: Fedora Linux 40 (Workstation Edition)
Machine:
  Type: Desktop Mobo: Micro-Star model: B450 TOMAHAWK MAX (MS-7C02) v: 1.0
    serial: <superuser required> UEFI: American Megatrends LLC. v: 3.I0
    date: 10/14/2023
CPU:
  Info: 6-core model: AMD Ryzen 5 3600 bits: 64 type: MT MCP arch: Zen 2
    rev: 0 cache: L1: 384 KiB L2: 3 MiB L3: 32 MiB
  Speed (MHz): avg: 2199 high: 2200 min/max: 2200/4208 boost: enabled cores:
    1: 2200 2: 2200 3: 2200 4: 2199 5: 2200 6: 2200 7: 2200 8: 2200 9: 2200
    10: 2200 11: 2200 12: 2200 bogomips: 86402
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: Micro-Star MSI
    driver: nvidia v: 555.58.02 arch: Pascal pcie: speed: 8 GT/s lanes: 16
    ports: active: none off: DP-1 empty: DP-2, DP-3, DVI-D-1, HDMI-A-1
    bus-ID: 26:00.0 chip-ID: 10de:1c03
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 24.1.1
    compositor: gnome-shell driver: gpu: nvidia,nvidia-nvswitch display-ID: 0
  Monitor-1: DP-1 model: Samsung C27JG5x res: 2560x1440 dpi: 109
    diag: 685mm (27")
  API: OpenGL v: 4.6.0 vendor: nvidia v: 555.58.02 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce GTX 1060 6GB/PCIe/SSE2
    display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: NVIDIA GP106 High Definition Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 26:00.1 chip-ID: 10de:10f1
  Device-2: AMD Starship/Matisse HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
    bus-ID: 28:00.4 chip-ID: 1022:1487
  API: ALSA v: k6.9.9-200.fc40.x86_64 status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.0.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
Network:
  Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI driver: r8169 v: kernel pcie: speed: 2.5 GT/s
    lanes: 1 port: f000 bus-ID: 22:00.0 chip-ID: 10ec:8168
  IF: enp34s0 state: up speed: 100 Mbps duplex: full mac: <filter>
  IF-ID-1: br-dbd2a0ed69e1 state: down mac: <filter>
  IF-ID-2: docker0 state: down mac: <filter>
Drives:
  Local Storage: total: 1.82 TiB used: 130.04 GiB (7.0%)
  ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 970 EVO Plus 500GB
    size: 465.76 GiB speed: 31.6 Gb/s lanes: 4 serial: <filter> temp: 43.9 C
  ID-2: /dev/sda vendor: Western Digital model: WDS500G2B0A-00SM50
    size: 465.76 GiB speed: 6.0 Gb/s serial: <filter>
  ID-3: /dev/sdb vendor: Western Digital model: WD10EZEX-22MFCA0
    size: 931.51 GiB speed: 6.0 Gb/s serial: <filter>
Partition:
  ID-1: / size: 464.17 GiB used: 129.58 GiB (27.9%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-2: /boot size: 973.4 MiB used: 445.5 MiB (45.8%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 19 MiB (3.2%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 464.17 GiB used: 129.58 GiB (27.9%) fs: btrfs
    dev: /dev/nvme0n1p3
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 37.0 C mobo: 40.0 C
  Fan Speeds (rpm): fan-1: 0 fan-2: 763 fan-3: 927 fan-4: 0 fan-5: 0
    fan-6: 0
Info:
  Memory: total: 16 GiB available: 15.54 GiB used: 2.92 GiB (18.8%)
  Processes: 362 Power: uptime: 5m wakeups: 0 Init: systemd v: 255
    target: graphical (5) default: graphical
  Packages: pm: flatpak pkgs: 33 Compilers: gcc: 14.1.1 Shell: Bash
    v: 5.2.26 running-in: gnome-terminal inxi: 3.3.34

dnf history info 56: (update was under number 56 in dnf history)

Transaction ID : 56
Begin time     : Tue 23 Jul 2024 10:38:59 PM +04
Begin rpmdb    : 8518488e2def47c2772af087caaae700dec94ee9eb4236783d859d6e8bcf6dfd
End time       : Tue 23 Jul 2024 10:39:02 PM +04 (3 seconds)
End rpmdb      : e2d51e45a1020f339888c8a5815331a7f5f15797a5e9b88f032bef4838919afa
User           : Super User <root>
Return-Code    : Success
Releasever     : 
Command Line   : 
Comment        : 
Packages Altered:
    Upgrade  ffmpeg-6.1.1-15.fc40.x86_64                    @rpmfusion-free-updates
    Upgrade  ffmpeg-libs-6.1.1-15.fc40.x86_64               @rpmfusion-free-updates
    Upgrade  libavdevice-6.1.1-15.fc40.x86_64               @rpmfusion-free-updates
    Upgrade  docker-buildx-plugin-0.16.1-1.fc40.x86_64      @docker-ce-stable
    Upgrade  docker-ce-3:27.1.0-1.fc40.x86_64               @docker-ce-stable
    Upgrade  docker-ce-cli-1:27.1.0-1.fc40.x86_64           @docker-ce-stable
    Upgrade  docker-ce-rootless-extras-27.1.0-1.fc40.x86_64 @docker-ce-stable
    Upgrade  docker-compose-plugin-2.29.0-1.fc40.x86_64     @docker-ce-stable
    Upgraded ffmpeg-6.1.1-14.fc40.x86_64                    @@System
    Upgraded ffmpeg-libs-6.1.1-14.fc40.x86_64               @@System
    Upgraded libavdevice-6.1.1-14.fc40.x86_64               @@System
    Upgraded docker-buildx-plugin-0.15.1-1.fc40.x86_64      @@System
    Upgraded docker-ce-3:27.0.3-1.fc40.x86_64               @@System
    Upgraded docker-ce-cli-1:27.0.3-1.fc40.x86_64           @@System
    Upgraded docker-ce-rootless-extras-27.0.3-1.fc40.x86_64 @@System
    Upgraded docker-compose-plugin-2.28.1-1.fc40.x86_64     @@System

No kernel, nor nvidia module here… So strange

You should be able to find an entry in journalctl. There may be additional details that would help us understand the message and potential consequences.

Hello, I’m a new Fedora user and I’m having the same issue with a fresh installation of Fedora 40 (KDE) on a laptop with Intel+Nvidia graphics and Secure Boot enabled (I need to dual boot Win11).

I installed the drivers as instructed, and they work just fine, but every time I update and restart the system, I get the same error or sometimes the DE doesn’t start at all.

Usually, pressing Alt+F2, running sudo akmods --force and rebooting is all it takes to fix the issue, but it’s such an inconvenience… (from what I understand, the updater reboots the system before akmods finishes its tasks, and so it breaks)

Do you have any suggestions on the matter?

I disable secure boot (SB) on my Windows 11 box (no Nvidia) so I can boot from USB drives. Have you tried booting Windows without SB? I think most people with Nvidia use command-line updates rather than the GUI. My system with Nvidia also needs to build another driver and often fails to get both installed when using the GUI to update, which suggests some issues with timing and detecting when the builds are complete.

1 Like

AFAIK the only ones who seem to have this problem are using the gui software update tool or if using dnf on the cli are rebooting immediately. I have not had an issue with the nvidia drivers for several years and I never use the gui software update tool and always wait several minutes after an update finishes before I reboot.

One other thing that might be relevant is the packagekit-offline-update.service which is what does the update when rebooting. It also sometimes seems to interfere with the driver updates.

1 Like

So, if I use just use dnf via the cli, I will resolve all my issues? Regarding the wait part, I could easily monitor the active processes to see whether the new kernel modules have finished building or not.

But I have to admit, even though this sounds like a very simple solution, I still find the issue with the updater a major dent in user experience…

Only Nvidia can remove the need for creative workarounds to install drivers for their hardware on linux. Such workarounds are fragile and place a burden on users.

4 Likes

There are several 3rd party software packages that have similar issues to nvidia.
broadcom-wl, VirtualBox, & v4l2loopback among others. All need to locally compile kernel modules and all are reliant on the os waiting for the compile to complete before rebooting or issues may appear.

Note this is 3rd party software and not directly a fedora issue.

1 Like

I do not believe in that gui interrupts akmods rebuild. When kernel module is updated, I get slowdown in update. By pressing Escape to hide plymouth logo and watching update logs I see akmods rebuild service, which takes some time. The missing module message doesn’t appear after rebuild update, rather only after updates when akmods is not involved.

I have an old iMac that needs Nvidia and wl modules. I often use cockpit (via ethernet) to install updates, and with cockpit, kernel updates take a second reboot to finish akmods builds. Using the GUI the system installs packages, but the akmods builds run after the installer reboots, so there is delay of a couple minutes before I get a login prompt.

Looks like I can ignore the message about nvidia module, as my system functions fine overall.

My IMac late 2012 does 95% of what I need with nouveau. I install nvidia and it is not hard to switch (instructions are in the rpmfusion Nvidia HowTo document). Still, I’m curious about your configuration and the source of the “missing module” message. What do you get for lsmod | grep nouveau' and lsmod |grep nvidia`? Here (using nouveau with Wayland):

% lsmod | grep 'nvidia'
% lsmod | grep 'nouveau'
nouveau              3919872  9
drm_ttm_helper         12288  1 nouveau
ttm                   114688  2 drm_ttm_helper,nouveau
gpu_sched              65536  1 nouveau
i2c_algo_bit           20480  1 nouveau
drm_gpuvm              45056  1 nouveau
drm_exec               12288  2 drm_gpuvm,nouveau
mxm_wmi                12288  1 nouveau
drm_display_helper    274432  1 nouveau
video                  81920  1 nouveau
wmi                    36864  3 video,mxm_wmi,nouveau
sh-5.2$ lsmod | grep nvidia
nvidia_drm            135168  34
nvidia_modeset       1617920  14 nvidia_drm
nvidia_uvm           6815744  0
nvidia              61018112  373 nvidia_uvm,nvidia_modeset
video                  81920  2 nouveau,nvidia_modeset
sh-5.2$ lsmod | grep nouveau
nouveau              3919872  0
mxm_wmi                12288  1 nouveau
drm_gpuvm              45056  1 nouveau
drm_exec               12288  2 drm_gpuvm,nouveau
gpu_sched              65536  1 nouveau
i2c_algo_bit           20480  1 nouveau
drm_ttm_helper         12288  1 nouveau
ttm                   114688  2 drm_ttm_helper,nouveau
drm_display_helper    274432  1 nouveau
video                  81920  2 nouveau,nvidia_modeset
wmi                    36864  4 video,wmi_bmof,mxm_wmi,nouveau