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.
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.
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.
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
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.
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