I’m new to Linux, and Fedora 43 is my first distro. After using it for a few months, I tried installing the NVIDIA driver through RPM Fusion:
sudo dnf install akmod-nvidia
After reboot, the system broke.
Problems I faced -
-
Resolution stuck at 800×600
-
Wi-Fi missing (no adapter detected)
-
Only one external monitor worked
-
lsmodshowed noi915, nonouveau, noath10k -
dracut --forcefailed repeatedly -
I had no fallback kernels because I previously deleted them to free space
What I tried and saw -
Driver modules were not loading:
lsmod | grep i915
lsmod | grep nouveau
lsmod | grep ath10k
all returned nothing.
Wi-Fi firmware existed in /lib/firmware/ath10k/, so that part was OK.
Dracut kept failing with:
dracut-install: Failed to find module 'ath10k_mac'
When checking dracut configs:
ls /etc/dracut.conf.d/
cat /etc/dracut.conf.d/restore.conf
I found:
add_drivers+=" i915 ath10k_pci ath10k_core ath10k_mac nouveau "
The ath10k_mac module does not exist for my QCA9377 chipset, so dracut could never build a correct initramfs while this override was present.
Root Causes
After understanding the whole picture, these were the actual causes:
1. Missing and incomplete kernel modules
The directory /usr/lib/modules/6.17.8-300.fc43.x86_64/ did not contain all required drivers.
2. No fallback kernels
I had earlier deleted older kernels to free /boot space, leaving me with only one broken kernel to boot from.
3. Dracut could not build initramfs
Because some kernel module dependencies were missing.
4. A leftover dracut override forced an invalid module
The line ath10k_mac in /etc/dracut.conf.d/restore.conf prevented dracut from ever completing.
5. I deleted cache files in /var while trying to free space
This removed:
-
dnf metadata
-
cached module build state
-
possibly akmods/dkms caches
This unintentionally contributed to the kernel module directory becoming incomplete.
Solution
1. Reinstall the kernel modules
sudo dnf install \
kernel-core-6.17.8-300.fc43.x86_64 \
kernel-modules-6.17.8-300.fc43.x86_64 \
kernel-modules-extra-6.17.8-300.fc43.x86_64
This restored the missing module directory.
2. Remove the bad dracut override
sudo rm /etc/dracut.conf.d/restore.conf
3. Rebuild initramfs cleanly
sudo dracut --force /boot/initramfs-6.17.8-300.fc43.x86_64.img 6.17.8-300.fc43.x86_64
This time, it completed with no errors.
4. Reboot
After rebooting into 6.17.8:
-
Wi-Fi returned
-
Correct display resolution came back
-
Both monitors worked
-
System booted normally