These are my working notes for Fedora 42 KDE (SDDM). They cover installing NVIDIA via RPM Fusion akmod-nvidia, blacklisting nouveau, updating GRUB, and enrolling the akmods key (Secure Boot) so kernel updates keep working.

0) Prereqs

Open a terminal and switch to a text TTY if needed (e.g., Ctrl+Alt+F3) and stop the display manager:

sudo systemctl stop sddm

1) Enable RPM Fusion & install akmods

sudo dnf install -y   https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm   https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

sudo dnf install -y akmod-nvidia xorg-x11-drv-nvidia-cuda

Make sure kernel headers match the running kernel:

uname -r
sudo dnf install -y "kernel-devel-$(uname -r)"

2) Blacklist nouveau

Disable the open‑source nouveau driver:

echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf

(Recommended) Rebuild initramfs so the blacklist applies at boot:

sudo dracut --force

3) Update GRUB

Edit /etc/default/grub and ensure the command line contains modeset for NVIDIA and nouveau blacklists.
This is what my file looks like:

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="rhgb quiet nvidia-drm.modeset=1 rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core"
GRUB_DISABLE_RECOVERY="true"
GRUB_ENABLE_BLSCFG=true

Regenerate the GRUB configuration:

UEFI systems

sudo grub2-mkconfig -o /etc/grub2-efi.cfg

Legacy BIOS systems

sudo grub2-mkconfig -o /etc/grub2.cfg

4) Enroll the akmods key (Secure Boot)

Enroll the akmods public key so Secure Boot will load signed NVIDIA modules:

sudo mokutil --import /etc/pki/akmods/certs/public_key.der

Set a temporary password when prompted, reboot, then in the blue MOK Manager screen choose Enroll MOK → Continue, enter the password, and reboot again.

5) Build & load the NVIDIA module

After logging back in, force a build (usually automatic on boot) and load the driver:

sudo akmods --force
sudo systemctl restart systemd-modules-load.service

6) Verify

lsmod | grep nvidia
nvidia-smi
glxinfo | grep "OpenGL renderer"

Expected:

  • lsmod shows nvidia, nvidia_drm, nvidia_modeset.
  • nvidia-smi lists the GPU.
  • OpenGL renderer shows the NVIDIA GPU (not llvmpipe).