Graphics Cards
Most graphical user interfaces these days are hardware accelerated, so the appropriate graphics driver will be needed for optimal performance and a smooth desktop experience. Additionally, these drivers provide 3D acceleration and hardware video decoding/encoding capabilities.
The Linux graphics stack consists of several components, but the main component is the mesa package.
| Manufacturer | OpenGL | Vulkan | Video |
|---|---|---|---|
| Intel | mesa |
vulkan-intel |
note below) |
| AMD | mesa |
vulkan-radeon |
part of |
| NVIDIA (Proprietary) | mesa |
nvidia-utils |
, nvidia- |
mesa
vulkan-nouveau
part of mesa
Intel
For modern Intel integrated graphics (Broadwell generation / 5th Gen Core and newer) and Intel Arc, install the following packages:
pacman -S mesa vulkan-intel
Hardware acceleration for video playback depends on the generation of Intel hardware:
intel-media-driver: If your CPU is 5th gen or newer (Broadwell, Skylake, Kaby Lake, up to modern Alder Lake/Raptor Lake and Intel Arc).
libva-intel-driver: If your CPU is 4th gen or older (Haswell, Ivy Bridge, Sandy Bridge).
AMDGPU
For modern AMD integrated and dedicated graphics,graphics cards (RDNA architectures and modern Vega/GCN configurations), install the following packages:
pacman -S mesa libva-mesa-driver vulkan-radeon
NVIDIA
In the case of NVIDIA, there's the option to either use the open open-source Nouveau drivers, or the official Linux kernel modules provided by NVIDIA themselves.
If you have a relatively recent NVIDIA card, it is generally recommended to go with the official NVIDIA drivers.drivers for optimal performance. For older cards or strictly open-source setups, use the Nouveau/Mesa stack.
Nouveau open-source driver
The open-source NVIDIA stack uses Nouveau:
ATTENTION: For older cards (GeForceMaxwell/Pascal), 8xxdynamic orre-clocking 9xxrequires seriesmanual orfirmware older)extraction you should choosevia the NouveauAUR driver.
Nouveaunouveau-fw. openFor sourcenewer driver
Turing Thecards Nouveau(RTX driver20xx / GTX 16xx) and above, the required GSP firmware is natively included within the mesalinux-firmware: package.
pacman -S mesa libva-mesa-driver
Additionally, NVIDIA cards after the "Tesla" line of GPUs (GeForce 8xxx, 9xxx) will need additional firmware files installed. Without these firmware files, the GPU will be stuck at the lowest performance level, because dynamic reclocking and power management of the graphics processor will not be available.
yay -S nouveau-fwvulkan-nouveau
ProprietaryOfficial NVIDIA driver
Modern Cards (RTX 20xx onwards)
WhenUpstream usingand anyArch NVIDIALinux graphicsofficially card afterrecommend the "Maxwell" line of GPUs (GeForce GTX 9xx), the proprietary NVIDIAopen-source kernel module will provide the best performancemodules for intensiveall graphicmodern and video processing workloads.
NVIDIA provides two options for their GPU drivers: a closed and open kernel module.
For anything more recent than RTX 2xxx cards, recommends the nvidia-open kernel module, as they plan to support that one more long-term.architectures.
pacman -S nvidia-open nvidia-utils For earlier GPUs (GTX 9xx, GTX 10xx) the closed nvidia nvidia-vaapi-driver remains available.
pacman -S nvidia nvidia-utils
EarlyLegacy KMSCards (GTX 10xx and earlier)
InIf orderyou toare enablerunning earlyolder KMSsupported (Kernelhardware modeor switching) withneed the prorprietary NVIDIAclosed-source driver, you willmust need to take additional steps.
The kernel modules ofuse the proprietary DKMS package available via the AUR:
yay -S nvidia-580xx-dkms nvidia-utils nvidia-vaapi-driver
need
Early KMS Loading
To ensure the graphics drivers load as early as possible during the boot sequence (preventing display manager race conditions), add the modules to beyour initramfs configuration.
Make sure the following is included explicitly in the MODULES array of your / file (or a drop-in config ets/etc/mkinitcpio.conffile,file e.g.under /etc/mkinitcpio.conf.d/):modules.conf
WARNING: Early loading these kernel modules into the initramfs will break system hibernation features by default because video memory preservation is enabled.
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
Additionally, remove the kms hook from the HOOKS array. This is to prevent the unintentional loading of the nouveau kernel module, which will conflict with the proprietary driver.
Enable Kernel Mode Setting
Since nvidia- version ultisutils560.35.03-5,560+, Kernel Mode Setting (KMS) is enabled by default with NVIDIA proprietary drivers.default. However, when using an older version or a very old card with proprietarylegacy drivers, KMS must be explicitly enabled through a kernel command command-line argument at boot time,time otherwiseto ensure Wayland compositors may not function properly.properly:
nvidia_drm.modeset=1
NOTE: Refer to Boot Loader for how to add the parameter to your boot configuration.
To verify that kernel mode setting is enabled (in the installed system)active, query the sysfs info with the following command:sysfs:
cat /sys/module/nvidia_drm/parameters/modeset
Y means Kernel Mode Setting was enabled on boot.
N means Kernel Mode Setting was not enabled on boot.