Fedora 43 kernel broken after installing akmod-nvidia (low resolution, missing Wi-Fi) - fixed

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 -

  1. Resolution stuck at 800×600

  2. Wi-Fi missing (no adapter detected)

  3. Only one external monitor worked

  4. lsmod showed no i915, no nouveau, no ath10k

  5. dracut --force failed repeatedly

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

Glad you figured that out.
:+1: