-
-
Notifications
You must be signed in to change notification settings - Fork 2
Arch Linux Graphics Drivers
Complete beginner-friendly guide to installing and configuring graphics drivers on Arch Linux for NVIDIA, AMD, and Intel GPUs.
- Detecting Your GPU
- NVIDIA Drivers
- AMD Drivers
- Intel Graphics
- Hybrid Graphics
- Verifying Installation
- Troubleshooting
Check your GPU:
# List PCI devices
lspci | grep VGA
# Detailed GPU info
lspci -k | grep -A 2 VGAExpected output:
00:02.0 VGA compatible controller: Intel Corporation ...
01:00.0 VGA compatible controller: NVIDIA Corporation ...
See what's loaded:
# Check loaded modules
lsmod | grep -E "nvidia|amdgpu|intel"
# Check Xorg drivers
ls /usr/lib/xorg/modules/drivers/For modern GPUs (600 series and newer):
# Install NVIDIA drivers
sudo pacman -S nvidia nvidia-utils nvidia-settings
# For 32-bit support
sudo pacman -S lib32-nvidia-utilsFor older GPUs (400-600 series):
# Install legacy drivers
sudo pacman -S nvidia-470xx-dkms nvidia-settings
# For 32-bit
sudo pacman -S lib32-nvidia-470xx-utilsFor very old GPUs (before 400 series):
# Install very old drivers
sudo pacman -S nvidia-390xx-dkms nvidia-settings
# For 32-bit
sudo pacman -S lib32-nvidia-390xx-utilsDynamic Kernel Module Support:
# Install DKMS version
sudo pacman -S nvidia-dkms
# Rebuild modules after kernel update
sudo dkms install nvidia/XXXWhy DKMS:
- Works with custom kernels
- Auto-rebuilds on kernel update
- More flexible
Generate Xorg config:
# Generate config
sudo nvidia-xconfig
# Or manually edit
sudo vim /etc/X11/xorg.confCommon settings:
# Enable modesetting
sudo vim /etc/modprobe.d/nvidia.confAdd:
options nvidia-drm modeset=1
For laptops with NVIDIA + Intel:
# Install Optimus support
sudo pacman -S nvidia nvidia-utils nvidia-settings
# Install PRIME support
sudo pacman -S nvidia-primeSwitch GPU:
# Use NVIDIA
prime-run application
# Or set default
sudo prime-select nvidiaOpen-source drivers (recommended):
# Install AMD drivers
sudo pacman -S mesa xf86-video-amdgpu
# For 32-bit support
sudo pacman -S lib32-mesaFor older AMD GPUs (before GCN 1.0):
# Install legacy drivers
sudo pacman -S xf86-video-atiEnable features:
# Edit kernel parameters
sudo vim /etc/default/grubAdd to GRUB_CMDLINE_LINUX_DEFAULT:
radeon.si_support=0 amdgpu.si_support=1
Regenerate GRUB:
sudo grub-mkconfig -o /boot/grub/grub.cfgProprietary drivers (if needed):
# Install from AUR
yay -S amdgpu-pro-libgl** Usually not needed** - open-source drivers work well.
Intel graphics drivers:
# Install Intel drivers
sudo pacman -S mesa xf86-video-intel
# For 32-bit
sudo pacman -S lib32-mesaUsually works out of the box on modern systems.
Enable features:
# Install Intel tools
sudo pacman -S intel-gpu-tools
# Check GPU info
intel_gpu_topLaptop with both GPUs:
# Install both drivers
sudo pacman -S nvidia nvidia-utils intel-gpu-tools
# Install PRIME
sudo pacman -S nvidia-primeSwitch GPU:
# Use NVIDIA
prime-run application
# Use Intel
DRI_PRIME=1 applicationLaptop with both GPUs:
# Install both drivers
sudo pacman -S mesa xf86-video-amdgpu xf86-video-intelSwitch GPU:
# Use AMD
DRI_PRIME=0 application
# Use Intel
DRI_PRIME=1 applicationVerify NVIDIA drivers:
# Check NVIDIA driver
nvidia-smi
# Check OpenGL
glxinfo | grep "OpenGL renderer"
# Or
glxinfo | grep "direct rendering"Expected output:
OpenGL renderer string: NVIDIA GeForce RTX 3060/PCIe/SSE2
direct rendering: Yes
Verify AMD drivers:
# Check OpenGL
glxinfo | grep "OpenGL renderer"
# Check Mesa version
glxinfo | grep "OpenGL version"Expected output:
OpenGL renderer string: AMD Radeon RX 6700 XT
OpenGL version string: 4.6 (Core Profile) Mesa 23.3.0
Verify Intel drivers:
# Check OpenGL
glxinfo | grep "OpenGL renderer"
# Check GPU info
intel_gpu_topIf glxinfo not found:
# Install Mesa utils
sudo pacman -S mesa-utilsNVIDIA black screen:
# Boot with nomodeset
# Edit GRUB, add: nomodeset
# Or disable modesetting
sudo vim /etc/modprobe.d/nvidia.confAdd:
options nvidia-drm modeset=0
Check module loading:
# Check if module loaded
lsmod | grep nvidia
# Load module manually
sudo modprobe nvidia
# Check dmesg for errors
dmesg | grep -i nvidiaCheck Xorg logs:
# View Xorg log
cat /var/log/Xorg.0.log | grep -i error
# Or
journalctl -b | grep -i xorgClean reinstall:
# Remove NVIDIA
sudo pacman -Rns nvidia nvidia-utils nvidia-settings
# Clean module cache
sudo rm -rf /usr/lib/modules/*/extramodules/nvidia
# Reinstall
sudo pacman -S nvidia nvidia-utils nvidia-settings
# Rebuild initramfs
sudo mkinitcpio -PThis guide covered:
- GPU detection - Identify your graphics card
- NVIDIA drivers - Install and configure
- AMD drivers - Open-source drivers
- Intel graphics - Intel GPU setup
- Hybrid graphics - Multiple GPUs
- Verification - Check installation
- Troubleshooting - Common issues
Key Takeaways:
- NVIDIA: Use
nvidiapackage - AMD: Use
mesaandxf86-video-amdgpu - Intel: Usually works automatically
- Verify with
glxinfoornvidia-smi - Rebuild initramfs after driver install
- Arch Linux Audio Configuration - Audio setup
- Arch Linux Hardware Configuration - More hardware
- ArchWiki NVIDIA: https://wiki.archlinux.org/title/NVIDIA
- ArchWiki AMD: https://wiki.archlinux.org/title/AMDGPU
This guide is based on the ArchWiki. For the most up-to-date information, always refer to the official ArchWiki.