I just updated my laptop from F38 to F39 beta using the dnf system-upgrade command.
Everything seemed to work really well and the system booted but the nvidia drivers failed to load.
Checking the installed nvidia packages, I see that the kmod-nvidia-6.5.3… package was built and installed so it should have loaded. However the boot showed the nvidia driver failed to load -- falling back to nouveau message.
I do have secure boot enabled and have had with the nvidia drivers for quite some time so the key is properly loaded into bios and should have been included in the modules when they were built and installed.
Knowing the modules would not load, and that the modules had been built, I tested to see if it may have been failure to properly sign the modules during the system upgrade and reboot process.
I then removed the kmod-nvidia package with dnf remove kmod-nvidia-$(uname -r) followed by rebuilding the modules and reinstalling with akmods --force Once completed I rebooted and this time the modules loaded properly.
My conclusion is that even though the system upgrade did build and install the kmod-nvidia package, it failed with corrupted modules that would not load or it failed to properly sign the modules so secure boot prevented loading the nvidia drivers.
I did not attempt a reboot with secure boot disabled so I cannot confirm it was failure to sign the modules. I did confirm that rebuilding the modules solved the issue.
STEPS to perform
confirm the kmod-nvidia package was built and installed with dnf list installed kmod-nvidia-* which should show the package for the newly installed kernel.
remove that kmod-nvidia package with dnf. In my case I had already rebooted to the new kernel so it was easy to do with sudo dnf remove kmod-nvidia-$(uname -r)
Rebuild the kmod-nvidia package with sudo akmods --force
once step 3 completes then reboot. The nvidia drivers should now load properly.
I recall maybe this is because depmod was not run on the system upgrade for the seen in the f37 to f38. But I may be confusing this with a different cause.
To debug why the fallback happens I mask the fallback service and then try the modprobe after a reboot to get detailed error info.
Jeff, your solution worked for me. And just in time! I was worried I was going to have to say on 38 until this was sorted. Here’s my situation:
I have a fresh install of 39 beta on a testing partition. Secure boot is off. X11 session. When the beta first came out, the newest Nvidia driver loaded fine, but at some point after an update (not sure if it was a ststem or Nvidia update), the drivers failed to load with the error message you mentioned. Downgrading to Nvidia 470 worked,
Your solution to remove kmods-nvidia and then force a rebuilt worked.
At this point, do you feel it’s a fedora problem or a Nvidia issue?
Interesting case. It might be worth to report it to the testing mailing list.
Since this is a beta release, we expect that you may encounter bugs or missing features. To report issues encountered during testing, contact the Fedora Quality team via the test mailing list or in the #quality channel on Fedora Chat. As testing progresses, common issues are tracked in the “Common Issues” category on Ask Fedora.
It might also worth to consider making this a common issue, even if it is beta atm, there are already users working with it and we want to facilitate and encourage people to do beta testing.
Since Fedora39 is still in beta and now frozen until it releases only minor changes will update.You can try this in a terminal
sudo dnf update --enablerepo=updates-testing,updates
This will put in all the updates from testing and if there was a kernel update then kernel-devel was not in Fedora39 so running that command will pull it and all other updates in from the testing repo.Once Fedora39 is released it should update as normal.
What is your nvidia gpu?
Please post the output of lspci -nnk
Unless you are using a gpu that was no longer supported when nvidia upgraded the drivers to the 495 (and newer) versions it seems strange that you should have needed to downgrade to the nvidia 470 driver.
In fact , if the driver was newer than the 470 and working fine before this occurred then the downgrade should not have been required at all.
Please also post the output of inxi -Fzxx
Because the situation noted by @straycat is valid, I think the correct fix may be to remove the 470xx drivers then install the newer drivers with the following.
dnf remove \*nvidia\*470xx\* which would remove the 470xx driver packages.
dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda --refresh --enablerepo=updates,updates-testing which should also pull in the appropriate kernel-devel package (which at present is only in the updates-testing repo)
Following which the newer drivers should properly load and function (assuming my thoughts about having a newer gpu than would require the 470 driver is correct).
True mostly.
However, if the user has the nvidia 470xx drivers installed it will not pull the updates to the nvidia drivers since the 470xx driver package is designed to not upgrade to the latest (currently 535).
I suspect this was the reason the upgrade done by the OP did not have the nvidia drivers functioning
I will post the outputs of those commands before, but I have an update.
Last night, out of boredom, I installed the KDE spin of F39 beta on metal. Same issue when I attempted to install Nvidia 535x via Gnome Software app. I had to uninstall kmod-nvidia and kmod-nvidia – force. It worked.
Then this morning, I did my normal dnf upgrade on my primary F38 system, and the same friggin thing happened! had to uninstall kmod-nvidia and kmod-nvidia – force. This is three different installs that I have had the problem on. All systems are now running the Nvidia 535 driver after I manually rebuilt the modules.
My laptop GPUs are: NVIDIA GeForce GTX 1650 Mobile / Max-Q & Intel CoffeeLake-H GT2 [UHD Graphics 630]
--------- This is from my Fedora 38 system which ‘broke’ this morning. ------------
--------- Next, I’ll boot into 39 and return to paste that info. ------------
> lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ec4] (rev 07)
Subsystem: Lenovo Device [17aa:3808]
Kernel driver in use: skl_uncore
00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 07)
Subsystem: Lenovo Device [17aa:3813]
Kernel driver in use: pcieport
00:02.0 VGA compatible controller [0300]: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630] [8086:3e9b]
Subsystem: Lenovo Device [17aa:3a2e]
Kernel driver in use: i915
Kernel modules: i915
00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 07)
Subsystem: Lenovo Device [17aa:3830]
Kernel driver in use: proc_thermal
Kernel modules: processor_thermal_device_pci_legacy
00:08.0 System peripheral [0880]: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model [8086:1911]
Subsystem: Lenovo Device [17aa:3866]
00:12.0 Signal processing controller [1180]: Intel Corporation Cannon Lake PCH Thermal Controller [8086:a379] (rev 10)
Subsystem: Lenovo Device [17aa:3804]
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
00:14.0 USB controller [0c03]: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller [8086:a36d] (rev 10)
Subsystem: Lenovo Device [17aa:3807]
Kernel driver in use: xhci_hcd
00:14.2 RAM memory [0500]: Intel Corporation Cannon Lake PCH Shared SRAM [8086:a36f] (rev 10)
Subsystem: Lenovo Device [17aa:3804]
00:14.3 Network controller [0280]: Intel Corporation Cannon Lake PCH CNVi WiFi [8086:a370] (rev 10)
Subsystem: Intel Corporation Wireless-AC 9560 [8086:0034]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 [8086:a368] (rev 10)
Subsystem: Lenovo Device [17aa:3805]
Kernel driver in use: intel-lpss
00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1 [8086:a369] (rev 10)
Subsystem: Lenovo Device [17aa:380b]
Kernel driver in use: intel-lpss
00:16.0 Communication controller [0780]: Intel Corporation Cannon Lake PCH HECI Controller [8086:a360] (rev 10)
Subsystem: Lenovo Device [17aa:3811]
Kernel driver in use: mei_me
Kernel modules: mei_me
00:17.0 SATA controller [0106]: Intel Corporation Cannon Lake Mobile PCH SATA AHCI Controller [8086:a353] (rev 10)
Subsystem: Lenovo Device [17aa:3801]
Kernel driver in use: ahci
00:1d.0 PCI bridge [0604]: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 [8086:a330] (rev f0)
Subsystem: Lenovo Device [17aa:3819]
Kernel driver in use: pcieport
00:1d.5 PCI bridge [0604]: Intel Corporation Cannon Lake PCH PCI Express Root Port #14 [8086:a335] (rev f0)
Subsystem: Lenovo Device [17aa:381e]
Kernel driver in use: pcieport
00:1e.0 Communication controller [0780]: Intel Corporation Cannon Lake PCH Serial IO UART Host Controller [8086:a328] (rev 10)
Subsystem: Lenovo Device [17aa:3810]
Kernel driver in use: intel-lpss
00:1f.0 ISA bridge [0601]: Intel Corporation HM470 Chipset LPC/eSPI Controller [8086:a30d] (rev 10)
00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
Subsystem: Lenovo Device [17aa:3815]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_cnl
00:1f.4 SMBus [0c05]: Intel Corporation Cannon Lake PCH SMBus Controller [8086:a323] (rev 10)
Subsystem: Lenovo Device [17aa:3816]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller [8086:a324] (rev 10)
Subsystem: Lenovo Device [17aa:3803]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] [10de:1f91] (rev a1)
Subsystem: Lenovo Device [17aa:3a2e]
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10fa] (rev a1)
Subsystem: Lenovo Device [17aa:3a2e]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
06:00.0 Non-Volatile memory controller [0108]: Micron/Crucial Technology P2 [Nick P2] / P3 / P3 Plus NVMe PCIe SSD (DRAM-less) [c0a9:540a] (rev 01)
Subsystem: Micron/Crucial Technology Device [c0a9:5021]
Kernel driver in use: nvme
Kernel modules: nvme
07:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)
Subsystem: Lenovo Device [17aa:38cf]
Kernel driver in use: r8169
Kernel modules: r8169
This shows the latest nvidia driver and the GTX 1650 GPU which is properly supported.
When you said
Please be more specific.
What broke and forced this manual rebuild.
What nvidia packages are installed? Please post the output of dnf list installed \*nvidia\* from one and we can focus on fixing that one, then the others may need similar repairs.
Here is the ouput from my Fedora 39 Beta (gnome). Regarding the 470 driver, that driver was never installed on last noght’s KDE 39. So I doubt it’s install at one point is an issue.
$ lspci -nnk
00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ec4] (rev 07)
Subsystem: Lenovo Device [17aa:3808]
Kernel driver in use: skl_uncore
00:01.0 PCI bridge [0604]: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) [8086:1901] (rev 07)
Subsystem: Lenovo Device [17aa:3813]
Kernel driver in use: pcieport
00:02.0 VGA compatible controller [0300]: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630] [8086:3e9b]
Subsystem: Lenovo Device [17aa:3a2e]
Kernel driver in use: i915
Kernel modules: i915
00:04.0 Signal processing controller [1180]: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem [8086:1903] (rev 07)
Subsystem: Lenovo Device [17aa:3830]
Kernel driver in use: proc_thermal
Kernel modules: processor_thermal_device_pci_legacy
00:08.0 System peripheral [0880]: Intel Corporation Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model [8086:1911]
Subsystem: Lenovo Device [17aa:3866]
00:12.0 Signal processing controller [1180]: Intel Corporation Cannon Lake PCH Thermal Controller [8086:a379] (rev 10)
Subsystem: Lenovo Device [17aa:3804]
Kernel driver in use: intel_pch_thermal
Kernel modules: intel_pch_thermal
00:14.0 USB controller [0c03]: Intel Corporation Cannon Lake PCH USB 3.1 xHCI Host Controller [8086:a36d] (rev 10)
Subsystem: Lenovo Device [17aa:3807]
Kernel driver in use: xhci_hcd
00:14.2 RAM memory [0500]: Intel Corporation Cannon Lake PCH Shared SRAM [8086:a36f] (rev 10)
Subsystem: Lenovo Device [17aa:3804]
00:14.3 Network controller [0280]: Intel Corporation Cannon Lake PCH CNVi WiFi [8086:a370] (rev 10)
Subsystem: Intel Corporation Wireless-AC 9560 [8086:0034]
Kernel driver in use: iwlwifi
Kernel modules: iwlwifi
00:15.0 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #0 [8086:a368] (rev 10)
Subsystem: Lenovo Device [17aa:3805]
Kernel driver in use: intel-lpss
00:15.1 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH Serial IO I2C Controller #1 [8086:a369] (rev 10)
Subsystem: Lenovo Device [17aa:380b]
Kernel driver in use: intel-lpss
00:16.0 Communication controller [0780]: Intel Corporation Cannon Lake PCH HECI Controller [8086:a360] (rev 10)
Subsystem: Lenovo Device [17aa:3811]
Kernel driver in use: mei_me
Kernel modules: mei_me
00:17.0 SATA controller [0106]: Intel Corporation Cannon Lake Mobile PCH SATA AHCI Controller [8086:a353] (rev 10)
Subsystem: Lenovo Device [17aa:3801]
Kernel driver in use: ahci
00:1d.0 PCI bridge [0604]: Intel Corporation Cannon Lake PCH PCI Express Root Port #9 [8086:a330] (rev f0)
Subsystem: Lenovo Device [17aa:3819]
Kernel driver in use: pcieport
00:1d.5 PCI bridge [0604]: Intel Corporation Cannon Lake PCH PCI Express Root Port #14 [8086:a335] (rev f0)
Subsystem: Lenovo Device [17aa:381e]
Kernel driver in use: pcieport
00:1e.0 Communication controller [0780]: Intel Corporation Cannon Lake PCH Serial IO UART Host Controller [8086:a328] (rev 10)
Subsystem: Lenovo Device [17aa:3810]
Kernel driver in use: intel-lpss
00:1f.0 ISA bridge [0601]: Intel Corporation HM470 Chipset LPC/eSPI Controller [8086:a30d] (rev 10)
00:1f.3 Audio device [0403]: Intel Corporation Cannon Lake PCH cAVS [8086:a348] (rev 10)
Subsystem: Lenovo Device [17aa:3815]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel, snd_soc_skl, snd_sof_pci_intel_cnl
00:1f.4 SMBus [0c05]: Intel Corporation Cannon Lake PCH SMBus Controller [8086:a323] (rev 10)
Subsystem: Lenovo Device [17aa:3816]
Kernel driver in use: i801_smbus
Kernel modules: i2c_i801
00:1f.5 Serial bus controller [0c80]: Intel Corporation Cannon Lake PCH SPI Controller [8086:a324] (rev 10)
Subsystem: Lenovo Device [17aa:3803]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] [10de:1f91] (rev a1)
Subsystem: Lenovo Device [17aa:3a2e]
Kernel driver in use: nvidia
Kernel modules: nouveau, nvidia_drm, nvidia
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10fa] (rev a1)
Subsystem: Lenovo Device [17aa:3a2e]
Kernel driver in use: snd_hda_intel
Kernel modules: snd_hda_intel
06:00.0 Non-Volatile memory controller [0108]: Micron/Crucial Technology P2 [Nick P2] / P3 / P3 Plus NVMe PCIe SSD (DRAM-less) [c0a9:540a] (rev 01)
Subsystem: Micron/Crucial Technology Device [c0a9:5021]
Kernel driver in use: nvme
Kernel modules: nvme
07:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 10)
Subsystem: Lenovo Device [17aa:38cf]
Kernel driver in use: r8169
Kernel modules: r8169
That shows F39 with the nvidia drivers running, but only the 6.5.6 kernel. If you did a full upgrade with the updates-testing repo enabled F39 should now have the 6.5.8 kernel.
Please show the output of the dnf list installed \*nvidia\* command as asked for above.
Note that it seems mandatory when updating kernel and/or nvidia drivers that the user wait at least 3 to 5 minutes after the upgrade or install completes before performing a reboot. Without the delay the new driver modules may not be properly built and installed
I do not have updates-testing repo enabled because I didn’t feel it was required. Isn’t that more bleeding edge than 39 once it’s released?
As you requested, going forward, we will discuss Fedora/Gnome 39 Beta. Below is the output you requested. BTW, I am more than willing to do a fresh install and be walked through any sequence of commands you’d like. For the sake of others who have Nvidia and would have given up by now on Linux, I’d like to try and help solve this.
Because F39 Beta is in final freeze while they work out the remaining bugs all updates are being held in the updates-testing repo. The Beta is getting no further updates/fixes until after final release.
Once F39 is released as final the great majority of the updates-testing packages will be moved to updates so it (at present) means you would be assisting in verifying that all the current packages there are fully stable.
I am using everything from the updates-testing repo with my latest update as of 10/21 with kernel 6.5.8.
It is up to you whether you also use the updates-testing repo.
Is there something you would like me to try next? Maybe a fresh install, then update with the addition of the updates-testing repo, then install Nvidia 535x and see what happens?