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.
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.
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.
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.
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.
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