Skip to main content

Graphics Cards

DriversMost graphical user interfaces these days are hardware accelerated, so the appropriate graphics driver will be needed for hardware accelerated desktop rendering, improvingoptimal performance and fidelity.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 acceleration
Intel mesa vulkan-intel intel-media-driver, libva-intel-driver
AMD mesa vulkan-radeon libva-mesa-driver
NVIDIA mesa, nvidia nvidia-utils libva-mesa-driver, nvidia-utils

Intel

For Intel integrated graphics and Intel Arc, install the following packages:

pacman -S mesa vulkan-intel intel-media-driver libva-intel-driver

AMDGPU

For AMD integrated and dedicated graphics, install the following packages:

pacman -S mesa libva-mesa-driver vulkan-radeon

NvidiaNVIDIA

In the case of NVIDIA, there's the option to either use the open source Nouveau drivers, or the 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. For older cards (GeForce 8xx or 9xx series or older) you should choose the Nouveau driver.

Nouveau open source driver

The Nouveau driver is included with mesa:

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-fw

Proprietary driver

When using any NVIDIA graphics card after the "Maxwell" line of GPUs (GeForce GTX 9xx), the proprietary NVIDIA kernel module will provide the best performance for intensive graphic 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.

pacman -S nvidia-open nvidia-utils

For earlier GPUs (GTX 9xx, GTX 10xx) the closed nvidia driver remains available.

pacman -S nvidia nvidia-utils

Early KMS

In order to enable early KMS (Kernel mode switching) with the prorprietary NVIDIA driver, you will need to take additional steps.

The kernel modules of the proprietary kernel moduledriver need to be included explicitly in the MODULES array of your /ets/mkinitcpio.conf file (or a drop-in config filefile, undere.g. /etc/mkinitcpio.conf.d/modules.conf):

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.module, which will conflict with the proprietary driver.

Enable Kernel Mode Setting

By default, theSince nvidia_drmnvidia-ultis kernelversion module does not enable560.35.03-5, Kernel Mode Setting (KMS). Inis orderenabled forby Waylanddefault compositorswith toNVIDIA functionproprietary properly,drivers. However, when using an older version or a very old card with proprietary drivers, KMS must be explicitly enabled viathrough a kernel command line argument at boot:boot time, otherwise Wayland compositors may not function 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:enabled (in the installed system) query the sysfs info with the following command:

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.