Mesa Driver Installation¶
Mesa provides the OpenGL and Vulkan drivers (RADV) required for BC-250 GPU support.
Mesa Requirements¶
Minimum Version¶
Mesa 25.1.0 or newer is required
- BC-250 (Cyan Skillfish / gfx1013) support added in Mesa 25.1
- No manual patching needed (upstream support)
- Earlier versions will not work
Recommended Version¶
Mesa 25.1.3+ recommended for stability
- Bug fixes and performance improvements
- Better compatibility
- Mesa 25.1.5+ even better
Upstream Support
As of Mesa 25.1, BC-250 support is included upstream. No custom patches or compilation needed!
Checking Mesa Version¶
# Check installed Mesa version
glxinfo | grep "OpenGL version"
# Example output:
# OpenGL version string: 4.6 (Compatibility Profile) Mesa 25.1.5
# Check Vulkan driver
vulkaninfo | grep "driverName"
# Should output: driverName = radv
Installation by Distribution¶
Fedora 43¶
Mesa 25.1+ is in official repositories:
# Update system (includes Mesa)
sudo dnf upgrade --refresh
# Verify Mesa version
dnf list mesa-\*
glxinfo | grep "OpenGL version"
No additional steps needed!
Fedora 42¶
Check version first:
If Mesa < 25.1:
Most Fedora 42 systems after updates should have 25.1+. If not, mesa-git COPR may be needed, but this is increasingly rare.
Arch Linux / CachyOS¶
Mesa 25.1+ in official repos:
# Install/update Mesa
sudo pacman -S mesa vulkan-radeon
# Verify
pacman -Q mesa
glxinfo | grep "OpenGL version"
Debian¶
Mesa 25.1.3+ available in experimental:
# Add experimental repo (if not already added)
echo "deb http://deb.debian.org/debian experimental main" | sudo tee /etc/apt/sources.list.d/experimental.list
# Update package lists
sudo apt update
# Install Mesa from experimental
sudo apt install -t experimental mesa-vulkan-drivers libgl1-mesa-dri mesa-utils
# Verify
glxinfo | grep "OpenGL version"
Experimental Repo
Debian experimental packages may have dependencies on other experimental packages. Use with caution.
Ubuntu¶
Mesa 25.1.5 available via PPA:
# Add PPA (example - check for current BC-250 compatible PPA)
sudo add-apt-repository ppa:kisak/kisak-mesa
# Update and install
sudo apt update
sudo apt upgrade
# Verify
glxinfo | grep "OpenGL version"
Bazzite¶
Mesa 25.1+ included by default:
Manjaro¶
Mesa in official repos:
Verifying Installation¶
Check OpenGL¶
# Install mesa-utils if not present
# Fedora: sudo dnf install mesa-utils
# Arch: sudo pacman -S mesa-utils
# Check OpenGL renderer
glxinfo | grep "OpenGL renderer"
# Should show:
# OpenGL renderer string: AMD Radeon Graphics (radv gfx1013 LLVM 18.1.8 DRM 3.59 6.14.4-104.fc42.x86_64)
llvmpipe Means No GPU
If you see "llvmpipe" as the renderer, the GPU driver is NOT working. You're using CPU software rendering.
Check Vulkan¶
# Install vulkan-tools
# Fedora: sudo dnf install vulkan-tools
# Arch: sudo pacman -S vulkan-tools
# Check Vulkan device
vulkaninfo | grep deviceName
# Should show:
# deviceName = AMD Radeon Graphics (RADV GFX1013)
Verify RADV Driver¶
Environment Variables¶
Required Variables¶
Optional Variables¶
RADV_DEBUG options:
# Fix some graphical glitches
RADV_DEBUG=nohiz
# Disable compute queue (may not be needed on Mesa 25.1+)
# RADV_DEBUG=nocompute
Apply globally:
Apply per-game in Steam:
Mesa Performance Variables¶
For OpenGL applications:
Zink Overhead
Zink adds slight overhead but can improve compatibility and performance for some OpenGL applications. Test per-game.
Flatpak Mesa Override¶
Problem: Flatpak applications use runtime Mesa, which may be outdated.
Solution: Override with mesa-git
# Add flathub-beta repository
flatpak remote-add --if-not-exists flathub-beta https://flathub.org/beta-repo/flathub-beta.flatpakrepo
# Install mesa-git for runtime 24.08
flatpak install --system flathub-beta org.freedesktop.Platform.GL.mesa-git//24.08
flatpak install --system flathub-beta org.freedesktop.Platform.GL32.mesa-git//24.08
# Set environment for Flatpak
sudo mkdir -p /etc/systemd/system/service.d
sudo bash -c 'echo -e "[Service]\nEnvironment=FLATPAK_GL_DRIVERS=mesa-git" > /etc/systemd/system/service.d/99-flatpak-mesa-git.conf'
# Reboot
sudo reboot
Flatpak Runtime Dependency
Flatpaks on runtime 23.08 or older cannot use Mesa 25.1. They must be on runtime 24.08+.
Compilation (Advanced)¶
When to Compile Mesa¶
Usually not needed, but compile if: - Distribution doesn't have Mesa 25.1+ yet - Testing newest Mesa-git features - Development/testing purposes
Mesa Compilation Guide¶
Dependencies (Fedora):
sudo dnf install git meson ninja-build gcc-c++ \
libdrm-devel libXrandr-devel libXext-devel \
libXdamage-devel libX11-devel libxcb-devel \
libxshmfence-devel libXxf86vm-devel libXfixes-devel \
wayland-devel wayland-protocols-devel \
llvm-devel libunwind-devel zlib-devel \
expat-devel elfutils-libelf-devel python3-mako \
flex bison
Clone and Build:
# Clone Mesa
git clone https://gitlab.freedesktop.org/mesa/mesa.git
cd mesa
# Configure
meson setup build \
--buildtype=release \
-Dgallium-drivers=radeonsi \
-Dvulkan-drivers=amd \
-Dplatforms=x11,wayland \
-Dglx=dri
# Compile (use -j for parallel build)
ninja -C build -j$(nproc)
# Install (may need to backup old Mesa first)
sudo ninja -C build install
Compilation Time: 10-30 minutes depending on CPU
Backup Before Installing
Compiling and installing Mesa system-wide can break your system if done incorrectly. Only do this if you know what you're doing.
Troubleshooting Mesa Issues¶
GPU Not Detected¶
Symptoms:
- vulkaninfo shows no devices
- glxinfo shows llvmpipe
Causes: 1. Mesa < 25.1 installed 2. amdgpu kernel module not loaded 3. Kernel parameters incorrect
Solutions:
# Check kernel module
lsmod | grep amdgpu
# If empty, driver not loaded
# Check kernel messages
dmesg | grep -i amdgpu
# Look for errors
# Verify Mesa version
glxinfo | grep "OpenGL version"
# Must be 25.1+
# Check if nomodeset is still active
cat /proc/cmdline
# Should NOT contain "nomodeset"
Software Rendering (llvmpipe)¶
Symptom:
Cause: GPU driver not working, falling back to CPU rendering
Solutions:
1. Install Mesa 25.1+
2. Remove nomodeset from GRUB
3. Ensure amdgpu module loaded
4. Check kernel version (6.12-6.14)
AMDVLK Instead of RADV¶
Symptom:
Issue: AMD's open-source Vulkan driver (AMDVLK) loaded instead of RADV
Solution:
# Force RADV
export AMD_VULKAN_ICD=RADV
# Make permanent
echo "AMD_VULKAN_ICD=RADV" | sudo tee -a /etc/environment
# Or uninstall AMDVLK
sudo dnf remove amdvlk # Fedora
sudo pacman -R amdvlk # Arch
Graphical Glitches in Games¶
Symptoms: - Black textures - Flickering - Visual artifacts
Solutions:
Try RADV_DEBUG options:
# Fix Z-buffer issues
RADV_DEBUG=nohiz
# Disable compute queue (older Mesa versions)
RADV_DEBUG=nocompute
# Combine multiple options
RADV_DEBUG=nohiz,nocompute
Per-game in Steam launch options:
Mesa Update Breaks System¶
Symptoms: - Black screen after Mesa update - System doesn't boot
Recovery:
- Boot into recovery mode or older kernel
- Downgrade Mesa:
# Fedora
sudo dnf downgrade mesa\*
# Arch
sudo pacman -U /var/cache/pacman/pkg/mesa-25.1.3-1-x86_64.pkg.tar.zst
# Check what version you're downgrading to
- Hold Mesa version temporarily:
# Fedora
sudo dnf versionlock add mesa\*
# Arch
# Add to /etc/pacman.conf under [options]:
# IgnorePkg = mesa
Mesa Version History¶
| Mesa Version | BC-250 Support | Notes |
|---|---|---|
| < 25.0 | ❌ No | No gfx1013 support |
| 25.0.x | ⚠️ Experimental | Early support, buggy |
| 25.1.0 | ✅ Yes | First official support |
| 25.1.3+ | ✅ Recommended | Stable, bug fixes |
| 25.1.5+ | ✅ Best | Latest improvements |
| 25.2+ | ✅ Good | Ongoing development |