Problem
The rpmfusion site shows how to enable secure boot with fedora 36 and sign the nvidia driver so it properly loads.
https://rpmfusion.org/Howto/Secure%20Boot
What it fails to say is that the steps and commands given can only be done after fedora 36 is active and thus when upgrading from an earlier version of fedora the user is left with an unsigned driver at the time of upgrade and the following boot. The unsigned driver will not load with secure boot enabled as has been the case for all prior versions of fedora (35 and earlier)
Cause
For users with the nvidia driver already installed and doing an upgrade from fedora 35 or earlier, the nvidia driver will be upgraded as well and the drivers will be built for the new kernel before the user can follow the given steps to generate the key, import it into the BIOS, and sign the nvidia driver.
Related Issues
Workarounds
The problem can be avoided by
- uninstall all nvidia driver packages before the version upgrade
- perform the system version upgrade
- perform the steps given by the rpmfusion how-to linked above
- reinstall the nvidia drivers and the new driver will be signed and load properly.
If the user has already done the upgrade and the nvidia driver will not load the following will work to fix the issue.
- perform the steps in the rpmfusion how-to linked above
- remove the kmod-nvidia package built for the latest kernel. For the initial kernel with the fedora 36 release that is the 5.17.3 kernel and can be done with
dnf remove kmod-nvidia-5.17.3-302.fc36.x86_64.x86_64
- reinstall akmod-nvidia
- reboot to force akmod to rebuild the nvidia modules with the key already generated in step 1 above. The nvidia module should now load properly.