Fedora 35 showing "nvidia kernel module missing" on boot

I installed Fedora 35 Beta today and i’m trying to install the nvidia driver but it always shows “nvidia kernel module missing”. I think it might be becuase I installed the driver before restarting after the first update that updated the kernel, but i’ve already tried reinstalling the driver and it keeps giving the same error. Also checked secure boot and it’s disabled.

Make sure you have kernel-devel and kernel-headers installed

They’re already installed

Did you install nvidia with rpmfusion or another way.If you used rpmfusion you maybe able to uninstall nvidia then reinstall.

1 Like

I installed with rpmfusion and already tried to uninstall and reinstall too :frowning:

Sorry I can’t think of anything else to try.There are quite a few here on the forum that I’m sure will have some better ideas.

Try it in this way.

  1. sudo dnf update
    (to verify all packages are fully updated)
  2. reboot to the latest kernel installed.
  3. uname -a
    (to verify that you are using the f35 kernel)
  4. cat /etc/fedora-release
    (to verify that it sees you are actually running the proper release version)
  5. sudo dnf reinstall kernel\*
    (to make certain all kernel packages are in sync)
  6. sudo dnf reinstall akmod-nvidia
    (to rebuild all the nvidia modules)
  7. reboot to the same kernel

This process should recover. If that fails then try “sudo dnf distro-sync”

EDIT:
This is vitally important.
Since fedora is now using a signed kernel and the UEFI sees that signature, secure boot will prevent loading an unsigned nvidia module. You must turn off secure boot in the UEFI BIOS to enable loading the nvidia driver.

You can see the errors by running

dmesg | grep -E 'secure|nvidia'

If the error is caused by secure boot and you fix secure boot then none if the above may be necessary.

4 Likes

I also had some weird behavior when I upgraded to version 35, including something similar to yours. It turned out that I was booting on the wrong Kernel, but I can’t explain it very well. It seems Fedora 35 Beta comes with a slightly outdated version of the Kernel compared to 34, or at least its what my grub screen led me to believe, or maybe I had locked it on an older version by accident and it interfered on the upgrade proccess.

Anyway, I had already tried a bunch of things including reinstalling the drivers when I noticed that grub was loading the kernel 5.14.10 for Fedora 35 instead of the more recent 5.14.12 and it seems the driver was only loaded on the 5.14.12. I don’t really understand a lot about this, but after booting on the right Kernel it worked fine.

So my sugestion is for you to check if you’re not booting on the wrong kernel.

1 Like

I think your kernel issue is that the F35 beta version is on hold with the kernel version 5.14.10 that will be in the final release (as is everything else as well). My F34 is at 5.14.12.
I expect several things to be updated in the next week after F35 is released, including the kernel should leap ahead then.

My system, which is F35 Beta, has no issue with the kernel and nvidia. As I said earlier, if secure boot is enabled then the nvidia modules cannot be loaded with an F35 kernel due to the module being unsigned.

The OP has not responded since I posted that so lets wait until he updates and tells us what he found & tried.

Thanks a lot.
Problem is over now. Congratulations!

1 Like

Suffering similar issues after upgrading to the production v.35 yesterday - video was working fine in v.34. I get the same error message on boot, “NVIDIA kernel module missing.” I tried the 7 suggested verify/reinstall/rebuild steps at post 7 and rebooted with no change. I then looked at the dmesg results under “vitally important,” and got the following:

gregbrannon@greg-linux-samba:12:50:20/~ $ dmesg | grep -E 'secure|nvidia'
[    0.000000] Command line: BOOT_IMAGE=(hd4,gpt2)/vmlinuz-5.14.16-301.fc35.x86_64 root=UUID=92088ea2-6625-456e-930c-9b32c128ee2f ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1
[    0.000000] secureboot: Secure boot disabled
[    0.004924] secureboot: Secure boot disabled
[    0.062170] Kernel command line: BOOT_IMAGE=(hd4,gpt2)/vmlinuz-5.14.16-301.fc35.x86_64 root=UUID=92088ea2-6625-456e-930c-9b32c128ee2f ro rootflags=subvol=root rhgb quiet rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1
[    4.686431] nvidia: loading out-of-tree module taints kernel.
[    4.686442] nvidia: module license 'NVIDIA' taints kernel.
[    4.702367] nvidia: module verification failed: signature and/or required key missing - tainting kernel
[    4.721601] nvidia-nvlink: Nvlink Core is being initialized, major device number 509
               NVRM:  visit http://www.nvidia.com/object/unix.html for more
[    4.722433] nvidia-nvlink: Unregistered the Nvlink Core, major device number 509
[    4.854441] nvidia-nvlink: Nvlink Core is being initialized, major device number 509
               NVRM:  visit http://www.nvidia.com/object/unix.html for more
[    4.855432] nvidia-nvlink: Unregistered the Nvlink Core, major device number 509

The NVIDIA complaints are new to me and would appreciate explanations/possible solutions for the various kernel taints.

I have not tried distro-sync as that seems like a last resort - why not do that first? - but I’ll give it a shot if it’s still recommended.

From another thread (can’t find it right now), I learned that my card is a GeForce GT710 so drivers shouldn’t have moved to the ‘legacy driver’ distro.

Any other thoughts or things to try? I’ve seen similar problems with starting down the upgrade trail too soon, but this particular problem seems to be limited to a lucky few.

I’ve used this resource many times, usually discovering the solution without having to post, and I appreciate the contributions of the many experts here. And I love FEDORA; been using it as primary OS for 12ish years.

Thanks.

Greg.

It looks like the driver properly installed. To verify that try

lsmod | grep nvidia

if that returns several listed nvidia modules then it is installed properly and in use.

You can also run “inxi -Gzx” and it will show whether the driver is in use for your card.

One thing I have seen in reports with F35 and the latest nvidia driver is that a few have noted that the 495.44 nvidia driver seems to not support the 700 series nvidia cards. I don’t know if that is true since I do not have one of those.

The few that have reported that problem seem to have been able to recover by removing the 495 driver and reinstalling the 470 driver instead.

You can tell which driver version you now have installed by running

sudo dnf list installed \*nvidia\*

As far as the ‘tainted’ kernel messages, that has always been the case with nvidia drivers and fedora. A ‘tainted’ kernel is one that has an unsigned kernel module running which happens because the nvidia driver is proprietary and not signed with a valid and approved code. It does not affect operation and is simply a notification; but it does prevent data being collected for filing a bug if you have a kernel crash.

I personally have never had an issue with that situation.

The lsmod nvidia returns nothing. lsmod with nouveau returns:

nouveau              2400256  33
drm_ttm_helper         16384  1 nouveau
ttm                    86016  2 drm_ttm_helper,nouveau
video                  57344  2 asus_wmi,nouveau
drm_kms_helper        303104  1 nouveau
drm                   630784  13 drm_kms_helper,drm_ttm_helper,ttm,nouveau
mxm_wmi                16384  1 nouveau
i2c_algo_bit           16384  2 igb,nouveau
wmi                    36864  4 asus_wmi,wmi_bmof,mxm_wmi,nouveau

inxi -Gzx returns:

Graphics:  Device-1: NVIDIA GK208B [GeForce GT 710] vendor: Micro-Star MSI driver: nouveau v: kernel 
           bus-ID: 0b:00.0 
           Display: x11 server: X.Org 1.20.11 driver: loaded: modesetting unloaded: fbdev,vesa 
           resolution: 1: 1920x1200~60Hz 2: 1920x1200~60Hz 
           OpenGL: renderer: NV106 v: 4.3 Mesa 21.2.5 direct render: Yes

dnf list installed gives:

akmod-nvidia.x86_64                                  3:495.44-1.fc35            @rpmfusion-nonfree-updates
kmod-nvidia-5.14.15-200.fc34.x86_64.x86_64           3:495.44-1.fc35            @@commandline             
kmod-nvidia-5.14.15-300.fc35.x86_64.x86_64           3:495.44-1.fc35            @@commandline             
kmod-nvidia-5.14.16-301.fc35.x86_64.x86_64           3:495.44-1.fc35            @@commandline             
nvidia-settings.x86_64                               3:495.44-1.fc35            @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia.x86_64                           3:495.44-3.fc35            @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64                   3:495.44-3.fc35            @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64                      3:495.44-3.fc35            @rpmfusion-nonfree-updates

I see the ‘495’ you mentioned, so I’ll go look for the 470 driver and see if that’s a solution. Let me know if you have any other thoughts from the info I’ve given. My current latest kernel is the 5.4.16, but it seems that just happened today, and I followed your recipe above after doing the update.

Thank you for the suggestions and for your insights on the taints. I vaguely remember coming across that before in a different context and just forgot.

Greg.

You can remove all those packages and install the 470 drivers again with

sudo dnf remove \*nvidia\*
sudo dnf install akmod-nvidia*470*

That should remove all the 495 driver packages and reinstall the 470 drivers.
It then should restore the operation of the nvidia GPU as it was earlier.

Assuming this restores the function of the GT710 GPU, what you will then need to do with updates in the future is exclude the nvidia packages from updates so it does not reinstall the 495 driver.

1 Like

This is likely to be the issue …Nvidia failure after F35 upgrade: GeForce GT470 (now legacy for F35)

1 Like

Removing 495 and reinstalling the 470 drivers as suggested above has solved the issue for me.

JV - As for excluding future updates to the Nvidia drivers, what is the appropriate command?

sudo dnf update --exclude=akmod-nvidia #?

Thanks, all, for your help.

Greg.

Since you installed akmod-nvidia 470 drivers it should stay on the 470 and any updates would only update the 470 driver as it does when the 390 drivers are installed.

Since you installed akmod-nvidia 470 drivers it should stay on the 470 and any updates would only update the 470 driver as it does when the 390 drivers are installed.

That makes sense, and I already verified the behavior you describe. Sleeping better now.

Greg.

Not true for me.
Before f35 was released I was running the 470 drivers.
This last week it updated to the 495 driver when rpmfusion moved them from the testing repo to the normal repo.

Excluding the nvidia drivers from update is simply using the option

--exclude=*nvidia*

with the dnf updates.

Mine updated to the 495 drivers as well but when I installed which was Fedora 33 I used akmod-nvidia and not
install xorg-x11-drv-nvidia-470xx akmod-nvidia-470xx
which is now shown on the rpmfusion how to.