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:
- Disable Secure Boot in your UEFI/BIOS firmware settings (simpler, less secure).
- Sign the NVIDIA module — most distributions handle this automatically during driver installation (Ubuntu with
nvidia-driver-*, Fedora withakmods, 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:
- 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).
- Press Ctrl+Alt+F2 (or F3) to reach a TTY text console.
- 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:
-
Verify the blacklist file exists and has correct content:
bash cat /etc/modprobe.d/blacklist-nouveau.conf -
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 -
Re-run the initramfs regeneration command for your distro, then reboot again.
-
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
- Create
/etc/modprobe.d/blacklist-nouveau.confwithblacklist nouveauandoptions nouveau modeset=0. - Regenerate initramfs:
update-initramfs -u(Ubuntu/Debian),dracut --force(Fedora/RHEL/Rocky/openSUSE),mkinitcpio -P(Arch). - Reboot.
- Verify with
lsmod | grep nouveau— empty output means success. - Install NVIDIA drivers for your distro.
- Verify with
nvidia-smi.
If Secure Boot is enabled, ensure your NVIDIA kernel module is signed or enroll the MOK key during installation.