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.