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.3.x+ recommended for stability
- Bug fixes and performance improvements over earlier versions
- Better compatibility and performance
- Mesa 25.3.6 confirmed working on Fedora 43 (March 2026)
- Mesa 25.1.3+ is minimum, but 25.3.x is the current validated stable target
Mesa and Governor Independence
The cyan-skillfish-governor tool works independently of Mesa version and kernel version. Mesa 25.1+ is specifically required for GPU 3D acceleration (OpenGL/Vulkan), not for power management or fan control. These are separate concerns.
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 is End of Life
Fedora 42 reached EOL. Upgrade to Fedora 43 (Mesa 25.x in repos).
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¶
Debian/Linux Mint Mesa Availability
Debian stable/testing & Linux Mint: Mesa 25.1+ may not be available in standard package repositories. Consider using debian-experimental, backports, or compiling from source if your distro is pinned to older versions.
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"
Debian sid (Jan 2026)
Mesa 26 + kernel 6.18.3 confirmed working on Debian sid as of January 2026.
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"
Ubuntu PPA Verification
Before using the Kisak PPA, verify it provides Mesa 25.1+. Check PPA status or test installation before relying on it for BC-250 support.
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.18.18-200.fc43.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+ | ✅ Minimum | Stable, bug fixes |
| 25.1.5+ | ✅ Good | Improvements over 25.1.3 |
| 25.2.x | ✅ Good | Stable, Feb 2026 |
| 25.3.x | ✅ Recommended | Current stable (March 2026, e.g. 25.3.6 on Fedora 43) |
| 26.0 | ✅ Latest | Available on Debian sid/Ubuntu 26.04 daily |