}

How to Blacklist Nouveau NVIDIA Driver in 2026 (Ubuntu, Arch, Fedora, Rocky Linux)

How to Blacklist Nouveau NVIDIA Driver in 2026

To blacklist Nouveau, create /etc/modprobe.d/blacklist-nouveau.conf with blacklist nouveau and options nouveau modeset=0, then regenerate initramfs (update-initramfs -u on Ubuntu/Debian, dracut --force on Fedora/RHEL/Rocky, mkinitcpio -P on Arch) and reboot. After rebooting, confirm with lsmod | grep nouveau — no output means success.

Why Nouveau Conflicts with NVIDIA Drivers

Nouveau is the open-source, reverse-engineered NVIDIA driver maintained by the community and included by default in most Linux distributions. When you attempt to install NVIDIA's proprietary driver, the installer detects Nouveau loaded in the kernel and refuses to continue:

ERROR: The Nouveau kernel driver is currently in use by your system.
This driver is incompatible with the NVIDIA driver, and must be disabled
before proceeding.

The conflict exists because:

  • Exclusive hardware control: Only one kernel module can manage a GPU at a time. Nouveau claims the hardware at boot, leaving no path for the NVIDIA module to attach.
  • Kernel Mode Setting (KMS): Nouveau uses KMS to set display resolution early in boot. NVIDIA's driver needs to own KMS itself and cannot evict Nouveau once it is loaded.
  • No CUDA support: Nouveau has no CUDA implementation. Machine learning workloads, GPU compute, and NVENC encoding all require the proprietary driver.
  • Performance gap: Nouveau lacks proper power management, hardware-accelerated video decode, Vulkan support, and G-Sync — all requiring NVIDIA's proprietary stack.

Blacklisting Nouveau prevents the kernel from loading it at boot, clearing the path for NVIDIA's driver to install and load cleanly.


Method 1: modprobe.d Blacklist File (Recommended for All Distros)

This is the universal, persistent method. It works on every major distribution.

Step 1: Create the Blacklist Configuration

sudo nano /etc/modprobe.d/blacklist-nouveau.conf

Add exactly these two lines:

blacklist nouveau
options nouveau modeset=0
  • blacklist nouveau — prevents the module from auto-loading.
  • options nouveau modeset=0 — disables kernel mode setting for Nouveau even if something else tries to load it.

Save and exit (Ctrl+X, Y, Enter in nano).

Step 2: Regenerate initramfs (Distro-Specific)

The initial ramdisk (initramfs/initrd) embeds a copy of kernel modules and blacklists. You must regenerate it so the blacklist takes effect at the very first stage of boot — before the Nouveau module would otherwise load.

Ubuntu and Debian

sudo update-initramfs -u

To regenerate for all installed kernels (recommended if you have multiple):

sudo update-initramfs -u -k all

Arch Linux

sudo mkinitcpio -P

The -P flag regenerates presets for all installed kernels. If you are running a custom kernel (linux-zen, linux-lts), this handles them all.

Fedora, RHEL 8/9, Rocky Linux, AlmaLinux, CentOS Stream

sudo dracut --force

To regenerate for all kernels:

sudo dracut --force --regenerate-all

openSUSE Leap and Tumbleweed

openSUSE uses dracut by default on modern versions:

sudo dracut --force

On older openSUSE versions that used mkinitrd:

sudo mkinitrd

Step 3: Reboot

sudo reboot

Do not install NVIDIA drivers yet — reboot first to ensure Nouveau is fully disabled before the NVIDIA installer runs.


Method 2: GRUB Kernel Parameter (Alternative / Fallback)

If the modprobe.d method does not work (for example, on systems with Secure Boot complications or unusual initramfs configurations), you can disable Nouveau via a GRUB kernel parameter. This is also useful as a temporary one-time fix.

Edit /etc/default/grub

sudo nano /etc/default/grub

Find the line starting with GRUB_CMDLINE_LINUX (not GRUB_CMDLINE_LINUX_DEFAULT — use GRUB_CMDLINE_LINUX so it applies to all boot entries including recovery) and add nouveau.modeset=0:

GRUB_CMDLINE_LINUX="nouveau.modeset=0"

If the line already has content, append the parameter:

GRUB_CMDLINE_LINUX="quiet splash nouveau.modeset=0"

For a more aggressive blacklist that also prevents loading via other mechanisms:

GRUB_CMDLINE_LINUX="quiet splash rd.driver.blacklist=nouveau nouveau.modeset=0"

Update GRUB Configuration

Ubuntu and Debian

sudo update-grub

Fedora, RHEL, Rocky Linux, AlmaLinux

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

On UEFI systems:

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
# or for Rocky/RHEL:
sudo grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg

Arch Linux

sudo grub-mkconfig -o /boot/grub/grub.cfg

openSUSE

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Reboot

sudo reboot

Secure Boot Warning

If Secure Boot is enabled on your system, blacklisting Nouveau is only half the work. NVIDIA's proprietary kernel module must be signed with a key enrolled in the Machine Owner Key (MOK) database, or Secure Boot will block it from loading even after Nouveau is removed.

Check your Secure Boot status:

mokutil --sb-state

If the output is SecureBoot enabled, you have two options:

  1. Disable Secure Boot in your UEFI/BIOS firmware settings (simpler, less secure).
  2. Sign the NVIDIA module — most distributions handle this automatically during driver installation (Ubuntu with nvidia-driver-*, Fedora with akmods, Arch with the AUR DKMS packages). Follow your distro's documentation for module signing.

On Ubuntu, if prompted during NVIDIA driver installation about Secure Boot keys, choose "Set MOK password", then reboot and enroll the key at the blue MOK Management screen.


Distro-Specific Complete Walkthroughs

Ubuntu / Debian (Full Steps)

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

# 2. Regenerate initramfs
sudo update-initramfs -u

# 3. Reboot
sudo reboot

After rebooting, verify and install:

# Verify Nouveau is gone
lsmod | grep nouveau   # should return nothing

# Install NVIDIA drivers (Ubuntu recommends ubuntu-drivers)
sudo ubuntu-drivers autoinstall

# Or choose a specific version
sudo apt install nvidia-driver-570

Arch Linux (Full Steps)

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

# 2. Regenerate initramfs for all kernels
sudo mkinitcpio -P

# 3. Reboot
sudo reboot

After rebooting:

# Verify
lsmod | grep nouveau   # should return nothing

# Install NVIDIA driver (standard linux kernel)
sudo pacman -S nvidia nvidia-utils nvidia-settings

# For LTS kernel
sudo pacman -S nvidia-lts nvidia-utils nvidia-settings

# For custom kernels (zen, hardened, etc.)
sudo pacman -S nvidia-dkms nvidia-utils nvidia-settings

If you have early KMS enabled in /etc/mkinitcpio.conf, add the NVIDIA modules:

# In MODULES=(...) add:
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)

Then run sudo mkinitcpio -P again after installing the NVIDIA package.

Fedora (Full Steps)

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

# 2. Regenerate initramfs
sudo dracut --force

# 3. Reboot
sudo reboot

After rebooting:

# Verify
lsmod | grep nouveau   # should return nothing

# Enable RPM Fusion (required for NVIDIA drivers on Fedora)
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

# Install NVIDIA driver with akmods (recommended — auto-rebuilds on kernel update)
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda

# Enable akmods to build on boot
sudo systemctl enable akmods

Fedora uses Wayland by default. If you experience issues, switch to X11 by editing /etc/gdm/custom.conf and uncommenting WaylandEnable=false.

Rocky Linux / AlmaLinux / RHEL 9 (Full Steps)

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

# 2. Regenerate initramfs
sudo dracut --force

# 3. Reboot
sudo reboot

After rebooting:

# Verify
lsmod | grep nouveau   # should return nothing

# Enable EPEL and RPM Fusion (for Rocky Linux 9)
sudo dnf install epel-release
sudo dnf install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-9.noarch.rpm

# Install NVIDIA driver
sudo dnf install akmod-nvidia

# Or use NVIDIA's official CUDA repository
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo
sudo dnf install nvidia-driver

openSUSE Leap / Tumbleweed (Full Steps)

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

# 2. Regenerate initramfs
sudo dracut --force   # Leap 15.4+ and Tumbleweed

# 3. Reboot
sudo reboot

After rebooting:

# Verify
lsmod | grep nouveau   # should return nothing

# Add NVIDIA repository (replace VERSION with your openSUSE version, e.g., 15.5)
sudo zypper addrepo --refresh https://download.nvidia.com/opensuse/leap/15.5 NVIDIA
sudo zypper install-new-recommends --repo NVIDIA

How to Verify Nouveau is Disabled

After rebooting, run the following checks.

Primary check: lsmod

lsmod | grep nouveau

Expected output: Nothing (empty). This confirms Nouveau is not loaded in the kernel.

If you see output like this, Nouveau is still loaded and the blacklist did not take effect:

nouveau              2093056  1
mxm_wmi                16384  1 nouveau
video                  49152  1 nouveau

Secondary check: dmesg

dmesg | grep -i nouveau

If blacklisted correctly, you should see no output, or messages indicating it was skipped/blocked.

Confirm blacklist file is in place

grep -r nouveau /etc/modprobe.d/

Expected:

/etc/modprobe.d/blacklist-nouveau.conf:blacklist nouveau
/etc/modprobe.d/blacklist-nouveau.conf:options nouveau modeset=0

Next Steps: Installing and Verifying NVIDIA Drivers

Once Nouveau is confirmed disabled, install your NVIDIA driver (see distro-specific sections above), then verify the installation.

Verify with nvidia-smi

nvidia-smi

Expected output (version numbers will differ):

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 570.86.16    Driver Version: 570.86.16    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 4090  Off  | 00000000:01:00.0  On |                N/A |
| 30%   45C    P8    15W / 450W |    512MiB / 24576MiB |      2%      Default |
+-------------------------------+----------------------+----------------------+

If nvidia-smi outputs a table like this, your NVIDIA driver is installed and working correctly.

Verify NVIDIA modules are loaded

lsmod | grep nvidia

You should see entries like nvidia, nvidia_modeset, nvidia_uvm, nvidia_drm.


Troubleshooting

Black Screen After Reboot

If you get a black screen after blacklisting Nouveau but before installing NVIDIA drivers:

  1. This is expected — without either Nouveau or the NVIDIA driver, the system falls back to a basic framebuffer at low resolution (or no display output on some hardware).
  2. Press Ctrl+Alt+F2 (or F3) to reach a TTY text console.
  3. Install the NVIDIA driver from the TTY, then reboot.

If you cannot reach a TTY, boot into recovery mode: - Hold Shift during boot to show GRUB. - Select Advanced options then recovery mode. - At the recovery menu, choose root shell.

Nouveau Still Loading After Reboot

If lsmod | grep nouveau still shows output:

  1. Verify the blacklist file exists and has correct content: bash cat /etc/modprobe.d/blacklist-nouveau.conf

  2. Verify initramfs was regenerated after creating the file (check modification timestamp): bash ls -la /boot/initrd.img-* # Ubuntu/Debian ls -la /boot/initramfs-*.img # Fedora/Rocky ls -la /boot/initramfs-*.img # Arch

  3. Re-run the initramfs regeneration command for your distro, then reboot again.

  4. Try adding the GRUB parameter method as a belt-and-suspenders approach alongside the modprobe.d method.

Recovering from a Failed NVIDIA Installation

If the NVIDIA driver installation fails and you cannot boot normally:

# Boot into recovery mode, then:

# Ubuntu/Debian
sudo apt purge nvidia-* libnvidia-*
sudo rm /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u

# Fedora/Rocky
sudo dnf remove *nvidia* akmod-nvidia
sudo rm /etc/modprobe.d/blacklist-nouveau.conf
sudo dracut --force

# Arch
sudo pacman -Rns nvidia nvidia-utils
sudo rm /etc/modprobe.d/blacklist-nouveau.conf
sudo mkinitcpio -P

Then reboot — Nouveau will reload and restore display output.


Summary

  1. Create /etc/modprobe.d/blacklist-nouveau.conf with blacklist nouveau and options nouveau modeset=0.
  2. Regenerate initramfs: update-initramfs -u (Ubuntu/Debian), dracut --force (Fedora/RHEL/Rocky/openSUSE), mkinitcpio -P (Arch).
  3. Reboot.
  4. Verify with lsmod | grep nouveau — empty output means success.
  5. Install NVIDIA drivers for your distro.
  6. Verify with nvidia-smi.

If Secure Boot is enabled, ensure your NVIDIA kernel module is signed or enroll the MOK key during installation.