Overview
When deploying or troubleshooting Linux systems with NVIDIA GPUs, two common kernel parameters often come up: nomodeset and nvidia-drm.modeset=1. While they may seem similar, they serve very different purposes and apply at different points in the boot and driver loading process.
This article explains what these parameters do, when to use them, and their impact on system behavior.
What Is nomodeset?
nomodeset
is a GRUB boot parameter that prevents the Linux kernel from initializing the graphics hardware (i.e., it disables kernel mode setting).
Purpose:
-
Stops the kernel from loading framebuffer or open-source GPU drivers early in the boot process.
-
Forces the system to use basic VESA or EFI framebuffers until a driver is manually loaded later.
When to Use:
-
Black screen or system freeze during boot on GPU-equipped systems.
-
Installing Linux on a system with a dedicated GPU (especially NVIDIA).
-
Temporarily disabling
nouveau
(open-source NVIDIA driver) before installing the proprietary driver. -
On headless compute nodes that do not require graphics output.
❌ Not Recommended For:
-
Desktop systems that rely on high-resolution console or GUI at boot.
-
Long-term use after drivers are installed.
What Is nvidia-drm.modeset=1?
nvidia-drm.modeset=1 is an NVIDIA driver module parameter that enables Kernel Mode Setting (KMS) support via the proprietary nvidia-drm kernel module.
Purpose:
-
Allows the proprietary NVIDIA driver to initialize the GPU early during boot, similar to how open-source drivers behave.
-
Enables high-resolution framebuffer consoles and seamless transitions from boot to graphical login.
-
Required for Wayland support on modern desktops like GNOME or KDE.
When to Use:
-
Systems running Wayland-based desktop environments.
-
Systems that need high-res console output or smooth boot transitions.
-
After successfully installing the NVIDIA proprietary driver.
❌ Do Not Use If:
-
The proprietary driver has not been installed yet.
-
You are troubleshooting boot issues and need minimal driver interference (use nomodeset instead).
🔍 Side-by-Side Comparison
Feature / Behavior | nomodeset |
nvidia-drm.modeset=1 |
---|---|---|
Applies To | Kernel (generic setting) | NVIDIA proprietary driver |
Disables GPU initialization? | Yes | No |
Enables high-res console? | No | Yes |
Needed for Wayland? | No | Yes |
Safe during initial OS install? | Yes | No (has no effect pre-install) |
Commonly used for headless nodes? | Yes | No |
Can be used together? | ⚠️ Not recommended | Use one or the other |
How to Set These Parameters
Temporary (During Boot)
-
At the GRUB menu, press "e" to edit the boot entry.
-
Find the line starting with linux or linux16.
-
Add the desired parameter:
-
nomodeset to disable early GPU setup
-
nvidia-drm.modeset=1 to enable NVIDIA KMS
-
Permanent (via GRUB config)
-
Edit /etc/default/grub:
-
Update GRUB:
-
On UEFI systems: grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
-
On BIOS systems: grub2-mkconfig -o /boot/grub2/grub.cfg
-
For nvidia-drm.modeset=1 (Driver Config)
-
Create or edit /etc/modprobe.d/nvidia.conf:
-
Regenerate initramfs:
-
Reboot.
Best Practices
-
Use nomodeset only for troubleshooting or installation. Remove it afterward.
-
Use nvidia-drm.modeset=1 for production desktops or systems with graphical needs once the proprietary driver is installed.
-
Do not attempt to use both together — they conflict in purpose.
Questions?
If you're unsure which option to use for your system, especially on Exxact GPU servers or workstations, reach out to Exxact Support or your system administrator.
Related to
Comments
0 comments
Please sign in to leave a comment.