# Graphics Cards Drivers for hardware accelerated desktop rendering, improving performance and fidelity. 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 ~~~bash pacman -S mesa vulkan-intel intel-media-driver libva-intel-driver ~~~ ## AMDGPU ~~~bash pacman -S mesa libva-mesa-driver vulkan-radeon ~~~ ## Nvidia ### Nouveau open source driver ~~~bash pacman -S mesa libva-mesa-driver yay -S nouveau-fw ~~~ ### Proprietary driver ~~~bash pacman -S nvidia nvidia-utils ~~~ #### Early KMS In order to enable early KMS with the prorprietary driver, you will need to take additional steps. The kernel modules of the proprietary kernel module need to be included explicitly in the `MODULES` array of your `/ets/mkinitcpio.conf` file (or a drop-in config file under `/etc/mkinitcpio.conf.d/`): ~~~bash 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. #### Enable Kernel Mode Setting By default, the `nvidia_drm` kernel module does not enable Kernel Mode Setting (KMS). In order for Wayland compositors to function properly, KMS must be explicitly enabled via a kernel command line argument at boot: ~~~ 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: ~~~bash 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.