After upgrade Fedora, every now and then, the Nvdia drivers fail and it falls back to open source drivers. Which is both nice, and annoying. Its nice because you can still use your computer, its annoying because anything that requires Nvidia drivers won't work. I have in the past fixed this by removing and re-installing the drivers, but today I decided to deep dive and find a proper fix to the problem. Here is the solution that I'll be using from here on out.
$ sudo nvidia-smi NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
$ akmodsbuild /usr/src/akmods/nvidia-kmod.latest * Rebuilding /usr/src/akmods/nvidia-kmod.latest for kernel(s) 6.0.14-200.fc36.x86_64: prep build install clean; Successfull; Saved kmod-nvidia-6.0.14-200.fc36.x86_64-525.60.11-1.fc36.x86_64.rpm in /home/grmrgecko/
$ sudo dnf reinstall kmod-nvidia-6.0.14-200.fc36.x86_64-525.60.11-1.fc36.x86_64.rpm Last metadata expiration check: 1:17:09 ago on Sat 24 Dec 2022 07:36:36 PM CST. Dependencies resolved. ======================================================================================================================================================================================================== Package Architecture Version Repository Size ======================================================================================================================================================================================================== Reinstalling: kmod-nvidia-6.0.14-200.fc36.x86_64 x86_64 3:525.60.11-1.fc36 @commandline 42 M Transaction Summary ======================================================================================================================================================================================================== Total size: 42 M Installed size: 42 M Is this ok [y/N]: y Downloading Packages: Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Reinstalling : kmod-nvidia-6.0.14-200.fc36.x86_64-3:525.60.11-1.fc36.x86_64 1/2 Running scriptlet: kmod-nvidia-6.0.14-200.fc36.x86_64-3:525.60.11-1.fc36.x86_64 1/2 Cleanup : kmod-nvidia-6.0.14-200.fc36.x86_64-3:525.60.11-1.fc36.x86_64 2/2 Running scriptlet: kmod-nvidia-6.0.14-200.fc36.x86_64-3:525.60.11-1.fc36.x86_64 2/2 Verifying : kmod-nvidia-6.0.14-200.fc36.x86_64-3:525.60.11-1.fc36.x86_64 1/2 Verifying : kmod-nvidia-6.0.14-200.fc36.x86_64-3:525.60.11-1.fc36.x86_64 2/2 Reinstalled: kmod-nvidia-6.0.14-200.fc36.x86_64-3:525.60.11-1.fc36.x86_64 Complete!
That is it, once you reboot, it should be using the Nvidia drivers as you can confirm with
If you encounter the error below:
gcc: error: unrecognized command-line option '-ftrivial-auto-var-init=zero'
Check the GCC version and source, and if its version 11 or older, it may be from a package:
$ gcc --version gcc (GCC) 11.3.0 Copyright (C) 2021 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. $ which gcc /usr/lib64/ccache/gcc
In my case, it looks like it is from the
ccache package, so just running
sudo dnf remove ccache will fix the problem.