NVIDIA Driver Installation Guide
NVIDIA Driver Installation Guide
org/title/NVIDIA
NVIDIA
This article covers the official NVIDIA ([Link] Related articles
graphics card drivers. For the community open-source driver, see
Nouveau. If you have a laptop with hybrid graphics, see also NVIDIA NVIDIA/Tips and
Optimus. tricks
NVIDIA/Troubleshooting
Nouveau
1 Installation
NVIDIA Optimus
PRIME
Warning
Bumblebee
Avoid installing the NVIDIA driver through the package provided
from the NVIDIA website. Installation through pacman allows nvidia-xrun
upgrading the driver together with the rest of the system. Xorg
Vulkan
Note
First, find the family of your card (e.g. NV110, NVC0, etc.) on nouveau wiki's code names page
([Link] corresponding to its model/official
name obtained with:
$ lspci -k -d ::03xx
1 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
nvidia-open ([Link]
[Link]/packages/?name=nvidia-o
pen) for linux ([Link]
Recommended by upstream (http
[Link]/packages/?name=linux)
s://[Link]/blog/nvid
Turing (NV160/TUXXX) (http nvidia-open-lts ([Link]
ia-transitions-fully-towards-open-s
s://[Link]/ [Link]/packages/?name=nvid
ource-gpu-kernel-modules/)
[Link]#NV160) ia-open-lts) for linux-lts (htt
Current, supported1
and newer ps://[Link]/packages/?
Possible power management issue
name=linux-lts)
on Turing2
nvidia-open-dkms ([Link]
[Link]/packages/?name=nvi
dia-open-dkms) for any kernel(s)
nvidia ([Link]
/packages/?name=nvidia) for
Maxwell (NV110/GMXXX) (htt linux ([Link]
ps://[Link] packages/?name=linux)
g/[Link]#NV110) nvidia-lts ([Link]
through [Link]/packages/?name=nvidia-l
Current, supported1
Ada Lovelace (NV190/ADXXX) ts) for linux-lts ([Link]
([Link] [Link]/packages/?name=linu
[Link]/[Link]#NV1 x-lts)
90) nvidia-dkms ([Link]
[Link]/packages/?name=nvidia-d
kms) for any kernel(s)
1. If these packages do not work, it is usually due to new hardware releases. nvidia-open-
beta ([Link] may have a
newer driver version that offers support.
2. NVIDIA's open kernel modules cannot enable D3 Power Management on Turing. This
reduces battery life on notebooks with Turing in an NVIDIA Optimus configuration. Use the
proprietary module (e.g. nvidia ([Link]
with module parameter NVreg_EnableGpuFirmware=0 instead. More information
about this issue ([Link]
uecomment-2188114679).
2 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
3. May not function correctly on Linux 5.18 (or later) on systems with Intel CPUs 11th Gen and
newer ([Link]
www/us/en/newsroom/opinion/intel-cet-answers-call-protect-common-malware-threa
[Link]) due an incompatibility with Indirect Branch Tracking ([Link]
ent/www/us/en/design/ipla/software-development-platforms/client/platforms/alder-l
ake-desktop/12th-generation-intel-core-processors-datasheet-volume-1-of-2/007/indir
ect-branch-tracking/). You can disable it by setting the ibt=off kernel parameter from
the boot loader. Be aware, this security feature is responsible for mitigating a class of
exploit techniques ([Link]
4. NVIDIA no longer actively supports these cards and their drivers may not officially support
the current Xorg version ([Link]
It might be easier to use the nouveau driver; however, NVIDIA's legacy drivers are still
available and might provide better 3D performance/stability.
Note
For 32-bit application support, also install the corresponding lib32 package from the multilib
repository (e.g. lib32-nvidia-utils ([Link]
nvidia-utils)).
Note
If you are using Wayland you should not restart until after following #DRM kernel mode
setting or you may end up with a black screen.
Once the driver has been installed, continue to #Xorg configuration or #Wayland
configuration.
3 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
If your kernel is compiled with CONFIG_NOVA_CORE enabled, you may need to prevent the new
NVIDIA GPU driver Nova ([Link] from loading.
nvidia-utils ([Link] adds it to the
blacklist by default. You can check this by running systemd-analyze. If you have installed a
different version of the driver, you may need to blacklist the nova_core and nova_drm modules
manually.
# cat /sys/module/nvidia_drm/parameters/modeset
Note
Kernels officially supported by Arch enable simpledrm , while NVIDIA driver requires
efifb or vesafb when nvidia_drm.fbdev is disabled/unavailable (version < 545).
4 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
The latest driver package provides a udev rule which creates device nodes automatically, so no
further action is required.
/etc/udev/rules.d/[Link]
2 Wayland configuration
Regarding Xwayland take a look at Wayland#Xwayland.
For further configuration options, take a look at the wiki pages or documentation of the respective
compositor.
Note
Prior to driver version [Link], or when using a Wayland compositor that does not support
Explicit Sync via the linux-drm-syncobj-v1 protocol, the NVIDIA driver can have major
issues manifesting as flickering, out of order frames, and more, in both native Wayland and
Xwayland applications.
2.1.1 modeset
Enabling modeset is necessary for all Wayland configurations to function properly.
For unsupported drivers, where modeset needs to be enabled manually, see #DRM kernel mode
setting, and Wayland#Requirements for more information.
2.1.2 fbdev
Enabling fbdev is necessary for some Wayland configurations.
It is specifically a hard requirement on Linux 6.11 and later, but it is currently unclear whether this is
5 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
It can be set the same way as the modesetting parameter, with the difference that executing:
# cat /sys/module/nvidia_drm/parameters/fbdev
If you use GDM, also see GDM#Wayland and the proprietary NVIDIA driver.
2.3 nvidia-application-profiles-rc.d
Some wayland compositors will consume a large quantity of VRAM by default if the
GLVidHeapReuseRatio ([Link]
application profile key is not applied against their process name ([Link]
IA/egl-wayland/issues/126#issuecomment-2379945259). For example, niri users can free
up to ~2.5GiB of idle vram consumption with the following:
/etc/nvidia/nvidia-application-profiles-rc.d/[Link]
{
"rules": [
{
"pattern": {
"feature": "procname",
"matches": "niri"
},
"profile": "Limit free buffer pool on Wayland compositors"
}
],
"profiles": [
{
"name": "Limit free buffer pool on Wayland compositors",
"settings": [
{
"key": "GLVidHeapReuseRatio",
"value": 0
}
]
}
]
}
3 Xorg configuration
The proprietary NVIDIA graphics card driver does not need any Xorg server configuration file. You
6 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
can start X to see if the Xorg server will function correctly without a configuration file. However, it
may be required to create a configuration file (prefer
/etc/X11/[Link].d/[Link] over /etc/X11/[Link] ) in order to adjust
various settings. This configuration can be generated by the NVIDIA Xorg configuration tool, or it can
be created manually. If created manually, it can be a minimal configuration (in the sense that it will
only pass the basic options to the Xorg server), or it can include a number of settings that can bypass
Xorg's auto-discovered or pre-configured options.
Tip
# nvidia-xconfig
This command will auto-detect and create (or edit, if already present) the /etc/X11/[Link]
configuration according to present hardware.
Double-check your /etc/X11/[Link] to make sure your default depth, horizontal sync,
vertical refresh, and resolutions are acceptable.
3.2 nvidia-settings
The nvidia-settings ([Link]
tool lets you configure many options using either CLI or GUI. Running nvidia-settings without
any options launches the GUI, for CLI options see nvidia-settings(1) ([Link]
[Link]/man/nvidia-settings.1).
You can run the CLI/GUI as a non-root user and save the settings to ~/.nvidia-settings-rc by
using the option Save Current Configuration under nvidia-settings Configuration tab.
$ nvidia-settings --load-config-only
Note
Xorg may not start or crash on startup after saving nvidia-settings changes. Adjusting or
deleting the generated ~/.nvidia-settings-rc and/or Xorg file(s) should recover normal
startup.
7 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
See NVIDIA Accelerated Linux Graphics Driver README and Installation Guide (http
s://[Link]/XFree86/Linux-x86_64/575.64/README/) for additional
details and options.
/etc/X11/[Link].d/[Link]
Section "Device"
Identifier "NVIDIA Card"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1050 Ti"
EndSection
The following statement forces the NVIDIA driver to bypass startup checks and recognize the monitor
as DFP:
Note
Use "CRT" for all analog 15 pin VGA connections, even if the display is a flat panel. "DFP" is
intended for DVI, HDMI, or DisplayPort digital connections only.
8 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
nvidia.NVreg_RegistryDwords=EnableBrightnessControl=1
If brightness control still does not work with this option, try installing nvidia-bl-dkms (http
s://[Link]/packages/nvidia-bl-dkms/)AUR.
Note
Warning
Since the GTX 10xx Series (1080, 1070, 1060, etc) only 2-way SLI is supported. 3-way and 4-way
SLI may work for CUDA/OpenCL applications, but will most likely break all OpenGL
applications.
# lspci -d ::03xx
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Control
ler (rev 09)
03:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
04:00.0 VGA compatible controller: NVIDIA Corporation GK107 [GeForce GTX 650] (rev a1)
08:00.0 3D controller: NVIDIA Corporation GM108GLM [Quadro K620M / Quadro M500M] (rev a2)
9 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
BusID "PCI:3:0:0"
Note
Add the desired SLI rendering mode value under section Screen :
Value Behavior
AFR Enable SLI and use the alternate frame rendering mode.
SFR Enable SLI and use the split frame rendering mode.
Enable SLI and use SLI antialiasing. Use this in conjunction with full scene antialiasing to
AA
improve visual quality.
Alternatively, you can use the nvidia-xconfig utility to insert these changes into [Link] with a
single command:
Warning
After enabling SLI, your system may become frozen/non-responsive upon starting xorg. It is
advisable that you disable your display manager before restarting.
If this configuration does not work, you may need to use the PCI Bus ID provided by
nvidia-settings ,
10 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
/usr/share/X11/[Link].d/[Link]
...
Section "OutputClass"
...
# Option "PrimaryGPU" "yes"
...
Using this configuration may also solve any graphical boot issues.
$ nvidia-settings -q CurrentMetaMode
Save everything after the :: to the end of the attribute (in this case:
DPY-1: 2880x1620 @2880x1620 +0+0 {ViewPortIn=2880x1620,
ViewPortOut=2880x1620+0+0}
) and use to reconfigure your displays with
nvidia-settings --assign "CurrentMetaMode=your_meta_mode" .
Tip
You can create shell aliases for the different monitor and resolution configurations you use.
3.4.2 ConnectedMonitor
If the driver does not properly detect a second monitor, you can force it to do so with
ConnectedMonitor.
11 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
/etc/X11/[Link]
Section "Monitor"
Identifier "Monitor1"
VendorName "Panasonic"
ModelName "Panasonic MICRON 2100Ex"
HorizSync 30.0 - 121.0 # this monitor has incorrect EDID, hence Option "UseEDIDFreqs" "false"
VertRefresh 50.0 - 160.0
Option "DPMS"
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Gateway"
ModelName "GatewayVX1120"
HorizSync 30.0 - 121.0
VertRefresh 50.0 - 160.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
Option "NoLogo"
Option "UseEDIDFreqs" "false"
Option "ConnectedMonitor" "CRT,CRT"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200 LE"
BusID "PCI:3:0:0"
Screen 0
EndSection
Section "Device"
Identifier "Device2"
Driver "nvidia"
Option "NoLogo"
Option "UseEDIDFreqs" "false"
Option "ConnectedMonitor" "CRT,CRT"
VendorName "NVIDIA Corporation"
BoardName "GeForce 6200 LE"
BusID "PCI:3:0:0"
Screen 1
EndSection
The duplicated device with Screen is how you get X to use two monitors on one card without
TwinView . Note that nvidia-settings will strip out any ConnectedMonitor options you
have added.
3.4.3 TwinView
You want only one big screen instead of two. Set the TwinView argument to 1 . This option should
be used if you desire compositing. TwinView only works on a per-card basis, when all participating
monitors are connected to the same card.
Example configuration:
12 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
/etc/X11/[Link].d/[Link]
Section "ServerLayout"
Identifier "TwinLayout"
Screen 0 "metaScreen" 0 0
EndSection
Section "Monitor"
Identifier "Monitor0"
Option "Enable" "true"
EndSection
Section "Monitor"
Identifier "Monitor1"
Option "Enable" "true"
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
#refer to the link below for more information on each of the following options.
Option "HorizSync" "DFP-0: 28-33; DFP-1: 28-33"
Option "VertRefresh" "DFP-0: 43-73; DFP-1: 43-73"
Option "MetaModes" "1920x1080, 1920x1080"
Option "ConnectedMonitor" "DFP-0, DFP-1"
Option "MetaModeOrientation" "DFP-1 LeftOf DFP-0"
EndSection
Section "Screen"
Identifier "metaScreen"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "True"
SubSection "Display"
Modes "1920x1080"
EndSubSection
EndSection
If you have multiple cards that are SLI capable, it is possible to run more than one monitor attached
to separate cards (for example: two cards in SLI with one monitor attached to each). The
"MetaModes" option in conjunction with SLI Mosaic mode enables this. Below is a configuration
which works for the aforementioned example and runs GNOME flawlessly.
/etc/X11/[Link].d/[Link]
Section "Device"
Identifier "Card A"
Driver "nvidia"
BusID "PCI:1:00:0"
EndSection
Section "Device"
Identifier "Card B"
Driver "nvidia"
BusID "PCI:2:00:0"
13 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
EndSection
Section "Monitor"
Identifier "Right Monitor"
EndSection
Section "Monitor"
Identifier "Left Monitor"
EndSection
Section "Screen"
Identifier "Right Screen"
Device "Card A"
Monitor "Right Monitor"
DefaultDepth 24
Option "SLI" "Mosaic"
Option "Stereo" "0"
Option "BaseMosaic" "True"
Option "MetaModes" "[Link]-0: 1920x1200+4480+0, [Link]-0:1920x1200+0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Left Screen"
Device "Card B"
Monitor "Left Monitor"
DefaultDepth 24
Option "SLI" "Mosaic"
Option "Stereo" "0"
Option "BaseMosaic" "True"
Option "MetaModes" "[Link]-0: 1920x1200+4480+0, [Link]-0:1920x1200+0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "ServerLayout"
Identifier "Default"
Screen 0 "Right Screen" 0 0
Option "Xinerama" "0"
EndSection
export __GL_SYNC_TO_VBLANK=1
export __GL_SYNC_DISPLAY_DEVICE=DFP-0
export VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE=DFP-0
You can change DFP-0 with your preferred screen ( DFP-0 is the DVI port and CRT-0 is the VGA
port). You can find the identifier for your display from nvidia-settings in the X Server
XVideoSettings section.
14 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
export SDL_VIDEO_FULLSCREEN_HEAD=1
For OpenGL, add the appropriate Metamodes to your [Link] in section Device and restart X:
Another method that may either work alone or in conjunction with those mentioned above is
starting games in a separate X server.
Note
While the documentation lists a 2x2 configuration of monitors, GeForce cards are
artificially limited to 3 monitors ([Link]
ic-v295-vs-v310-vs-v325-only-up-to-three-screens/30583#3954733) in Base Mosaic
mode. Quadro cards support more than 3 monitors. As of September 2014, the Windows driver
has dropped this artificial restriction, but it remains in the Linux driver.
15 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
4 NVswitch
For systems with NVswitch, like H100x8 on AWS, the following is need.
▪ install nvidia-fabricmanager
▪ install matching kernel module needed by the fabric manager
With the fabricmanager, pytorch would report no GPU is found.
6 Troubleshooting
See NVIDIA/Troubleshooting.
7 See also
▪ Current graphics driver releases in official NVIDIA Forum ([Link]
[Link]/t/current-graphics-driver-releases/28500)
▪ NVIDIA Developers Forum - Linux Subforum ([Link]
16 of 17 12/9/25, 3:23 PM
NVIDIA - ArchWiki [Link]
u-graphics/linux/148)
17 of 17 12/9/25, 3:23 PM