How to Install NVIDIA Drivers on Fedora Linux

NVIDIA drivers unlock your graphics card’s full potential for gaming at high frame rates, GPU-accelerated video editing, 3D modeling in Blender, machine learning with TensorFlow, or other GPU workloads. Similar to how Windows users download GeForce Experience or install drivers from Device Manager, Fedora offers multiple installation paths with different trade-offs between convenience, driver freshness, and system integration.

RPM Fusion is the recommended installation method for most Fedora users because it provides current drivers with automatic security updates, seamless Fedora integration, and native Secure Boot support through akmod, which automatically rebuilds drivers when your kernel updates. Fedora 43 and newer ship GNOME as Wayland-only; if you need Xorg (for legacy 470xx/390xx/340xx drivers or specific workflows), use another desktop that still ships Xorg (KDE Plasma, XFCE, MATE, Cinnamon) or use a Fedora release that includes the GNOME Xorg session. This guide covers RPM Fusion, the NVIDIA CUDA repository (for bleeding-edge official releases on supported versions), and the runfile method (a last resort when other methods don’t support your GPU). Each method is presented below with detailed setup, troubleshooting, and verification steps.

Check Your NVIDIA GPU

Before installing drivers, verify that your system has an NVIDIA GPU installed. Open a terminal and run:

lspci | grep -i nvidia

This command displays all NVIDIA graphics devices connected to your system. The output shows your GPU model (for example, “NVIDIA Corporation GF119” or “NVIDIA Corporation GA106”), which helps you verify driver compatibility and ensure you have an NVIDIA GPU before proceeding with installation.

NVIDIA Optimus Hybrid Graphics (Laptops)

If your lspci | grep -i nvidia output shows both Intel and NVIDIA GPUs, your laptop uses NVIDIA Optimus technology for power management, which switches between integrated Intel graphics (for battery life) and discrete NVIDIA graphics (for performance) automatically. Modern Fedora handles Optimus through PRIME offloading when you install RPM Fusion drivers—no additional configuration needed for most workflows.

After installing NVIDIA drivers through RPM Fusion (covered below), your system automatically enables PRIME offloading. To verify Optimus configuration works correctly after driver installation, install the OpenGL utilities package and check available GPUs:

sudo dnf install glx-utils
glxinfo | grep "OpenGL renderer"

You can force specific applications to use the NVIDIA GPU by prefixing commands with environment variables:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxgears

This example runs glxgears on the NVIDIA GPU instead of integrated Intel graphics. Use the same environment variables with your applications to force the discrete GPU when needed.

Remove Previous NVIDIA Installations from Fedora

If you’ve previously installed NVIDIA drivers on your Fedora system and are considering a different installation method outlined in this guide, proceed with caution. Combining multiple NVIDIA repositories can lead to driver conflicts. It’s advisable to revert to the default drivers before initiating a new NVIDIA driver installation.

Note: You can skip this section if you haven’t installed any NVIDIA drivers yet.

Remove NVIDIA Drivers with DNF

Warning: The nvidia* wildcard may match unrelated packages. Run dnf list installed 'nvidia*' first to review what will be removed. Consider using a more specific package list like akmod-nvidia xorg-x11-drv-nvidia\* to avoid accidental removal of packages you want to keep.

To remove traces of previous NVIDIA installations, run the following command:

sudo dnf remove nvidia* --allowerasing

Remember to delete the repository files depending on the method you used to install them. For RPM Fusion, you can leave the repository enabled for future use. If you installed via the NVIDIA CUDA repository and want to remove it:

sudo rm /etc/yum.repos.d/cuda-fedora*.repo
sudo rm /etc/pki/rpm-gpg/RPM-GPG-KEY-NVIDIA*

Remove Runfile NVIDIA Installation

If you opted for the “.run” file method to install NVIDIA drivers, you’ll need a distinct removal process.

To uninstall the runfile type of installation, execute:

sudo /usr/bin/nvidia-uninstall

Remove CUDA Toolkit Runfile Installation

If you installed the CUDA toolkit using the runfile approach, remove it with the built-in uninstaller. Replace X.Y with your installed version (for example, cuda-12.4):

sudo /usr/local/cuda-X.Y/bin/cuda-uninstall

Choose Your NVIDIA Driver Installation Method

Fedora offers three installation paths for NVIDIA drivers. The table below compares each method’s trade-offs:

Installation MethodDriver RecencyEase of UseSecure BootBest ForChannel
RPM FusionCurrent (tested)Very Easy✅ Yes (MOK)Most users seeking stable, current driversRPM Fusion NVIDIA Howto
NVIDIA CUDA RepositoryBleeding-edgeEasy⚠️ ManualUsers wanting NVIDIA’s official channel (Fedora 39–42)NVIDIA CUDA Downloads
Runfile MethodLatestComplex❌ NoEdge cases; last resort onlyNVIDIA Driver Downloads

Recommendation: Start with RPM Fusion unless you have a specific reason to use another method. RPM Fusion provides automatic kernel module rebuilds (akmod), seamless Secure Boot integration, and receives timely security updates through Fedora’s standard update channels. The CUDA repository method is only available for Fedora 39–42 and requires manual Secure Boot configuration. The runfile method should only be used when your GPU isn’t supported by the packaged drivers.

Method 1: Install NVIDIA Drivers via RPM Fusion (Recommended)

RPM Fusion is the official community repository for Fedora and provides current NVIDIA drivers with seamless kernel integration, automatic updates, and Secure Boot support. This is the recommended installation method for the vast majority of Fedora users.

Before installing, ensure your system is updated to prevent potential conflicts between graphic card drivers and kernels. To update your Fedora system, use the following command:

sudo dnf upgrade --refresh

To leverage the RPM Fusion repository for NVIDIA driver installation, add both the free and nonfree repositories. For detailed setup options and troubleshooting, see the complete RPM Fusion installation guide:

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

With the RPM Fusion repository in place, proceed to install the latest NVIDIA drivers using the akmod (Automated Kernel Module) package, which automatically rebuilds drivers when your kernel updates:

sudo dnf install akmod-nvidia

Critical: Do not reboot immediately after installation completes. The akmod system builds the NVIDIA kernel module in the background after DNF finishes, which takes 2-5 minutes depending on your CPU. Rebooting before the build completes will cause the system to fall back to Nouveau drivers, making it appear that the NVIDIA drivers “broke” or failed to install. Wait for the build to finish before rebooting (verification steps provided below).

For those needing CUDA support, install the CUDA libraries with:

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

Enable NVIDIA Power Management Services

NVIDIA provides systemd services to preserve GPU state during suspend, hibernate, and resume cycles, preventing black screens or system crashes after waking from sleep. Enable these services before rebooting to ensure reliable power management:

sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service

These services are particularly important for laptop users who frequently suspend their systems but benefit desktop users as well by providing more reliable wake-from-sleep behavior. The services preserve video memory allocations and GPU state across power state transitions, eliminating common “black screen after suspend” issues.

Upon completing the installation and enabling power management services, reboot your Fedora system. This action will also auto-disable the Nouveau drivers:

sudo reboot

Secure Boot and MOK Enrollment on RPM Fusion

If Secure Boot is enabled, RPM Fusion’s akmods sign the NVIDIA kernel module with a local key stored in /etc/pki/akmods/certs/public_key.der. Enroll that key once so future driver rebuilds load without errors:

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

Set a one-time password when prompted, then reboot and complete enrollment:

  1. On reboot, choose “Enroll MOK” on the blue enrollment screen
  2. Confirm the key, enter the password you set, and finish enrollment
  3. Reboot; the signed driver will now load under Secure Boot

After enrollment, verify driver installation with nvidia-smi (covered in the Verification section below).

Nouveau Driver Automatic Disabling

RPM Fusion’s akmod-nvidia package automatically blacklists and disables the Nouveau open-source driver. After reboot, verify Nouveau is not loaded:

lsmod | grep nouveau

This should return no output. If output appears, the NVIDIA driver installation may have failed. Check if the kmod package built successfully:

rpm -qa | grep kmod-nvidia

You should see output like kmod-nvidia-6.12.8-200.fc43.x86_64-580.95.05-1.fc43.x86_64. If no output appears, wait a few minutes for the akmod build to complete and check for errors in /var/cache/akmods/.

Wayland Support on RPM Fusion

NVIDIA drivers version 495 and newer support Wayland (Fedora 35+). RPM Fusion packages have kernel mode setting (KMS) enabled by default, which Wayland requires. No additional configuration is needed in most cases. Wayland will be available after reboot.

GNOME upstream drops the Xorg session starting with Fedora 43, making GNOME Wayland-only. If you need Xorg for older drivers (470xx/390xx/340xx) or specific workflows, use a desktop that still offers Xorg sessions (KDE Plasma, XFCE, MATE, Cinnamon) or stick to a release that ships Xorg.

If Wayland doesn’t appear as a session option, verify KMS is enabled:

cat /proc/cmdline | grep nvidia-drm

If empty or missing nvidia-drm.modeset=1, add it:

sudo grubby --update-kernel=ALL --args='nvidia-drm.modeset=1'

Then reboot. Consult Fedora’s Wayland documentation for distro-specific guidance if needed.

Desktop-Only vs CUDA Installation

The base akmod-nvidia package includes graphics drivers, OpenGL, and Vulkan libraries for gaming and 3D modeling. If you need CUDA for development:

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

Desktop-only users can skip this. CUDA support can be added later without reinstalling drivers.

Proprietary vs Open-Source Drivers on RPM Fusion

RPM Fusion packages the proprietary NVIDIA driver by default. Starting with driver version 515, NVIDIA also provides an open-source kernel module variant (userspace remains proprietary).

  • Proprietary driver (default akmod-nvidia): Best compatibility for all GPUs Kepler and newer. Recommended for gaming and CUDA. Full feature support.
  • Open kernel module (akmod-nvidia-open): Requires Turing architecture (RTX 20-series) or newer. Better kernel integration. Requires rpmfusion-nonfree-tainted.

To switch to the open variant after installation:

sudo dnf install rpmfusion-nonfree-release-tainted
sudo dnf swap akmod-nvidia akmod-nvidia-open
sudo reboot

Wait for Akmod Build to Complete

After the DNF transaction completes, the akmod system automatically builds the NVIDIA kernel module in the background. This process compiles the driver against your running kernel and can take 2-5 minutes depending on your CPU speed. Many users mistakenly believe NVIDIA drivers “break after every kernel update” when they simply rebooted too quickly before the build finished.

Verification Method 1: Check Module Availability

Run this command repeatedly until it returns a version number instead of an error:

modinfo -F version nvidia

Example output when build is still in progress (wait longer):

modinfo: ERROR: Module nvidia not found.

Example output when build completed successfully (safe to reboot):

580.95.05

Once you see a version number like above, the kernel module is ready and you can safely reboot.

Verification Method 2: Monitor Build Log in Real-Time

For detailed progress monitoring, watch the akmod build log as it compiles:

sudo tail -f /var/cache/akmods/nvidia/$(uname -r)-$(uname -m)/last.log

This displays compilation output in real-time. Successful build ends with output similar to:

Building modules, stage 2.
  MODPOST 5 modules
CC [M]  /var/lib/dkms/nvidia/580.95.05/build/nvidia-drm.mod.o
  LD [M]  /var/lib/dkms/nvidia/580.95.05/build/nvidia-drm.ko
make[1]: Leaving directory '/usr/src/kernels/6.14.2-300.fc42.x86_64'
DKMS: build completed.

The key phrase is “DKMS: build completed.” Press Ctrl+C to exit the log viewer once you see this message.

Verification Method 3: Check Kmod Package Installation

After akmod completes, it automatically installs a kmod package for your kernel version. Verify it exists:

rpm -qa | grep "kmod-nvidia.*$(uname -r)"

Example output confirming successful build and installation:

kmod-nvidia-6.14.2-300.fc42.x86_64-580.95.05-1.fc42.x86_64

If this command returns nothing, the build either failed or is still in progress. Check the akmod build log (Method 2 above) for errors.

Recovery: What If You Reboot Too Early?

If you reboot before akmod finishes building the module, the system will boot without the NVIDIA driver loaded. You’ll see Nouveau driver active instead when running lspci -k | grep -A3 VGA. The fix is simple: the akmod build will complete automatically during the next boot (taking 2-3 minutes longer than usual), or you can manually trigger it with sudo akmods --force after logging in, then reboot again.

Install NVIDIA Legacy Drivers on Fedora (For Older Cards Only)

RPM Fusion still ships legacy driver branches on a best-effort basis. They can break with new kernels and are Xorg-focused, so expect more maintenance than the current driver.

GeForce 600/700 (Kepler) cards use the 470xx branch:

sudo dnf upgrade --refresh
sudo dnf install xorg-x11-drv-nvidia-470xx akmod-nvidia-470xx
sudo dnf install xorg-x11-drv-nvidia-470xx-cuda

GeForce 400/500 (Fermi) cards use the 390xx branch:

sudo dnf upgrade --refresh
sudo dnf install xorg-x11-drv-nvidia-390xx akmod-nvidia-390xx
sudo dnf install xorg-x11-drv-nvidia-390xx-cuda

GeForce 8/9/200/300 cards need the 340xx branch, which requires a long-term kernel to build reliably on current Fedora:

Third-party repository warning: The kwizart/kernel-longterm-6.1 COPR provides community-maintained LTS kernels not officially supported by Fedora. COPR packages may lag behind security updates. Consider upgrading to a GPU supported by the current driver branch if possible.

sudo dnf upgrade --refresh
sudo dnf copr enable kwizart/kernel-longterm-6.1
sudo dnf install akmods gcc kernel-longterm kernel-longterm-devel
sudo dnf install xorg-x11-drv-nvidia-340xx akmod-nvidia-340xx
sudo dnf install xorg-x11-drv-nvidia-340xx-cuda

Stay on the kernel-longterm series for 340xx; newer mainline kernels often break this branch.

All legacy branches above are Xorg-only. Fedora 43 and newer ship GNOME as Wayland-only without an Xorg session; choose a desktop that still ships Xorg (KDE Plasma, XFCE, MATE, Cinnamon) or use an older Fedora release that includes the GNOME Xorg session if you rely on these drivers.

If a legacy branch fails to build or breaks after kernel updates, fall back to Nouveau (sudo grubby --update-kernel=ALL --remove-args='rd.driver.blacklist=nouveau,nova_core modprobe.blacklist=nouveau,nova_core' then sudo dracut --force and reboot) or plan a GPU upgrade.

Method 2: Install NVIDIA Drivers via NVIDIA CUDA Repository

NVIDIA maintains an official CUDA repository with drivers tailored for CUDA-accelerated computing and bleeding-edge GPU support. This method provides NVIDIA’s official driver packages directly.

Fedora Version Support and Prerequisites

NVIDIA publishes CUDA repositories for Fedora 39 through 42. Fedora 43 and newer are not yet supported through NVIDIA’s CUDA repo, so use RPM Fusion on those releases. Always verify current Fedora version support at NVIDIA’s CUDA Downloads page before proceeding.

Before installing, ensure your system is updated to prevent potential conflicts between graphic card drivers and kernels:

sudo dnf upgrade --refresh

Import NVIDIA CUDA Repository

Import the repository for your Fedora version (this example uses Fedora 42; replace 42 with your version number if different):

sudo curl -fsSL https://developer.download.nvidia.com/compute/cuda/repos/fedora42/x86_64/cuda-fedora42.repo -o /etc/yum.repos.d/cuda-fedora42.repo

Install Dependencies and NVIDIA Drivers

Install the kernel headers and development tools required for DKMS module compilation. For detailed kernel header management, see the Fedora kernel headers guide:

sudo dnf install kernel-headers kernel-devel dkms

Search the repository to see available NVIDIA driver packages:

dnf search nvidia-driver kmod-nvidia

Install the NVIDIA driver with DKMS support for automatic kernel module rebuilds:

sudo dnf install nvidia-driver kmod-nvidia-latest-dkms

This installs the proprietary NVIDIA driver and configures DKMS to automatically rebuild the kernel module when your kernel updates. The installation process downloads packages, resolves dependencies, and configures the driver.

For the open-source kernel module variant (requires Turing/RTX 20-series GPU or newer):

sudo dnf install nvidia-driver kmod-nvidia-open-dkms

Most users should use the proprietary driver (kmod-nvidia-latest-dkms) for better compatibility and performance. The open-source variant is experimental and best suited for users who need kernel integration improvements on newer GPUs.

Verify CUDA Repository Driver Installation

After installation completes, reboot your system:

sudo reboot

After rebooting, verify the NVIDIA driver loaded correctly:

nvidia-smi

Successful output displays your GPU model, driver version, and CUDA version. If nvidia-smi returns “command not found”, install the CUDA utilities package:

sudo dnf install nvidia-driver-cuda

Method 3: Install NVIDIA Drivers via Runfile (Last Resort)

The runfile method is a last resort and not recommended for most users. Fedora community members have reported several issues with this approach, including Wayland session conflicts, X configuration failures, driver persistence problems across kernel updates, and manual rebuild requirements. Only use this method if both RPM Fusion and the NVIDIA CUDA repository do not support your GPU model or Fedora version. Advanced users should be aware of compiler compatibility requirements and kernel module configuration details outlined below.

The Runfile method offers a manual approach to installing NVIDIA drivers on Fedora Linux when other methods aren’t suitable. It provides flexibility, allowing you to select any driver version directly from NVIDIA’s official website, though it requires significantly more manual work to maintain across kernel updates.

Download the NVIDIA Driver on Fedora

Begin by navigating to the NVIDIA website to download the appropriate driver version for your graphics card. The runfile method’s advantage is the ability to handpick any version, ensuring compatibility with specific needs or applications.

After downloading, the file will typically reside in the ~/Downloads directory unless you’ve chosen a different download location.

Screenshot of searching for NVIDIA drivers to download from NVIDIA's official website on Fedora Linux
How to search for the right NVIDIA driver for your system on NVIDIA’s official website.

Disable the Nouveau Drivers

To ensure a smooth installation, you need to disable the Nouveau drivers. Execute the following command in your terminal:

echo -e "blacklist nouveau\noptions nouveau modeset=0" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf

This command performs two primary actions:

  • blacklist nouveau: Prevents the system from auto-loading the Nouveau driver module.
  • options nouveau modeset=0: Disables kernel mode-setting, a method used to set the console’s video mode. This step is crucial when installing proprietary NVIDIA drivers.

Regenerate initramfs and Reboot

Before the changes take effect, regenerate the initramfs:

sudo dracut --force

Switch to CLI mode by disabling the GUI mode:

sudo systemctl set-default multi-user.target

Now reboot using the following command:

sudo reboot

Note: If you miss this step, you can temporarily switch to CLI mode using:

sudo systemctl isolate multi-user.target

Navigate to Downloaded Driver and Prepare Installation

After rebooting, you’ll be in CLI mode. Navigate to the directory containing the downloaded NVIDIA Runfile:

cd ~/Downloads
Compiler Compatibility (Fedora 42+ Users)

NVIDIA drivers 580.xx on Fedora 42+ require explicit compiler flags for kernel module compilation due to modern C standards requirements. Before running the installer, set the C compiler environment variable to ensure compatibility:

export CC="gcc -std=gnu17"

This flag ensures compatibility with modern C standards required by the NVIDIA kernel module build system. Skip this step if installing NVIDIA 470.xx or 390.xx legacy drivers.

Run the Installer

Initiate the installation process. Use full file name if you have multiple binaries in the same directory:

sudo bash NVIDIA-Linux-x86_64-*

Or with explicit version (example):

sudo bash NVIDIA-Linux-x86_64-580.95.05.run

During the installation, you’ll encounter several prompts:

32-bit Compatibility Libraries

Decide whether to install NVIDIA’s 32-bit Compatibility Libraries. While this is a user choice, installing them can benefit specific applications.

Kernel Module Sources with DKMS

This prompt inquires if you’d like the kernel module sources to register with DKMS. Opting for ‘YES’ ensures that DKMS will auto-build a new module if your kernel updates.

NVIDIA X Driver Configuration

NVIDIA will ask if it should auto-run the nvidia-xconfig utility. This action updates your X configuration file, ensuring the NVIDIA X driver is utilized upon restarting. It also backs up any existing X configuration files. It’s advisable to select ‘YES’ for a seamless experience.

Upon completing these steps, you’ve successfully installed the NVIDIA drivers via the Runfile method on Fedora Linux.

Kernel Module Configuration (Post-Installation)

Important for display stability: The installer sets fbdev=0 in /etc/modprobe.d/nvidia.conf during runlevel 3 (CLI mode) installation to prevent framebuffer conflicts during module compilation. After successful installation and before rebooting to graphical mode, update this parameter:

## Check current fbdev setting
cat /etc/modprobe.d/nvidia.conf | grep fbdev

## If fbdev=0 is present, change to fbdev=1 for graphical mode
sudo sed -i 's/fbdev=0/fbdev=1/g' /etc/modprobe.d/nvidia.conf

The fbdev parameter controls framebuffer console access: fbdev=0 is required during kernel module compilation in CLI mode to avoid conflicts, but fbdev=1 should be set before returning to graphical mode to enable proper display console functionality in GNOME/KDE.

DKMS Compiler Persistence (Fedora 42+)

If you’re using DKMS for automatic kernel module rebuilds (recommended), you must add the compiler flag permanently to the DKMS configuration. This ensures that future kernel updates compile correctly without manual intervention:

## Find your NVIDIA driver version
ls -la /usr/src/ | grep nvidia

## Example: /usr/src/nvidia-580.95.05/
## Edit the dkms.conf file and update the MAKE line
sudo nano /usr/src/nvidia-580.95.05/dkms.conf

## Find the line starting with MAKE[0]= and modify it to include CC flag
## Change from:
## MAKE[0]="'make' -j16 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"
## To:
## MAKE[0]="CC='gcc -std=gnu17' 'make' -j16 NV_EXCLUDE_BUILD_MODULES='' KERNEL_UNAME=${kernelver} modules"

This ensures that kernel module rebuilds after future kernel updates will use the correct compiler flags automatically, preventing build failures on subsequent dnf kernel updates.

Re-enable GUI and Reboot

Before concluding, switch back to the GUI login:

sudo systemctl set-default graphical.target

Finally, reboot your system:

sudo reboot

Confirming NVIDIA Drivers Installation

After installing the NVIDIA drivers on your Fedora system, it’s crucial to ensure that the installation was successful and that the drivers function as expected. This verification step provides confidence in the system’s graphics performance and stability.

Using the Command-Line Interface (CLI)

The NVIDIA System Management Interface (nvidia-smi) provides a concise overview of the GPU status, driver version, memory, and temperature.

Execute the following command in your terminal:

nvidia-smi

To check only GPU memory and compute capability:

nvidia-smi --query-gpu=compute_cap,memory.total --format=csv,noheader

To verify OpenGL hardware acceleration is working:

glxinfo | grep "OpenGL version"

This should display an OpenGL version backed by NVIDIA (not Mesa or Nouveau). If it shows Mesa or software rendering, the NVIDIA driver may not have loaded, so verify akmod build and check lsmod | grep nvidia.

Example output showing successful NVIDIA driver installation:

+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3060      Off   | 00000000:01:00.0  On   |                  N/A |
| 30%   45C    P8              15W / 170W |     512MiB / 12288MiB  |      0%      Default |
+-----------------------------------------+------------------------+----------------------+

Accessing NVIDIA X Server Settings (GUI)

For a graphical view of your NVIDIA GPU settings, you can access the NVIDIA X Server settings application. Launch it with:

nvidia-settings

Alternatively, navigate to “Activities” → “Show Applications” and search for “NVIDIA X Server”.

Enable Hardware Video Acceleration

NVIDIA GPUs support hardware-accelerated video decoding and encoding through VDPAU and VAAPI, which significantly reduces CPU load during video playback, streaming, and encoding. Modern NVIDIA drivers (GeForce 8 series and newer) include VDPAU support automatically, but you need additional libraries to expose this capability to media players and web browsers.

Install the required acceleration libraries:

sudo dnf install vdpauinfo libva-vdpau-driver libva-utils

After installation completes, verify VDPAU support and check which video codecs your GPU can hardware-accelerate (run this after rebooting with NVIDIA drivers loaded):

vdpauinfo

The output lists supported codec profiles (H.264 for standard video, HEVC/H.265 for 4K content, VP9 for YouTube, AV1 for modern streaming, MPEG-2 for DVD/Blu-ray, and VC-1 for older media) your GPU can hardware-accelerate along with maximum resolution support for each codec. Most modern video players (VLC, MPV, Firefox, Chromium) automatically detect and use these capabilities when available, but you may need to enable hardware acceleration explicitly in browser settings (Firefox: about:preferences → Performance → “Use hardware acceleration when available”).

Hardware acceleration improves battery life on laptops by offloading video processing from the CPU to the dedicated video decode engines on your NVIDIA GPU. Desktop users benefit from reduced CPU usage during 4K video playback and multi-stream scenarios.

Troubleshooting Common NVIDIA Driver Issues

Driver Installation and Detection

NVIDIA drivers not detected (nvidia-smi returns “command not found”): Verify the akmod build completed. For RPM Fusion, check logs with sudo journalctl -xe | grep -i nvidia and verify kmod packages with rpm -qa | grep kmod-nvidia. For CUDA repo (Fedora 39–42), reinstall with sudo dnf install nvidia-driver kmod-nvidia-latest-dkms. For runfile installations, ensure multi-user mode and reinstall.

GPU memory or architecture not detected: If nvidia-smi shows “No devices were found”, verify your system has an NVIDIA GPU with lspci | grep -i nvidia. Check initialization errors with sudo dmesg | grep -i nvidia.

Nouveau driver still present after installation: Verify it’s blacklisted:

cat /etc/modprobe.d/nvidia.conf | grep nouveau

Should show “blacklist nouveau”. If not, manually add it using the command from the Runfile section’s “Disable the Nouveau Drivers”.

Display and Session Issues

X server fails to start (black screen after login):

  • Runfile method: Boot into recovery mode and remove the installation with sudo /usr/bin/nvidia-uninstall, then switch to RPM Fusion.
  • RPM Fusion method: Verify MOK enrollment completed if Secure Boot is enabled.
  • Boot configuration issues: Review GRUB Customizer on Fedora for advanced boot troubleshooting.

Wayland session hangs or crashes: Some driver and Wayland combinations have compatibility issues. Try these solutions:

  • Switch to X11 in the login screen’s session selector
  • Use the open-source kernel module variant (RPM Fusion): sudo dnf install akmod-nvidia-open

Kernel Module and Update Issues

Drivers don’t persist after kernel updates: DKMS-enabled packages (akmod on RPM Fusion, latest-dkms on CUDA repository) automatically rebuild drivers. Runfile installations require manual reinstallation after each kernel update.

DKMS build fails after kernel updates: Ensure kernel headers match your running kernel:

uname -r
sudo dnf install kernel-headers-$(uname -r) kernel-devel-$(uname -r)

Then manually trigger rebuild with sudo akmods --rebuild.

Flatpak Apps Cannot Detect GPU After Driver Updates

If Flatpak applications cannot detect your NVIDIA GPU after updating drivers, even though nvidia-smi works correctly, the Flatpak NVIDIA runtime libraries need updating separately. This issue occurs because Flatpak maintains its own copy of NVIDIA userland libraries that must match your system driver version.

First, verify your system driver version is working:

nvidia-smi

If the GPU appears correctly, check your Flatpak NVIDIA runtime version:

flatpak list | grep org.freedesktop.Platform.GL.nvidia

Example output showing version mismatch:

nvidia-580-95-05	org.freedesktop.Platform.GL.nvidia-580-95-05		1.4	system

If the version number doesn’t match your installed driver (for example, Flatpak shows 580-95-05 but nvidia-smi shows 580.105.08), the mismatch prevents Flatpak apps from detecting your GPU. Update Flatpak packages:

flatpak update

After updating, reboot your system. The Flatpak NVIDIA libraries will now match your system driver version, and GPU-accelerated applications should detect your hardware correctly.

After upgrading NVIDIA drivers through DNF, always run flatpak update separately before rebooting. System package managers (DNF, RPM) do not automatically update Flatpak runtimes. Skipping this step leaves Flatpak apps unable to communicate with your GPU until the runtime versions sync.

External Monitor and HDMI Detection Issues (Optimus Laptops)

Laptops with NVIDIA Optimus (dual GPU configuration) may experience external monitor detection failures where HDMI or DisplayPort outputs don’t recognize connected displays at boot but work correctly when plugged in after the system finishes booting. This behavior typically indicates BIOS security setting conflicts with NVIDIA driver initialization.

Verify Driver Loading and Module Status

First, verify the NVIDIA driver loaded successfully and can communicate with the GPU:

nvidia-smi

If this command returns “NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver”, the driver loaded but cannot initialize the GPU hardware properly. Check if the driver modules loaded:

lspci -nnk | grep -iA3 vga

Successful output shows the NVIDIA GPU with kernel driver loaded:

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile / Max-Q] [10de:2560] (rev a1)
	Subsystem: Dell Device [1028:0b5f]
	Kernel driver in use: nvidia
	Kernel modules: nouveau, nvidia_drm, nvidia

If “Kernel driver in use” shows “nouveau” or is missing entirely, the NVIDIA driver isn’t loaded. Force rebuild the kernel modules:

sudo akmods --rebuild --force
sudo reboot

BIOS Settings That Affect Display Detection

If external monitors still don’t detect at boot, check your BIOS/UEFI settings for these common conflicts:

  1. Secure Boot: While RPM Fusion drivers sign modules automatically, some BIOS implementations block signed third-party modules anyway. Disable Secure Boot temporarily to test.
  2. Fast Boot / Quick Boot: This feature skips hardware initialization steps that NVIDIA drivers need for external display detection. Disable Fast Boot in BIOS power management settings.
  3. TPM (Trusted Platform Module): Some implementations interfere with GPU initialization timing. Disable TPM to test if it resolves detection issues.
  4. CSM (Compatibility Support Module) / Legacy Boot: Mixed UEFI/Legacy settings can cause display output routing problems. Ensure pure UEFI mode without CSM enabled.

After changing BIOS settings, reboot fully (cold boot, not warm restart) to ensure hardware initialization runs completely.

Common Symptoms of Initialization Problems

Check for these secondary symptoms that indicate BIOS conflicts:

  • System freezes when screen powers off with HDMI connected: The driver cannot handle display power management events properly, typically caused by incomplete hardware initialization at boot.
  • Shutdown hangs with external monitor connected: The driver cannot release external display resources cleanly, another symptom of initialization timing issues.
  • Boot message showing fallback to Nouveau: Even with akmod-nvidia installed, BIOS security features may prevent module loading during early boot. Check for this message:
nvidia kernel modules not found, falling back to nouveau

This indicates module signing and Secure Boot conflicts that need resolution.

Dell, Lenovo, and HP gaming laptops frequently ship with aggressive security defaults that conflict with third-party kernel modules. If disabling Secure Boot alone doesn’t resolve HDMI detection, systematically disable other security features (Intel SGX, Virtualization-based Security, TPM) one at a time until you identify the specific conflict.

Resolution Detection Failures and Driver Version Conflicts

After system updates, monitors may fail to detect their native resolutions (for example, 2K or 4K displays limited to 1920×1080) even though the NVIDIA driver appears to load correctly. This typically indicates either corrupted EDID data, conflicting kernel module versions, or known bugs in specific driver releases.

Check Kernel Module Conflicts

Check for multiple kmod versions installed simultaneously:

rpm -qa | grep kmod-nvidia

Example output showing multiple conflicting versions:

kmod-nvidia-6.17.6-200.fc42.x86_64-580.105.08-1.fc43.x86_64
kmod-nvidia-6.17.6-300.fc43.x86_64-580.105.08-1.fc43.x86_64
kmod-nvidia-6.17.7-300.fc43.x86_64-580.105.08-1.fc43.x86_64

If you see multiple versions like above, the system may load the wrong module version. Verify which kernel is running:

uname -r

Then confirm the matching kmod package exists for your running kernel. If the kmod version doesn’t match your kernel version, remove conflicting old modules and rebuild:

sudo dnf remove $(rpm -qa | grep 'kmod-nvidia.*6.17.6')
sudo akmods --force
sudo dracut --force
sudo reboot

Replace 6.17.6 with the old kernel version you want to remove. Only remove kmod packages for kernels you no longer boot into.

Known Driver Version Issues

Driver 580.105.08 known issue with high-resolution monitors: This driver version has reported bugs affecting 2K (2560×1440), ultra-wide (3440×1440), and 4K displays where maximum resolution detection fails or displays limited resolution options. If you upgraded to 580.105.08 and lost resolution options, downgrade to the proven-stable 580.95.05 release:

sudo dnf downgrade akmod-nvidia xorg-x11-drv-nvidia
sudo akmods --force
sudo reboot

After downgrading, verify the driver version:

modinfo -F version nvidia

Expected output confirming successful downgrade:

580.95.05

If the version matches, reboot and test your monitor’s native resolution in display settings. The downgrade resolved the detection issue.

nvidia-smi missing despite drivers installed: If nvidia-smi returns “command not found” even though rpm -qa | grep nvidia shows installed packages, the nvidia-utils package is missing. Install it explicitly:

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

This package provides nvidia-smi and other GPU management utilities. After installation, verify:

which nvidia-smi
nvidia-smi

Expected output confirming nvidia-smi is now available:

/usr/bin/nvidia-smi

The which command should return the path above, confirming the utility is installed. Running nvidia-smi will then display your GPU information.

EDID and Session Type Troubleshooting

If resolution detection still fails after verifying drivers and removing conflicts, check for EDID detection errors:

sudo journalctl -b | grep -i edid
xrandr --verbose

EDID errors indicate the monitor isn’t communicating its capabilities correctly. Try a different cable (DisplayPort vs HDMI) or test with another monitor to isolate hardware issues from driver problems. Additionally, Wayland sessions may not detect all resolutions that X11 sessions expose; test both session types from the login screen to compare available resolutions.

GUI Package Manager Reboot Timing Issues

Users who update Fedora through graphical package managers (GNOME Software, KDE Discover) may experience a specific timing issue that creates the false impression that NVIDIA drivers “break with every kernel update.” This section explains why this happens and how to avoid it.

Understanding the Problem

GUI package managers like KDE Discover prompt you to reboot immediately after the DNF transaction completes installing packages. However, the akmod background process that compiles the NVIDIA kernel module starts after DNF finishes and takes an additional 2-5 minutes. If you click “Reboot Now” when prompted, the system reboots before akmod completes, causing the NVIDIA driver to fail loading on the next boot.

Symptoms of premature reboot:

  • Black screen or low-resolution display after kernel updates
  • lsmod | grep nvidia returns nothing (driver not loaded)
  • lspci -k | grep -A3 VGA shows “Kernel driver in use: nouveau” instead of nvidia
  • System appears to “forget” NVIDIA drivers were installed
Solution Options

Solution 1: Use command-line updates (recommended for reliability)

Instead of relying on GUI package managers for system updates, use DNF directly in a terminal:

sudo dnf upgrade --refresh

After DNF completes, wait for akmod to finish building (verify with modinfo -F version nvidia as described in the “Wait for Akmod Build to Complete” section above), then reboot manually:

sudo reboot

Solution 2: Ignore premature reboot prompts from GUI updaters

If you prefer using GNOME Software or KDE Discover for updates, when you see the “Restart Now” or “Reboot Required” notification after updates complete, do NOT click it immediately. Instead:

  1. Dismiss the reboot notification
  2. Open a terminal and run modinfo -F version nvidia
  3. Wait until it returns a version number instead of “Module nvidia not found”
  4. Only then reboot your system

Solution 3: Monitor CPU activity after updates

After GUI package managers finish updating packages, open System Monitor (GNOME) or KSysGuard (KDE) and watch CPU usage. You’ll see sustained CPU activity (one or more cores at 100%) for 2-5 minutes while akmod compiles the NVIDIA module. Wait until CPU usage returns to idle levels before rebooting.

What if you already rebooted too early?

If you’ve already rebooted and the NVIDIA driver isn’t loaded, don’t reinstall anything. The akmod build will complete automatically during boot (taking 2-3 minutes longer than usual), or you can manually trigger it:

sudo akmods --force
sudo reboot

This forces immediate module compilation without waiting for the next boot cycle.

Wayland Performance and Compatibility Issues

NVIDIA’s Wayland support has improved significantly with driver 555.42+ and explicit sync protocol support. However, if you experience flickering, lag, or performance issues on Wayland, these fixes apply to all installation methods (RPM Fusion, CUDA repository, and runfile).

Disable GSP Firmware (KDE Plasma Performance)

The GPU System Processor (GSP) firmware can cause performance degradation in KDE Plasma 6.0+ despite being newer (driver 510+). Consequently, if you experience frame drops or stuttering in KDE Plasma, first check if GSP firmware is enabled:

nvidia-smi -q | grep "GSP Firmware"

Example output when GSP firmware is enabled (causing performance issues):

    GSP Firmware Version                  : 580.95.05

If output shows a version number like above instead of “N/A”, GSP is enabled and may be causing performance degradation in KDE Plasma. Disable it by adding a kernel parameter with grubby (works on both UEFI and BIOS installs), then reboot:

sudo grubby --update-kernel=ALL --args='nvidia.NVreg_EnableGpuFirmware=0'
sudo reboot

Enable Preserve Video Memory Allocations (Suspend/Resume)

If you experience graphical glitches, artifacts, or black screens after suspend/resume, enable the preserve video memory allocations module parameter. First, verify the current status:

sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"

Example output showing disabled state (causes suspend/resume issues):

PreserveVideoMemoryAllocations: 0

If output shows “0” like above, the feature is disabled and may cause graphical artifacts after suspend/resume. Enable it by adding the kernel parameter with grubby and reboot:

sudo grubby --update-kernel=ALL --args='nvidia.NVreg_PreserveVideoMemoryAllocations=1'
sudo reboot

Verify the setting applied:

sudo cat /proc/driver/nvidia/params | grep "PreserveVideoMemoryAllocations"

Expected output confirming the setting is now enabled:

PreserveVideoMemoryAllocations: 1

The “1” confirms video memory preservation is active. Suspend and resume your system to verify the graphical glitches no longer occur.

VRR/FreeSync/G-SYNC Screen Flickering and Black Screens

High-refresh-rate monitors with Variable Refresh Rate (VRR), FreeSync, or G-SYNC enabled frequently experience severe flickering and black screen flashes on Wayland with NVIDIA drivers. This issue affects both NVIDIA and AMD GPUs and is particularly noticeable when alt-tabbing out of games or during static content like loading screens.

Symptoms of VRR-related flickering:

  • Monitor briefly goes black (1-2 seconds) when switching windows or applications
  • Heavy flickering during gaming, especially in menus or loading screens
  • Screen turns black repeatedly when alt-tabbing out of full-screen games
  • Flickering on static content but smooth during motion (counterintuitive VRR behavior)
  • Issue disappears completely when using X11 session instead of Wayland
VRR Flickering Solutions

Solution 1: Switch to X11 session (immediate fix)

The most reliable workaround is using X11 instead of Wayland. At the login screen (GDM or SDDM), click the gear icon before entering your password and select “GNOME on Xorg” or “Plasma (X11)”. X11 handles VRR and G-SYNC properly with NVIDIA drivers without flickering issues.

Solution 2: Disable VRR in GNOME Settings (Wayland)

If you must use Wayland, disable Variable Refresh Rate in your desktop environment settings:

For GNOME 47+:

  1. Open Settings → Displays
  2. Click on your monitor
  3. Toggle “Variable Refresh Rate” to OFF
  4. Apply changes and reboot

For KDE Plasma 6+:

  1. Open System Settings → Display and Monitor
  2. Select your monitor
  3. Uncheck “Enable Adaptive Sync”
  4. Apply and reboot

Disabling VRR eliminates the flickering but you lose adaptive refresh rate benefits. Fixed refresh rate (144Hz, 165Hz, etc.) will still work normally.

Solution 3: Create custom EDID table (advanced users)

Some monitors report incorrect VRR frequency ranges in their EDID data, causing the driver to switch refresh rates inappropriately. Extract your monitor’s EDID, modify the VRR frequency range (for example, increase minimum from 24Hz to 48Hz), and reload the custom EDID. This advanced procedure requires familiarity with edid-decode, hex editors, and kernel parameters.

First, install the monitor-edid package and check your current VRR range:

sudo dnf install monitor-edid
sudo monitor-get-edid | edid-decode | grep -A5 "Variable Refresh"

If your monitor reports a very low minimum VRR frequency (24Hz-30Hz), this may trigger excessive mode switching. Increasing the minimum to 48Hz often resolves flickering while maintaining VRR functionality. Detailed EDID editing tutorials are available in NVIDIA and kernel documentation, but this method requires significant technical expertise.

Solution 4: Test with open-source kernel modules

If you have a Turing (RTX 20-series) or newer GPU, try the open-source NVIDIA kernel modules which sometimes handle VRR timing better:

sudo dnf swap akmod-nvidia akmod-nvidia-open
sudo reboot

After rebooting, test VRR behavior. If flickering persists, switch back to proprietary modules with sudo dnf swap akmod-nvidia-open akmod-nvidia.

VRR/G-SYNC flickering on Wayland is a known limitation affecting both NVIDIA and AMD GPUs as of November 2025. The Wayland VRR protocol implementation is still maturing. For gaming and high-refresh-rate workflows, X11 sessions provide significantly better stability with VRR enabled until Wayland VRR support matures in future compositor releases.

Chrome and Chromium Wayland Support

For Google Chrome, Chromium, and Edge browsers to run smoothly on Wayland with NVIDIA, enable the Ozone platform flag. Open the browser and navigate to chrome://flags (or edge://flags), search for “Preferred Ozone platform”, and set it to either “Wayland” or “auto”. Restart the browser.

For Visual Studio Code and other Electron apps, launch with explicit Wayland flags. Example for VS Code:

code --enable-features=UseOzonePlatform,WaylandWindowDecorations --ozone-platform-hint=auto

To make this permanent, create or edit ~/.config/code-flags.conf and add the flags.

Video Codec and Media Player Issues

Black screens in VLC, Firefox, or other media players with NVIDIA drivers are typically caused by missing codecs (openh264, ffmpeg), not driver issues. This affects all installation methods. To resolve this, install the necessary codec packages:

sudo dnf config-manager setopt fedora-cisco-openh264.enabled=1
sudo dnf install openh264 mozilla-openh264 libavcodec-freeworld ffmpeg gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly

For RPM Fusion users, these packages require the free and nonfree repos to be enabled (covered in the RPM Fusion installation section). After installation, restart your media player or browser for changes to take effect. Additionally, if you need to configure system services or network settings, consult the Firewalld on Fedora guide for firewall management.

LUKS-Encrypted Drive Setup (Before Final Reboot)

If your Fedora installation uses LUKS disk encryption, perform these steps before rebooting after driver installation (applies to runfile method primarily, but relevant for CUDA repository if you encounter boot issues). This ensures NVIDIA drivers load correctly during early boot.

Create or edit the dracut NVIDIA configuration:

sudo nano /etc/dracut.conf.d/nvidia.conf

Add the following line to include NVIDIA modules in the initramfs:

add_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm "

Save the file (Ctrl+X, then Y, then Enter), then rebuild the initramfs:

sudo dracut --force

After this completes, you can safely reboot. The NVIDIA modules will be available during early boot, allowing LUKS password entry and driver loading in the correct sequence.

AMD+NVIDIA Hybrid Laptop Boot Issues

Laptops with both AMD integrated graphics and NVIDIA discrete GPUs may experience boot hangs where the system freezes before reaching the login screen, even though X11 sessions launched manually with startx work correctly. This typically indicates Wayland compositor initialization failures rather than driver problems.

If you encounter this issue, first verify the NVIDIA driver loaded successfully by booting to a text console (press Ctrl+Alt+F3 at boot) and checking:

lsmod | grep nvidia
nvidia-smi

The lsmod output should show the nvidia modules loaded (nvidia, nvidia_modeset, nvidia_uvm, nvidia_drm). If empty, the driver failed to load. The nvidia-smi command should display your GPU model and driver version.

If the driver loads but graphical sessions fail, try these recovery steps in order:

1. Downgrade to stable driver version: NVIDIA driver 580.105.08 has known issues with hybrid GPU systems. Downgrade to the proven-stable 580.95.05 release:

sudo dnf downgrade akmod-nvidia xorg-x11-drv-nvidia

Wait for the akmod rebuild to complete (monitor with sudo tail -f /var/cache/akmods/nvidia/$(uname -r)-$(uname -m)/last.log), then reboot.

2. Rebuild initramfs without host-only mode: If boot hangs persist, rebuild the initial ramdisk to include all necessary modules:

sudo dracut --force --no-hostonly --kver $(uname -r)

This creates a larger initramfs (around 150MB) that includes NVIDIA modules for early boot. Reboot after completion.

3. Check for D-Bus and systemd service failures: Boot issues that show GDM restart loops or “Failed to list cached users: GDBus.Error” messages indicate deeper system service problems beyond drivers. Check failed units:

sudo systemctl --failed
sudo journalctl -b -p err

If multiple system services fail (auditd, firewalld, akmods), the issue may stem from filesystem corruption or SELinux context problems rather than NVIDIA drivers. Consider performing filesystem relabeling from rescue mode.

4. Try the open-source kernel modules: Verify which NVIDIA module variant is active:

modinfo -l nvidia

If output shows “NVIDIA” instead of “Dual MIT/GPL”, you’re using proprietary modules. RPM Fusion automatically selects open modules for compatible GPUs (RTX 20-series and newer). The open modules sometimes resolve hybrid GPU initialization timing issues.

If your system won’t boot at all, use a Fedora Live USB to mount your root partition and chroot into it. From there, you can downgrade drivers, rebuild initramfs, check logs with journalctl --list-boots, and disable problematic services before rebooting into your installed system.

Dual GPU Management (Laptops with Integrated + Discrete Graphics)

Laptops with both integrated graphics (Intel or AMD) and NVIDIA discrete GPUs benefit from proper GPU switching management. Fedora provides switcherooctl through the switcheroo-control package to query and control GPU selection. Install it if not already present:

sudo dnf install switcheroo-control
switcherooctl

This command displays available GPUs and current power states. To launch applications on the discrete NVIDIA GPU for better performance:

switcherooctl launch -g 1 application-name

Alternatively, use NVIDIA’s PRIME offloading environment variables (works regardless of GPU management method):

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia application-name

For persistent GPU selection preferences, modern desktop environments (GNOME 47+, KDE Plasma 6+) provide graphical GPU preference controls in application settings. Additionally, verify your power management settings to ensure the discrete GPU powers down when idle to conserve battery life.

Conclusion

Your Fedora system now has NVIDIA GPU acceleration for gaming, video editing, 3D rendering, and CUDA-powered machine learning. The key techniques covered include: using RPM Fusion’s akmod packages for automatic kernel module rebuilds, enabling power management services to prevent suspend/resume issues, verifying driver installation with nvidia-smi, and handling Secure Boot through MOK enrollment.

If you experience issues after kernel updates, always check that the akmod build completed (verify with rpm -qa | grep kmod-nvidia) before rebooting. For Optimus laptops, PRIME offloading works automatically with modern drivers—use the environment variables shown above when you need to force specific applications onto the discrete GPU.

Next steps to consider: optimize DNF performance for faster package operations, explore GRUB Customizer for boot configuration, or set up Firewalld for network security.

11 thoughts on “How to Install NVIDIA Drivers on Fedora Linux”

  1. Dont know why but since drivers 560…565… Only .RUN works well… without DKMS…

    Akmods complilation done, reboot black screen… I tryed all solutios ans checks but nothing did work…

    also trouble after kernel 6.11 on Fedora 41… some pcieport freeze after pass Grub2 ans start boot kernel….

    Strange… isnt it ?

    Reply
    • Thanks for sharing this, Francis. The driver 560+ series introduced significant changes to NVIDIA’s kernel module architecture that can create compatibility issues with DKMS and akmod workflows, especially when paired with newer kernels like 6.11+. Your experience with the .RUN installer working while akmods fail after reboot points to a kernel module signing or loading problem rather than compilation failure.

      The black screen after akmod compilation typically means the module compiled successfully but failed to load during boot. Check /var/log/akmods/akmods.log immediately after the failed boot to see if the module built correctly, then verify the kernel module loaded with lsmod | grep nvidia. If the module is absent, kernel lockdown or secure boot may be blocking unsigned modules.

      For the PCIe port freeze with kernel 6.11 on Fedora 41, add pcie_aspm=off to your kernel boot parameters in /etc/default/grub on the GRUB_CMDLINE_LINUX line, then run sudo grub2-mkconfig -o /boot/grub2/grub.cfg and reboot. This disables PCIe Active State Power Management, which sometimes conflicts with NVIDIA hardware during early boot stages.

      sudo grubby --update-kernel=ALL --args="pcie_aspm=off"

      The .RUN installer bypasses DKMS entirely and handles module signing differently, which explains why it works when akmods fail. If you need DKMS/akmod functionality for automatic kernel updates, the guide’s Fix Secure Boot Compatibility Issues section covers enrolling MOK keys properly so signed modules load on boot. Otherwise, stick with the .RUN method and manually reinstall drivers after kernel upgrades. It’s more hands-on but avoids the module loading complexity you’re experiencing.

      Reply
  2. The runfile method defaults only to using xorg, not wayland, which is not a smooth experience. Is there a way to enable wayland in Fedora 40? So far all my attempts have been unsuccessful.

    Reply
    • The .RUN installer defaults to X.org because NVIDIA’s proprietary drivers require specific Wayland compositor patches that the runfile cannot inject automatically. Fedora 40 ships Wayland by default with GNOME, but the .RUN method bypasses the distribution’s integration hooks that enable proper Wayland support.

      Switch to the RPM Fusion repository method instead, which handles Wayland integration automatically through properly packaged akmod drivers. Remove the runfile installation first with the uninstaller script, then follow the guide’s Install NVIDIA Drivers via RPM Fusion section:

      sudo /usr/bin/nvidia-uninstall

      After installing through RPM Fusion and rebooting, verify Wayland is active:

      echo $XDG_SESSION_TYPE

      The command should return:

      wayland

      If it still defaults to X.org, edit /etc/gdm/custom.conf and comment out the WaylandEnable=false line if present, then restart GDM:

      sudo systemctl restart gdm

      The runfile method is designed for maximum compatibility across distributions but sacrifices integration features like Wayland support that require distro-specific packaging.

      Reply
  3. Hello,

    I recently bought 4070 TI super, but I can’t install the driver. I’ve tried the 3 methods and others as well, but nothing works. I’ve read on forums that other people also have problems installing the driver for 4070 TI super. I would like to ask for your advice. It’s true that I’m not a Linux expert, but I spend my time looking for a solution without success.

    Reply
    • The RTX 4070 Ti Super requires driver version 545.29.02 or newer to function properly, as it was released after earlier driver branches were finalized. If you’re running Fedora with older driver versions from RPM Fusion or NVIDIA’s repositories, the GPU won’t be recognized during installation.

      First, verify which driver version you’re attempting to install and confirm your card is detected by the system:

      lspci | grep -i nvidia

      If the output shows your RTX 4070 Ti Super, the hardware is visible to the kernel. Next, check if RPM Fusion has the required driver version available:

      sudo dnf search akmod-nvidia

      Look for version 550 or newer in the package list. If RPM Fusion only shows older versions (like 535 or 470), download the latest .RUN installer directly from NVIDIA’s driver download page and follow the guide’s Install NVIDIA Drivers via .RUN File section. The runfile method guarantees you get the newest driver release that supports your GPU, bypassing repository lag.

      Before running the installer, switch to a text console (Ctrl+Alt+F3), log in, and stop the display manager:

      sudo systemctl isolate multi-user.target

      Then run the downloaded .RUN file with the kernel module option:

      sudo bash NVIDIA-Linux-x86_64-*.run --dkms

      After installation completes, reboot and verify the driver loaded correctly:

      nvidia-smi

      This should display your RTX 4070 Ti Super with driver version and GPU details. If you see errors about kernel module loading or missing libraries, check /var/log/nvidia-installer.log for specific failure points and share the relevant error lines if you need further troubleshooting.

      Reply
  4. It took a few days, but it looks like there’s an inherent incompatibility between the latest Nvidia drivers (545.23.08-1.fc37) and Linux kernel 6.7.3 on Fedora 39. However, I was just able to install kernel 6.7.4 on FC39 and reinstall the nvidia drivers and that seems to have fixed whatever was broken. Hope this helps others.

    Reply
    • Appreciate you sharing the resolution, Harold. Kernel 6.7.3 introduced changes to the DRM subsystem that broke compatibility with the 545.x driver series, causing black screens and module loading failures on multiple distributions. Your experience confirms that 6.7.4 includes the necessary fixes to restore NVIDIA driver functionality.

      For readers encountering similar issues with specific kernel versions, you can check which kernels are available and temporarily boot an older stable kernel while waiting for driver updates:

      sudo dnf list installed kernel

      This shows all installed kernel versions. Reboot and select an older kernel from the GRUB menu (press Esc during boot to access it) if the latest kernel causes driver problems. Once a compatible kernel version is confirmed working, you can upgrade or wait for the next driver release that addresses the incompatibility.

      The guide’s Common Issues and Solutions section now includes kernel compatibility troubleshooting based on feedback like yours. Kernel and driver mismatches are particularly common during the first few weeks after major kernel releases, when driver maintainers are still adapting to upstream changes.

      Reply
  5. Not sure when you added the repo for Fedora 39, but as of 6 Feb 24, there’s nothing in there (https://developer.download.nvidia.com/compute/cuda/repos/fedora39/x86_64/). Compare with the repo for Fedora 37 (https://developer.download.nvidia.com/compute/cuda/repos/fedora37/x86_64/). Bottom line, I can install drivers from the Fedora 37 repo, but they don’t seem to work with version 6.7 of the Linux Kernel. I can’t install anything from the Fedora 39 repo.

    Reply
    • NVIDIA typically lags several months behind new Fedora releases when publishing CUDA repository builds. Fedora 39 was released in October 2023, but the CUDA repository remained empty for weeks while NVIDIA finalized packaging and testing. This pattern repeats with every Fedora release. Fedora 43 launched recently, and its CUDA repository will likely stay empty until early 2026 while NVIDIA validates driver compatibility and updates repository metadata.

      The Fedora 37 repository you found contains older driver builds that predate kernel 6.7’s DRM subsystem changes, which explains the compatibility issues. When NVIDIA’s official repository lacks packages for your Fedora version, use RPM Fusion instead:

      sudo dnf install akmod-nvidia

      RPM Fusion maintains current driver packages for each Fedora release and handles kernel compatibility proactively. The guide’s Install NVIDIA Drivers via RPM Fusion section covers the full setup process. RPM Fusion typically publishes compatible drivers within days of a new Fedora release, while NVIDIA’s official repository can take months to catch up.

      Alternatively, download the latest .RUN installer directly from NVIDIA’s driver download page, which bypasses repository dependencies entirely. The runfile works on any Fedora version regardless of CUDA repository availability, though you’ll need to reinstall drivers manually after kernel updates since it doesn’t integrate with DKMS the way RPM Fusion’s akmod packages do.

      Reply

Leave a Comment