Hello! I’m new to Fedora and Linux, first installation on a brand new MSI laptop. Saw a couple of tutorials and followed several guides.
I have two main issues:
The boot time and the time for opening apps is somewhat slow (takes 5-7 seconds to open “Files” for example, sometimes a bit more). My previous 8 year-old Windows laptop waaaay quicker. My current PC has an AMD Ryzen 9 8940HX, 32GB RAM and SSD memory. Is this normal?
The NVIDIA Drivers has been a gigantic headache. I’ve followed several guides to install it, but I don’t think it’s properly working. Everytime I turn on the PC, I get the message “NVIDIA kernel module missing. Falling back to nouveau”. I’m not even sure if the GPU being primarily used is the NVIDIA one. I think it’s the CPU integrated.
lspci -n -n -k | grep -A 2 -e VGA -e 3D
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GB205M [GeForce RTX 5070 Ti Mobile] [10de:2f18] (rev a1)
Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:14d1]
Kernel driver in use: nouveau
–
6a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev d8)
Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:14d1]
Kernel driver in use: amdgpu
you probably just need to follow the guide to import the keys with mokutil. Usually akmods has already created the keys, so you can skip this part.
The kernel modules are signed.
Mark is right; follow the RPM Fusion guides. To summarize: Upgrade, set up secure boot, then install the NVIDIA driver last.
But one more thing: Since this is a new system, be sure to update the BIOS/firmware, before doing anything else, to reduce the likelihood of hitting weird bugs.
To supplement the method given by Mark above and after reviewing the instructions you linked to there are additional steps that were omitted in the part you followed. Note that the guide you used was for f39, which was 2 years ago and quite some time before the 5070 GPU was available.
Nothing in that guide told you that the nvidia driver will not load when secure boot is enabled unless the modules are signed.
Additionally it did not tell you that the first time the driver is installed by following those steps that the driver is not signed and cannot be loaded by secure boot. The akmods package is what creates the signing key and that does not happen unless you reboot after it is installed or you create the key manually by following step 1 below. In any case the very first time the driver module is built it will not be signed. (an exception would be if the user installed the akmods package first and rebooted before installing the akmod-nvidia package). Nothing I know of tells a user to install akmods and reboot before installing the nvidia drivers so for almost all users the initial driver built is never signed.
To solve both those problems noted above
Follow the guide linked by Mark to enroll the signing key into bios. The same steps are clearly shown in the file /usr/share/doc/akmods/README.secureboot.
After rebooting at the end of enrolling the key into bios you need to ensure the driver module is properly rebuilt (and this time it will be signed automatically). The command sudo akmods --rebuild --force does that for you.
A final reboot should now load the nvidia driver. This can be confirmed by the command lsmod | grep -E 'nvidia|nouveau'. If this returns several lines showing nvidia it will indicate success.
This means the NVIDIA drivers are perfectly fine and, whenever I run some game, the GPU used is the NVIDIA one, correct?
Additionally, the “NVIDIA kernel module missing. Falling back to nouveau” message did NOT appear during boot.
That shows the nvidia drivers loaded, so the gpu should b e working properly.
If the system is working as I understand it, the dGPU (nvidia) should automatically be used when there is a heavy graphics load and the iGPU (intel) would handle everything else.
It is also quite easy to use switcherooctl to specify which gpu to use.
Did installing the nvidia driver correctly and getting the driver to load at boot solve the slow load of apps for you?
I do notice an improvement, yes! “Files” for instance is much quicker to open. However, I find the initial boot time long.
I have timed with a chronometer: my old Windows 10 laptop takes 19 seconds to get to the Desktop (including inserting the PIN code).
This current laptop takes ~59 seconds to get to the Desktop (at 20 seconds I get the screen to insert password from disk-based encryption / at 53 seconds I get the screen to insert my “profile” password).
The only Startup Application I have is ProtonVPN. When I disable it, I don’t notice any speed difference.
I’m considering reinstalling Fedora, this time without the disk-based encryption. Will this improve boot time speed? Because I’d be willing to sacrifice the encryption if that means a significant faster boot speed.
initrd is slow from your systemd-analyze output. You tin takes 24.8 seconds, mine is 1.4 seconds and this isn’t some powerhouse machine I’m using.
There’s not quite enough output in head -20 - post all of it and you might find it useful to run systemd-analyze plot | fpaste and paste the url it gives you here.
That will produce an svg showing the entire boot process starting in parallel - w’ell be able to see why initrd takes so long to complete execution. If we can lop 20 seconds from your initrd time you’ll be booting in about 30 seconds, and 11 of that is waiting for the BIOS to POST.
The plot shows that NetworkManager-wait-online.service is enabled and takes 5.988s.
IMO this should be disabled on a laptop.
I’m pretty sure that the long delay to have the prompt for the disk encryption is due to
plymouth waiting for the amdgpu card to be (partly may be) initialized.
@anothermindbomb, should we suggest to reboot withoutrhgb and to redo
systemd-analyze and the plot ?
Absolutely - great idea. I’m not a laptop user so I don’t actually know what one looks like when it’s booting. Don’t use disk encryption either so I’m ignorant in that department.