Akmods failing to build nvidia-390xx-kmod

Fedora 38, kernel 6.3.5-200.fc38.x86_64. Laptop with Optimus.

2nd day in a row I’m trying to make nvidia drivers work, but I guess I’ve found the final culprit - akmods. It just won’t build that nvidia-390xx-kmod.

trying to run it gives this:

[thetimewizard@thetimewizard ~]$ sudo akmods
Checking kmods exist for 6.3.5-200.fc38.x86_64 [  OK  ]
Building and installing nvidia-390xx-kmod [FAILED]
Building rpms failed; see /var/cache/akmods/nvidia-390xx/390.157-2-for-6.3.5-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.

end part of failed log:

2023/06/04 19:55:07 akmodsbuild: make[2]: *** [scripts/Makefile.build:252: /tmp/akmodsbuild.DTuSJgrR/BUILD/nvidia-390xx-kmod-390.157/_kmod_build_6.3.5-200.fc38.x86_64/nvidia/nv-mmap.o] Error 1
2023/06/04 19:55:07 akmodsbuild: make[2]: *** Waiting for unfinished jobs....
2023/06/04 19:55:07 akmodsbuild: # cmd_check_local_export /tmp/akmodsbuild.DTuSJgrR/BUILD/nvidia-390xx-kmod-390.157/_kmod_build_6.3.5-200.fc38.x86_64/nvidia/nv-pat.o
2023/06/04 19:55:07 akmodsbuild:   ./scripts/check-local-export /tmp/akmodsbuild.DTuSJgrR/BUILD/nvidia-390xx-kmod-390.157/_kmod_build_6.3.5-200.fc38.x86_64/nvidia/nv-pat.o
2023/06/04 19:55:07 akmodsbuild: # cmd_check_local_export /tmp/akmodsbuild.DTuSJgrR/BUILD/nvidia-390xx-kmod-390.157/_kmod_build_6.3.5-200.fc38.x86_64/nvidia/nv-p2p.o
2023/06/04 19:55:07 akmodsbuild:   ./scripts/check-local-export /tmp/akmodsbuild.DTuSJgrR/BUILD/nvidia-390xx-kmod-390.157/_kmod_build_6.3.5-200.fc38.x86_64/nvidia/nv-p2p.o
2023/06/04 19:55:07 akmodsbuild: # cmd_check_local_export /tmp/akmodsbuild.DTuSJgrR/BUILD/nvidia-390xx-kmod-390.157/_kmod_build_6.3.5-200.fc38.x86_64/nvidia/nv-procfs.o
2023/06/04 19:55:07 akmodsbuild:   ./scripts/check-local-export /tmp/akmodsbuild.DTuSJgrR/BUILD/nvidia-390xx-kmod-390.157/_kmod_build_6.3.5-200.fc38.x86_64/nvidia/nv-procfs.o
2023/06/04 19:55:07 akmodsbuild: make[1]: *** [Makefile:2037: /tmp/akmodsbuild.DTuSJgrR/BUILD/nvidia-390xx-kmod-390.157/_kmod_build_6.3.5-200.fc38.x86_64] Error 2
2023/06/04 19:55:07 akmodsbuild: make[1]: Leaving directory '/usr/src/kernels/6.3.5-200.fc38.x86_64'
2023/06/04 19:55:07 akmodsbuild: make: *** [Makefile:81: modules] Error 2
2023/06/04 19:55:07 akmodsbuild: error: Bad exit status from /var/tmp/rpm-tmp.1H0D9X (%build)
2023/06/04 19:55:07 akmodsbuild: 
2023/06/04 19:55:07 akmodsbuild: RPM build warnings:
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     user mockbuild does not exist - using root
2023/06/04 19:55:07 akmodsbuild:     %patchN is deprecated (8 usages found), use %patch N (or %patch -P N)
2023/06/04 19:55:07 akmodsbuild: 
2023/06/04 19:55:07 akmodsbuild: RPM build errors:
2023/06/04 19:55:07 akmodsbuild:     Bad exit status from /var/tmp/rpm-tmp.1H0D9X (%build)
2023/06/04 19:55:07 akmodsbuild: 
2023/06/04 19:55:07 akmods: Building rpms failed; see /var/cache/akmods/nvidia-390xx/390.157-2-for-6.3.5-200.fc38.x86_64.failed.log for details

Any ideas?

https://bugzilla.rpmfusion.org/show_bug.cgi?id=6695

2 Likes

Thanks!

Forgot to mention that I’m a newbie on linux. How do I activate it?

I’ve never done it, but I guess you have to unpack the srpm from akmod-nvidia-390xx, add the patch file, edit the spec file to apply the patch, rebuild the srpm, then run akmods.

I suggest just using the last working kernel (e.g. 6.2.x) for now. You can select the kernel by holding Shift during boot (after your manufacturer logo / info) to access the GRUB menu.

Or is it a new install and you don’t have previous kernel?

1 Like

It’s a fairly new install (like 5 days or so). I only have 6.3 :frowning:

You can install older kernel from archive repo:

sudo dnf install fedora-repos-archive
sudo dnf --refresh list kernel --showduplicates
sudo dnf install kernel-6.2.15-300.fc38

I’m not sure if akmods automatically builds when you install an older kernel than the current one; if it doesn’t, then you have to tell it to build for the older kernel:

sudo akmods --kernels 6.2.15-300.fc38.x86_64

Disable the repo afterwards, since you will never get packages from it under normal usage (install/upgrade etc):

sudo dnf config-manager --set-disabled updates-archive

Btw, this type of issue (failing to build on new kernel) will happen occasionally for 390xx drivers. It’s EOL and not supported by Nvidia. RPM Fusion tries to maintain it but it takes time and usually can only react after the new kernel is already in use.