Fedora 36 with kernel 6 Nvidia kmod not working

After update fedora 36, kmod not loaded by kernel :

Linux fedora 6.0.5-200.fc36.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 26 15:55:21 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

[root@fedora javad]# /usr/sbin/akmods --force
Checking kmods exist for 6.0.5-200.fc36.x86_64             [  OK  ]
Building and installing nvidia-470xx-kmod                  [FAILED]
Building rpms failed; see /var/cache/akmods/nvidia-470xx/470.141.03-1-for-6.0.5-200.fc36.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.

470.141.03-1-for-6.0.5-200.fc36.x86_64.failed.log :

2022/11/03 11:33:23 akmodsbuild: { echo ; echo '/tmp/akmodsbuild.pxL5hzdH/BUILD/nvidia-470xx-kmod-470.141.03/_kmod_build_6.0.5-200.fc36.x86_64/nvidia/nv-pci.o: $(wildcard ./tools/objtool/objtool)' ; } >> /tmp/akmodsbuild.pxL5hzdH/BUILD/nvidia-470xx-kmod-470.141.03/_kmod_build_6.0.5-200.fc36.x86_64/nvidia/.nv-pci.o.cmd
2022/11/03 11:33:23 akmodsbuild: ./scripts/check-local-export /tmp/akmodsbuild.pxL5hzdH/BUILD/nvidia-470xx-kmod-470.141.03/_kmod_build_6.0.5-200.fc36.x86_64/nvidia/nv.o
2022/11/03 11:33:23 akmodsbuild: { echo ; echo '/tmp/akmodsbuild.pxL5hzdH/BUILD/nvidia-470xx-kmod-470.141.03/_kmod_build_6.0.5-200.fc36.x86_64/nvidia/nv.o: $(wildcard ./tools/objtool/objtool)' ; } >> /tmp/akmodsbuild.pxL5hzdH/BUILD/nvidia-470xx-kmod-470.141.03/_kmod_build_6.0.5-200.fc36.x86_64/nvidia/.nv.o.cmd
2022/11/03 11:33:23 akmodsbuild: make[1]: *** [Makefile:1856: /tmp/akmodsbuild.pxL5hzdH/BUILD/nvidia-470xx-kmod-470.141.03/_kmod_build_6.0.5-200.fc36.x86_64] Error 2
2022/11/03 11:33:23 akmodsbuild: make[1]: Leaving directory '/usr/src/kernels/6.0.5-200.fc36.x86_64'
2022/11/03 11:33:23 akmodsbuild: make: *** [Makefile:80: modules] Error 2
2022/11/03 11:33:23 akmodsbuild: error: Bad exit status from /var/tmp/rpm-tmp.lBBHG9 (%build)
2022/11/03 11:33:23 akmodsbuild: 
2022/11/03 11:33:23 akmodsbuild: RPM build warnings:
2022/11/03 11:33:23 akmodsbuild: user mockbuild does not exist - using root
2022/11/03 11:33:23 akmodsbuild: group mock does not exist - using root
2022/11/03 11:33:23 akmodsbuild: user mockbuild does not exist - using root
2022/11/03 11:33:23 akmodsbuild: group mock does not exist - using root
2022/11/03 11:33:23 akmodsbuild: 
2022/11/03 11:33:23 akmodsbuild: RPM build errors:
2022/11/03 11:33:23 akmodsbuild: Bad exit status from /var/tmp/rpm-tmp.lBBHG9 (%build)
2022/11/03 11:33:23 akmodsbuild: 
2022/11/03 11:33:23 akmods: Building rpms failed; see /var/cache/akmods/nvidia-470xx/470.141.03-1-for-6.0.5-200.fc36.x86_64.failed.log for details

Just ran into the same problem. From the log:

2022/11/03 12:54:36 akmodsbuild: /tmp/akmodsbuild.MPhzkVou/BUILD/nvidia-470xx-kmod-470.141.03/_kmod_build_6.0.5-200.fc36
.x86_64/nvidia/nv-acpi.c:270:43: error: 'struct acpi_device' has no member named 'children'
2022/11/03 12:54:36 akmodsbuild: 270 |     list_for_each_safe(node, next, &device->children)
2022/11/03 12:54:36 akmodsbuild: |                                           ^~
2022/11/03 12:54:36 akmodsbuild: ./include/linux/list.h:643:21: note: in definition of macro 'list_for_each_safe'

and

2022/11/03 12:54:36 akmodsbuild: /tmp/akmodsbuild.MPhzkVou/BUILD/nvidia-470xx-kmod-470.141.03/_kmod_build_6.0.5-200.fc36.x86_64/nvidia/nv-acpi.c:273:50: error: 'struct acpi_device' has no member named 'node'; did you mean 'fwnode'?
2022/11/03 12:54:36 akmodsbuild: 273 |             list_entry(node, struct acpi_device, node);
2022/11/03 12:54:36 akmodsbuild: |                                                  ^~~~

Looks like a change in the ACPI headers or deeper in the kernel is not backwards-compatible with this Nvidia driver version. Unfortunately it’s the only one that works with my relatively old graphics card.

For now I rebooted the previous working kernel, 5.19.16, and akmods successfully built the Nvidia driver 470. That’s not a long-term solution though.

@fringmar How to downgrade my kernel version to 5.19.16?

You shouldn’t have to downgrade just reboot press either the esc or the shift key and the boot screen should show up.Then pick the kernel you wish to boot into.Fedora keeps 3 kernels so you should have the 5.19 to choose and boot into.

It seems there is an update for the 470xx driver in the rpmfusion-nonfree-updates-testing repo that supports the 6.0.5 kernel.
dnf upgrade akmod-nvidia-470xx --enablerepo=rpmfusion-nonfree-updates-testing --refresh should get the upgrade for you.

2 Likes

@computersavvy

[root@fedora javad]# dnf upgrade *nvidia*470xx* --enablerepo=nvidia-nonfree-updates-testing --refresh
Error: Unknown repo: 'nvidia-nonfree-updates-testing'

You might try this
dnf config-manager --set-enabled rpmfusion-nonfree-updates-testing
dnf upgrade *nvidia*470xx*
If you wish to disable the testing repo then
dnf config-manager --set-disabled rpmfusion-nonfree-updates-testing

1 Like

I made an error in the command which has been corrected above.

1 Like

I would not recommend that unless it is wished to permanently enable that repo.
Using --enablerepo=rpmfusion-nonfree-updates-testing enables it for the duration of that one-time use only.

1 Like

@straycat @computersavvy

[sudo] password for javad: 
[root@fedora javad]# dnf config-manager --set-enabled rpmfusion-nonfree-updates-testing
[root@fedora javad]# dnf upgrade *nvidia*470xx*
Fedora 36 - x86_64 - Updates                    2.8 kB/s | 9.2 kB     00:03    
Fedora 36 - x86_64 - Updates                     30 kB/s | 3.5 MB     02:02    
Fedora Modular 36 - x86_64 - Updates            3.1 kB/s |  11 kB     00:03    
Fedora Modular 36 - x86_64 - Updates            4.8 kB/s |  42 kB     00:08    
RPM Fusion for Fedora 36 - Nonfree - Test Updat 585  B/s | 3.0 kB     00:05    
Dependencies resolved.
Nothing to do.

I don’t see any of the other rpmfusion repos listed in that output.
Please provide the output of dnf repolist and dnf list installed *nvidia*

@computersavvy

repo list:

repo id                                       repo name
MEGAsync                                      MEGAsync
anydesk                                       AnyDesk Fedora - stable
code                                          Visual Studio Code
copr:copr.fedorainfracloud.org:ssabchew:kazam Copr repo for kazam owned by ssabchew
docker-ce-stable                              Docker CE Stable - x86_64
fedora                                        Fedora 36 - x86_64
fedora-cisco-openh264                         Fedora 36 openh264 (From Cisco) - x86_64
fedora-modular                                Fedora Modular 36 - x86_64
google-chrome                                 google-chrome
home_zzndb_Qv2ray                             Project for Qv2ray{,-preview} (Fedora_Rawhide)
phracek-PyCharm                               Copr repo for PyCharm owned by phracek
rpmfusion-free                                RPM Fusion for Fedora 36 - Free
rpmfusion-free-updates                        RPM Fusion for Fedora 36 - Free - Updates
rpmfusion-nonfree                             RPM Fusion for Fedora 36 - Nonfree
rpmfusion-nonfree-nvidia-driver               RPM Fusion for Fedora 36 - Nonfree - NVIDIA Driver
rpmfusion-nonfree-steam                       RPM Fusion for Fedora 36 - Nonfree - Steam
rpmfusion-nonfree-updates                     RPM Fusion for Fedora 36 - Nonfree - Updates
rpmfusion-nonfree-updates-testing             RPM Fusion for Fedora 36 - Nonfree - Test Updates
skype-stable                                  skype (stable)
updates                                       Fedora 36 - x86_64 - Updates
updates-modular                               Fedora Modular 36 - x86_64 - Updates

installed:

Installed Packages
akmod-nvidia-470xx.x86_64              3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
kmod-nvidia-470xx-5.19.14-200.fc36.x86_64.x86_64
                                       3:470.141.03-1.fc36 @@commandline                   
nvidia-persistenced.x86_64             3:520.56.06-1.fc36  @rpmfusion-nonfree-nvidia-driver
nvidia-settings-470xx.x86_64           3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx.x86_64       3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx-cuda.x86_64  3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx-cuda-libs.i686
                                       3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx-cuda-libs.x86_64
                                       3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx-devel.x86_64 3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx-kmodsrc.x86_64
                                       3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx-libs.i686    3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx-libs.x86_64  3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver
xorg-x11-drv-nvidia-470xx-power.x86_64 3:470.141.03-1.fc36 @rpmfusion-nonfree-nvidia-driver

edit : now worked

sudo dnf update akmod-nvidia-470xx --enablerepo=rpmfusion-nonfree-updates-testing


[sudo] password for javad: 
Last metadata expiration check: 0:03:29 ago on Sun 06 Nov 2022 06:45:01 PM +0330.
Dependencies resolved.
===========================================================================================
 Package             Arch    Version                Repository                        Size
===========================================================================================
Upgrading:
 akmod-nvidia-470xx  x86_64  3:470.141.03-3.fc36    rpmfusion-nonfree-nvidia-driver   33 k

Transaction Summary
===========================================================================================
Upgrade  1 Package

Total download size: 33 k
Is this ok [y/N]: y