I installed nvidia drivers using this guide.
after install finished I waited for it to finish the compiling (CPU usage went up so something was happening) after about 2 minutes it finished and I restarted the system.
then I ran inxi -G to check the drivers and here’s the result:
the line rd.driver.blacklist=nouveau modprobe.blacklist=nouveau is repeated two times here. I just ignored it and added this line mem_sleep_default=deep to make fedora use deep sleep instead of s2idle which drains battery faster than when I’m using my laptop. after I restarted the laptop it was still using s2idle. however on my last fedora install I removed the duplicate blacklist commands and somehow mem_sleep_default=deep started to work. so what should I do about this? why is it duplicate? should I remove one of them?
There sees to be a possible bug in the install script for akmod-nvidia or related that adds those options into that line twice. It looks odd but is totally benign when booting as far as the system is concerned. One can tell it is benign by comparing the output of cat /proc/cmdline with what you posted and see that those options only appear in the command line once. Removing the second copy of those 2 options may or may not affect the sleep option you are trying.
BTW I hope this I just ignored it and added this line is a typo and that you added the option into the line in /etc/default/grub and did not actually add a new line with that content.
However, since the nouveau driver is actually loaded and not nvidia, please let us see the output of mokutil --sb-state and dnf list installed '*nvidia*'.
Edit: on opensuse and ubuntu I used to get a prompt for typing in my password to enroll the keys for secure boot (before booting into the OS). but Ii didn’t get any prompt on fedora.
I don’t use secure boot but on rpmfusions how to install nvidia it explains how to set up nvidia with secure boot @computersavvy can explain how to set it up alot better than I can.
Once the steps in those instructions have been completed the final step that is required is to
remove the current modules that are unsigned sudo dnf remove kmod-nvidia-6.4.9-200.fc38.x86_64
build the modules again so they are properly signed sudo akmods --force --kernels 6.4.9-200.fc38.x86_64
reboot, and this time enter the bios setup and enable secure boot.
These 3 steps may not be required except for step 3 which enables secure boot if one chooses to do an update with sudo dnf upgrade --refresh. The kernel 6.4.10 was just released and installing that kernel would build the modules for the new kernel already signed.
If one chooses to do the update then after waiting long enough for the system to build the new modules the reboot and enabling secure boot should make it possible to use nvidia with secure boot. Depending upon the system the wait should be anywhere from 3 to 10 minutes.
so what’s the point of akmod-nvidia if I have to do all these manually? and what happens if I go from fedora 38 to 39 or a new nvidia driver is released? do I need to redo all the step?
You absolutely should not need to do any of that except at the very first time booting with secure boot enabled and signed kernel modules. In fact, if one has done the key generation and imported it into the bios with mokutil before installing the akmod-nvidia package those steps would not have been required.
Once the key is imported to bios then akmods will automatically sign any new kernel modules built from that time on with updates.
I have Fedora 38 with secure boot enable from the beginning of the installation, and also the nvidia card and drivers are running OK.
I followed the instructions from the official RPM Fusion guide (including the ‘enrolling the keys’ steps for the secure boot). The only thing that I changed was to always use X11 and not Wayland. But even with Wayland the nvidia driver works, except for a few Qt applications that was not loading correctly. With X11 everything works smooth and correctly.