I’m trying to downgrade my nvidia driver from 535, since it is causing regular stuttering and frame drop issues that weren’t there before.
Steps I’ve taken:
- Remove current driver:
sudo dnf remove \*nvidia\* --exclude nvidia-gpu-firmware
, then reboot - Lock out the problematic version:
sudo dnf install 'dnf-command(versionlock)'
, thensudo dnf versionlock exclude akmod-nvidia-535.113.01-1.fc38
- Install drivers following the normal instructions and verifying that all packages are nvidia 350.x and versionlocking anything that tries to install a different version as above
- Reboot
I was surprised that despite everything apparently working, I’m still on nouveau after a reboot. lsmod | grep nouveau
shows it loaded, and lsmod | grep nvidia
shows nothing. All expected packages are installed:
$ dnf list --installed | grep nvidia
akmod-nvidia.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
libva-nvidia-driver.x86_64 0.0.10-3.fc38 @updates
nvidia-gpu-firmware.noarch 20230919-1.fc38 @updates
nvidia-persistenced.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
nvidia-settings.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
xorg-x11-drv-nvidia.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
xorg-x11-drv-nvidia-cuda.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
xorg-x11-drv-nvidia-cuda-libs.i686 3:530.41.03-1.fc38 @rpmfusion-nonfree
xorg-x11-drv-nvidia-cuda-libs.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
xorg-x11-drv-nvidia-kmodsrc.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
xorg-x11-drv-nvidia-libs.i686 3:530.41.03-1.fc38 @rpmfusion-nonfree
xorg-x11-drv-nvidia-libs.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
xorg-x11-drv-nvidia-power.x86_64 3:530.41.03-1.fc38 @rpmfusion-nonfree
So I tried manually triggering the akmod build, but it fails:
$ sudo akmods
Checking kmods exist for 6.5.8-200.fc38.x86_64 [ OK ]
Building and installing nvidia-kmod [FAILED]
Building rpms failed; see /var/cache/akmods/nvidia/530.41.03-1-for-6.5.8-200.fc38.x86_64.failed.log for details
Hint: Some kmods were ignored or failed to build or install.
You can try to rebuild and install them by by calling
'/usr/sbin/akmods --force' as root.
The log file for the failed build is here, the relevant error seems to be a lot of variations on this error:
2023/10/29 18:57:13 akmodsbuild: /tmp/akmodsbuild.M8wOQ9Bg/BUILD/nvidia-kmod-530.41.03/_kmod_build_6.5.8-200.fc38.x86_64/common/inc/nv-mm.h:88:16: error: too many arguments to function 'get_user_pages'
2023/10/29 18:57:13 akmodsbuild: 88 | return get_user_pages(current, current->mm, start, nr_pages, write,
2023/10/29 18:57:13 akmodsbuild: | ^~~~~~~~~~~~~~
2023/10/29 18:57:13 akmodsbuild: ./include/linux/mm.h:2430:6: note: declared here
2023/10/29 18:57:13 akmodsbuild: 2430 | long get_user_pages(unsigned long start, unsigned long nr_pages,
2023/10/29 18:57:13 akmodsbuild: | ^~~~~~~~~~~~~~
My reading of this is that the akmod for version 530.41.03 is failing to build against my kernel version (since the function in the error seems to be from a kernel header).
Can anybody help me finish this downgrade? Is it just not possible to downgrade without also downgrading my kernel, and if so, how can I figure out which kernel version to revert to?
System info:
- Fedora 38 Workstation, GNOME, X11
- Kernel:
6.5.8-200.fc38.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Oct 20 15:53:48 UTC 2023 x86_64 GNU/Linux
- GPU: Nvidia 3070Ti (desktop)