Fedora 32 loading Nouveau and not nVidia drivers

Hello Friends:

I have a curious problem.

I recently upgraded from Fedora-30 to Fedora-32 (64bit) using the CLI. The upgrade completed fine. Now my boot options include two Fedora-30 kernels and a new Fedora-32 kernel to choose from.

As was the case before the upgrade, booting to either Fedora-30 kernel correctly loads the nVidia modules:

user@fedora$ lsmod | grep nvidia
nvidia_drm             57344  6
nvidia_modeset       1118208  4 nvidia_drm
nvidia_uvm           1085440  0
nvidia              20504576  344 nvidia_uvm,nvidia_modeset
ipmi_msghandler       118784  2 ipmi_devintf,nvidia
drm_kms_helper        237568  2 nvidia_drm,i915
drm                   598016  9 drm_kms_helper,nvidia_drm,i915

However, booting to the Fedora-32 kernel loads the Nouveau modules (… Note: I’m not booted to that kernel right now, so I can’t cut / paste the loaded nouveau modules).

This is odd because I universally blacklisted the Nouveau driver long ago, as shown:

/etc/modprobe.d/nvidia-installer-disable-nouveau.conf:

# generated by nvidia-installer
#
blacklist nouveau
options nouveau modeset=0

/etc/default/grub:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT="Windows-10/64bit"
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

/boot/grub2/grubenv:

# GRUB Environment Block
saved_entry=1745e19530c7493e88760ef2c8daa61d-5.6.18-300.fc32.x86_64
kernelopts=root=UUID=834abaa3-b0ef-44fc-aea4-62e78c9896cc ro rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 quiet net.ifnames=0 biosdevname=0 
boot_success=1
boot_indeterminate=0
###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################

root@fedora# grep nouveau /boot/grub2/grub.cfg:

set kernelopts="root=UUID=834abaa3-b0ef-44fc-aea4-62e78c9896cc ro rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1 quiet net.ifnames=0 biosdevname=0 "

And for good measure, I manually generated a new ramdisk for the offending Fedora-32 kernel, even though that should have been done during upgrade time:

root@fedora# KERNEL=kernel-5.6.18-300.fc32.x86_64
root@fedora# dracut /boot/initramfs-${KERNEL}.img ${KERNEL} --force

I’ll also mention that I don’t have any Nouveau RPMs installed (i.e., this is not installed: xorg-x11-drv-nouveau.x86_64).

Any ideas why the Fedora-32 kernel is loading the Nouveau drivers? Because of this, I can’t start my GUI when booted to Fedora-32. The GUI starts fine when booting to Fedora-30.

Also, do the various modeset= look correct, where shown?

Thank you in advance.

Hi,

Please provide the output of lspci -v

Thanks Tom.

If you are using akmods, it is quite possible that the nVidia kernel module for 5.6.18-300 failed to build. If that’s the case, there should be a ā€œ440.82-2-for-5.6.18-300.fc32.x86_64.failed.logā€ (version numbers may be different) file in /var/cache/akmods/nvidia/ explaining the failure.

Yes, they do.

JiC: Ā Did You installed that with rpm-fusion repos?

Hi @alexpl , @tjdoyle and @vits95 :

It’s always nice when community friends spring into to action to help. :blush: Let me answer your questions collectively here.

@tjdoyle
Here is the output you requested: https://pastebin.com/TJ6iVxCX. Note that it was generated while booted to the Fedora-30 kernel (so I could type this), and not the Fedora-32 kernel (so it may not be as useful).

@vits95
It’s funny that you ask because – until last night – I was using a combination of rpmfusion and negativo17 RPMs. Not good. It was a legacy situation probably from several years back. While troubleshooting this last night, I noticed it and completely removed all negativo17 RPMs and it’s accompanying repo in /etc/yum.repos.d/. Hopefully there are no residual items from negativo17 that remain elsewhere. Anyway, here are the relevant surviving RPMs (after removing all of the negativo17 stuff):

user@fedora$ dnf list installed | egrep ā€˜rpmfusion|negativo17’ | grep -i nvidia

akmod-nvidia.x86_64                   3:440.82-2.fc32  @rpmfusion-nonfree-updates
kmod-nvidia.x86_64                    3:440.82-2.fc32  @rpmfusion-nonfree-updates
nvidia-modprobe.x86_64                3:440.82-1.fc32  @rpmfusion-nonfree
nvidia-persistenced.x86_64            3:440.82-1.fc32  @rpmfusion-nonfree
nvidia-settings.x86_64                3:440.82-1.fc32  @rpmfusion-nonfree
xorg-x11-drv-nvidia.x86_64            3:440.82-1.fc32  @rpmfusion-nonfree
xorg-x11-drv-nvidia-cuda.x86_64       3:440.82-1.fc32  @rpmfusion-nonfree
xorg-x11-drv-nvidia-cuda-libs.i686    3:440.82-1.fc32  @rpmfusion-nonfree
xorg-x11-drv-nvidia-cuda-libs.x86_64  3:440.82-1.fc32  @rpmfusion-nonfree
xorg-x11-drv-nvidia-kmodsrc.x86_64    3:440.82-1.fc32  @rpmfusion-nonfree
xorg-x11-drv-nvidia-libs.i686         3:440.82-1.fc32  @rpmfusion-nonfree
xorg-x11-drv-nvidia-libs.x86_64       3:440.82-1.fc32  @rpmfusion-nonfree

@alexpl
I learned something new. All these years and I was unaware that /var/cache/akmods/nvidia/ existed! Who knew?! :flushed: And indeed, there is a failure log. Below is the tail end of it, where it calls out the error. It suggests a corrupt, incompatible or missing RPM database as the culprit. But I’ll wait on rebuilding the rpmdb it until friends here reply.

[ ... SNIP ....]
2020/06/16 14:26:17 akmodsbuild: + exit 0
2020/06/16 14:26:17 akmods: Installing newly built rpms
2020/06/16 14:26:17 akmods: DNF detected
Dependencies resolved.
================================================================================
 Package                            Arch   Version           Repository    Size
================================================================================
Installing:
 kmod-nvidia-5.6.18-300.fc32.x86_64 x86_64 3:440.82-2.fc32   @commandline  13 M

Transaction Summary
================================================================================
Install  1 Package

Total size: 13 M
Installed size: 30 M
Downloading Packages:
Running transaction check
Waiting for process with pid 665 to finish.
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
RPM: error: db5 error(-30969) from dbenv->open: BDB0091 DB_VERSION_MISMATCH: Database environment version mismatch
RPM: error: cannot open Packages index using db5 -  (-30969)
RPM: error: cannot open Packages database in /var/lib/rpm
Error: Could not run transaction.
2020/06/16 14:39:39 akmods: Could not install newly built RPMs. You can find them and the logfile in:
2020/06/16 14:39:39 akmods: /var/cache/akmods/nvidia/440.82-2-for-5.6.18-300.fc32.x86_64.failed.log

By the way, for completeness, here are the nvidia kernel modules for Fedora-30 and Fedora-32 (where I’m unsure what /weak-updates/ mean in the Fedora-32’s case):

root@fedora# find /lib/modules/{5.6.13-100.fc30.x86_64,5.6.18-300.fc32.x86_64} | grep -i nvidia

Fedora-30:
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia-uvm.ko.xz
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia-modeset.ko.xz
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia-drm.ko.xz
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia.ko.xz
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia/nvidia-modeset.ko
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia/nvidia.ko
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia/nvidia-drm.ko
/lib/modules/5.6.13-100.fc30.x86_64/extra/nvidia/nvidia-uvm.ko
/lib/modules/5.6.13-100.fc30.x86_64/kernel/drivers/net/ethernet/nvidia
/lib/modules/5.6.13-100.fc30.x86_64/kernel/drivers/net/ethernet/nvidia/forcedeth.ko.xz
/lib/modules/5.6.13-100.fc30.x86_64/kernel/drivers/i2c/busses/i2c-nvidia-gpu.ko.xz
/lib/modules/5.6.13-100.fc30.x86_64/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz

Fedora-32:
/lib/modules/5.6.18-300.fc32.x86_64/weak-updates/nvidia-uvm.ko.xz
/lib/modules/5.6.18-300.fc32.x86_64/weak-updates/nvidia-modeset.ko.xz
/lib/modules/5.6.18-300.fc32.x86_64/weak-updates/nvidia-drm.ko.xz
/lib/modules/5.6.18-300.fc32.x86_64/weak-updates/nvidia.ko.xz
/lib/modules/5.6.18-300.fc32.x86_64/extra/nvidia-modeset.ko
/lib/modules/5.6.18-300.fc32.x86_64/extra/nvidia.ko
/lib/modules/5.6.18-300.fc32.x86_64/extra/nvidia-drm.ko
/lib/modules/5.6.18-300.fc32.x86_64/extra/nvidia
/lib/modules/5.6.18-300.fc32.x86_64/extra/nvidia-uvm.ko
/lib/modules/5.6.18-300.fc32.x86_64/kernel/drivers/net/ethernet/nvidia
/lib/modules/5.6.18-300.fc32.x86_64/kernel/drivers/net/ethernet/nvidia/forcedeth.ko.xz
/lib/modules/5.6.18-300.fc32.x86_64/kernel/drivers/i2c/busses/i2c-nvidia-gpu.ko.xz
/lib/modules/5.6.18-300.fc32.x86_64/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.xz

Thank you for helping!

Would be good to see this with fedora 32 kernel.

You’ve had the problem for at least 3 days, don’t wait any longer.

# mv /var/lib/rpm/__db.00* /tmp
# rpm --rebuilddb

And then rebooting into the f32 kernel should get the kmod rebuilt.

Hi @alexpl, @tjdoyle, @vits95 :

Alex (I’ll guess that is your name :blush: ), thank you. Learning about /var/cache/akmods/, in this case for nvidia (but perhaps someday for other akmod-driven builds like VirtualBox, etc) was a tremendous help. I added SOLVED to the subject line, and here’s the update:

Just as I was about to rebuild the rpm database, I did dnf(1) update (without the -y), just to see if a kernel update was available, and sure enough there was one available. So I let it rip:

user@fedora$ sudo dnf update --best --allowerasing

This installed the new kernel, and successfully complied, built and installed the nvidia RPM for it. I rebooted into this new kernel (5.6.19-300.fc32.x86_64) and the nvidia drivers were loaded (and the GUI started). \o/

That essentially did what you prescribed, but without first rebuilding the RPM database (just to see what happened this time around. :blush:). In the end, however, for good measure I rebuilt the RPM database anyway.

@tjdoyle Hi Tom. For completeness, here is the output while booted to this above new kernel: https://pastebin.com/ELTtk8z2. Note that this time I ran the command with sudo(1) whereas before I sadly forgot to.

Thank you guys for helping solve my issue. I really appreciated your help.

Warm Regards!

2 Likes

Hello @nyceyes
Glad you solved your issue.
Please, in this forum don’t modify the original title prepending ā€œSolvedā€ and so on, but use the checkbox under what you consider the resolutive answer. Thanks :+1:

Thank you @alciregi I removed the SOLVED: and checked an answer. Thank you for drawing my attention to it. :blush:

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.