Problem Description: I’ve encountered a significant system slowdown during the NVIDIA driver compilation via akmods. The process takes an abnormal amount of time (several hours), and the system becomes unresponsive to shutdown commands because the I/O is saturated by logging.
- - - Technical Details - - -
OS: Fedora 43 (Workstation Edition)
GPU: NVIDIA GTX 1650
Driver: akmod-nvidia (latest from RPM Fusion)
Observation: The build log in /var/cache/akmods/nvidia/ is being flooded with warnings at an incredible rate.
- - - Log Analysis - - -
After filtering the log file, I discovered that the compiler generates nearly ~15,000 lines of text per second.
Example from the log (timestamp 19:54:09):
2026/02/20 19:54:09 akmodsbuild: nvidia/libspdm_x509.c:35:6: warning: no previous prototype for ‘libspdm_x509_construct_certificate’ [-Wmissing-prototypes]
2026/02/20 19:54:09 akmodsbuild: 35 | bool libspdm_x509_construct_certificate(const uint8_t *cert, size_t cert_size,
2026/02/20 19:54:09 akmodsbuild: | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
... (repeated thousands of times for different functions) ...
- - - Statistics - - -
Using grep "akmodsbuild:" | cut -d' ' -f2 | uniq -c, I confirmed:
Count: 14,903 lines at 19:54:09.
Total size: Several kilobytes of text generated per second.
- - - Impact - - -
I/O Saturation: The excessive writing to the log file makes the system lag and prevents systemd from processing shutdown requests promptly (Inhibitor Absence issue).
Build Time: What should take minutes takes hours due to the overhead of logging millions of -Wmissing-prototypes warnings.
- - - Suggested Action - - -
It seems that -Wmissing-prototypes is currently too “chatty” for the NVIDIA libspdm components in the current build environment. Is there a way to suppress these specific warnings in the akmod template or rate-limit the build output to prevent log flooding?
Can you provide a little more context from the logs please.
The warnings I see are about missing prototypes, but I only get 21 of them in total for the entire build.
┌─🎩 lurcher cache/akmods/nvidia🔒
├─
└─➜ rg "warning: no previous prototype" 580.119.02-1-for-6.17.12-300.fc43.x86_64.log | wc -l 13:22 Sat 21-Feb
21
Your situation is confusing, as there’s likely to be little to no changes in the libspdm_x509 module from build to build, and I get the same 21 warnings about undeclared prototypes in every akmods build… so if your machine generates thousands, as you say, then it would generate thousands everytime, and you’d get the same 5 hour build every time. Your log files would also be substantial! Mine average 2.8 MB and are pretty consistent in their output size.
Please tell me you’re not experiencing 5 hour akmods builds for every driver release!
I just ran the commands you suggested, and the results are identical to yours: 21 warnings and exactly 2.8 MB of log size.
It seems I was misled by the clock time. I likely updated the system, after which the computer went to sleep or was in standby mode, and akmods only completed its work after I woke it up later that evening. The five-hour period is “sleep time,” not “build time”.
This essentially confirms my point about the lack of feedback in the GUI: since there was no inhibitor or notification, I wasn’t even aware that a background build was running when I decided to put the PC to sleep or reboot it.
However, it illustrates my point perfectly: if there had been a UI notification or a systemd-inhibit block, I would not have aborted the process.
Thanks for clarifying the “normal” build statistics and for the quick investigation!
Originally a Plexiglas cover improvised for the Big Red Switch on an IBM 4341 mainframe after a programmer’s toddler daughter (named Molly) tripped it twice in one day. Later generalised to covers over stop/reset switches on disk drives and networking equipment.
So it should be protected by systemd-inhibit. Maybe it’s not working as intented.
Not sure yet what triggers the akmods process after am imitial nvidia driver install or driver upgrade.
EDIT: triggered by rpm and is not protected by systemd-inhibit :
You’ll see a graphical notification at boot time if akmods must compile missing kernel modules. You could try that by removing kmod-nvidia-$(uname -r) and reboot.
This reminds me of an incident at university in the mid-90s. An emergency switch / power-off button had been installed in a prominent place in the entrance area of the main data center room. An employee of the university’s IT support team stumbled while he had both hands in his pockets and bumped against this big red switch.
ACC4 (Area Computer Centre) for UK Civil Service mainframes (ICL kit at the time, running VME) had an Emergency Power Off button mounted on the wall beside the door. Doors were upgraded for some reason and the new doors had the handle in a different place.
If you pushed the door wide open because you were pushing in some kit on a trolley the door swung all the way back and the handle hit the EPO button. Immediate silence from every machine in the room…