Hello. I have a problem.
I newly installed Fedora 44 KDE, but i expect one problem.
I can’t sign nvidia module.
How i tried:
install modules: sudo dnf in akmod-nvidia
generate keys: sudo kmodgenca -a
import them: sudo mokutil --import /etc/pki/akmods/certs/public_key.der
after reboot i entered mok menu, and imported key with my password.
But, after seeing on boot screen: akmods: building, i see - nvidia module missing, falling back to nouveau.
And, i don’t know what to do next.
But, previously, when i used fedora 43 and did the same install as i described before, all worked fine.
Is there any solution for this problem?
Okay, i don’t know what i exactly did, but here’s my solution, this worked for me.
sudo dnf remove *nvidia*
sudo rm -rf /etc/pki/akmods
sudo rm -rf /var/cache/akmods
sudo rm -rf /usr/lib/modules//extra/nvidia
sudo mokutil --reset # DO NOT RUN IF NOT SURE WHAT IT DOES!
Reboot.
Next, open Discover, and install NVIDIA from here.
Reboot, if you see akmod: building - that’s what you need.
Next, after logging in, check for key.
sudo ls /etc/pki/akmods/certs/
if you see only two files (which one is public_key.der, then you can proceed)
Import it
sudo mokutil --import /etc/pki/akmods/certs/public_key.der
And enter pass, remember it.
Reboot, enter mok and enroll key, and nvidia will work.
On a new installation of nvidia drivers that have never had the driver previously installed the first time the modules are built they are not signed.
This is because the module is built as soon as it is installed, and before the signing key is generated.
When this happens even after following the steps you used to create and import the key do not remove anything
Simply rebuild the modules with sudo akmods --rebuild --force and after that completes a reboot should load the now signed module.
If the nvidia driver is newly installed and has never previously been installed, one of the dependencies that is installed at the same time is akmods.
Since akmods is newly installed the signing key is not yet created, so when the driver is automatically built at the time of the new installation there is no key to sign it – ie the new driver module is unsigned at that time.
The first time you reboot after installing akmods as a dependency for the nvidia driver it will automatically create the signing key, but that key is not yet known to bios. When you run the commands in the file /usr/share/doc/akmods/README.secureboot it creates the signing key (if not already created) and imports that key into bios, but the existing kernel driver module is still not signed.
Running the command above (sudo akmods --rebuild --force) now removes the unsigned module and installs a newly signed module, which then can be loaded with secure boot enabled the next time you reboot.
This situation only occurs with a new installation of the nvidia drivers. Updates to the akmod-nvidia package will automatically have the new driver modules signed as they are built.