ArchWiki / Graphics processing unit
ArchWiki / Graphics processing unit
A graphics processing unit (GPU) is the hardware in your computer that generates the video feed that appears on your display. They are present in two device types: Integrated Graphics Processors (IGP) and dedicated (or discrete) graphics, also known as graphics cards. The acronym is often abused to refer to the graphics card as a whole.
Their ease to perform parallel calculation has given birth to general-purpose computing on graphics processing units (GPGPU).
Installation
The Linux kernel includes open-source video drivers and support for hardware accelerated framebuffers. However, userland support is required for OpenGL, Vulkan, 2D acceleration in Xorg and hardware video acceleration.
First, identify the graphics card (the Subsystem output shows the specific model):
$ lspci -vnnd ::03xx::03 here means "Display controller PCI device class", and xx stands for "any subclass of the class".
Then, installing its video driver is required. See the tables below for the three major vendors.
For 32-bit software, enable the multilib repository and install lib32- prefixed userspace drivers, such as lib32-mesa, lib32-vulkan-radeon, lib32-nvidia-utils, etc.
For X11, other Device Dependent X (DDX) drivers can be found in the xorg-drivers group or searching for xf86-video. In most cases, you do not need to install any DDX drivers; see Xorg#Drivers for details.
AMD
AMD supports the open source driver. A proprietary driver was provided before but it is no longer packaged. https://www.amd.com/en/resources/support-articles/release-notes/RN-AMDGPU-UNIFIED-LINUX-25-10-1.htmlhttps://lists.archlinux.org/archives/list/aur-requests@lists.archlinux.org/thread/P5XHCIBVBY7PBPUC7AV3QD4CTROCRYSG/#KPTEHMZ2GPTRMXR37D25HJ4HY2KYPVKJ
For a translation of model names (e.g. Radeon RX 6600) to GPU family (e.g. RDNA 2), see Wikipedia:List of AMD graphics processing units#Features overview.
See Hardware video acceleration#Comparison tables for details on VA-API support per GPU family.
Enabled by default since linux≥6.19, can be manually chosen otherwise
Using the modesetting driver is reported to work without issues
Intel
Intel provides and supports open source drivers, except for PowerVR-based graphics (GMA 3600 series) which are not supported.
Intel's Gen N hardware does not refer to the generation of the CPU, it refers to the generation of the GPU, which is different from the generation of the CPU.
See Hardware video acceleration#Comparison tables for more details on VA-API support per GPU family, only the packages are listed below.
Gen 7 and 7.5 have incomplete support, Gen 8 is limited to Vulkan 1.3.
The modesetting DDX driver is recommended for Gen 3 hardware and later. See Intel graphics#Installation for details.
NVIDIA
NVIDIA does not support the fully open driver. They switched to a hybrid approach (with an open DRM driver and closed userland) in 2022.
For a translation of model names (e.g. RTX 4060) to GPU family (e.g. NV190), see nouveau wiki's code names page.
See Hardware video acceleration#NVIDIA for details on which APIs are supported, and Hardware video acceleration#VDPAU drivers for details per GPU family.
For NVIDIA Optimus enabled laptop which uses an integrated video card combined with a dedicated GPU, see NVIDIA Optimus.
The modesetting DDX driver is recommended for NV50 (G80) and newer. See Nouveau#Installation for details.
Loading
Most driver kernel modules should load automatically on system boot.
If it does not happen, then:
Make sure you do not have
nomodesetorvga=as a kernel parameter, since they require KMS.Also, check that you have not disabled the driver by using any kernel module blacklisting.
Monitoring
Monitoring your GPU is often used to check the temperature, core and VRAM utilization, and the P-states of your GPU.