Key fixes: - nct6687 for fan control (not nct6683 which is read-only) - GPU is card1 not card0 in all sysfs paths - Fan on pwm2/fan2 (Pump Fan header), not pwm1 - Vulkan 1.4.328 (not 1.3), Mesa 25.3.6 (not 25.2.4) - cpupower doesn't work on BC-250 (removed recommendations) - pp_dmu_clock -> pp_dpm_mclk - ACPI fix marked as optional/experimental (not essential) - amdgpu.sg_display=0 only needed for kernels < 6.10 - GPU voltage range 700-1129 mV (from OD_RANGE) - Added CoolerControl installation instructions - Expanded sensors.md with proper nct6687 setup guide
10 KiB
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
!!!info "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.
!!!success "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!
!!!warning "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
!!!warning "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"
!!!info "Debian sid (Jan 2026)" Mesa 26 + kernel 6.18.3 confirmed working on Debian sid as of January 2026.
!!!warning "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"
!!!info "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:
# Check version
rpm -qa | grep mesa
# Update if needed
rpm-ostree upgrade
Manjaro
Mesa in official repos:
# Update system
sudo pacman -Syu
# Verify Mesa
pacman -Q mesa
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)
!!!danger "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
# Check driver is RADV (not AMDVLK)
vulkaninfo | grep "driverName"
# Should show: driverName = radv
Environment Variables
Required Variables
# Add to /etc/environment or ~/.bashrc
# Force RADV driver (not AMDVLK)
AMD_VULKAN_ICD=RADV
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:
# Edit /etc/environment
sudo nano /etc/environment
# Add:
AMD_VULKAN_ICD=RADV
RADV_DEBUG=nohiz
Apply per-game in Steam:
RADV_DEBUG=nohiz %command%
Mesa Performance Variables
For OpenGL applications:
# Use Zink (OpenGL over Vulkan) for better performance
MESA_LOADER_DRIVER_OVERRIDE=zink
!!!info "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
!!!warning "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
!!!danger "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:
vulkaninfoshows no devicesglxinfoshows llvmpipe
Causes:
- Mesa < 25.1 installed
- amdgpu kernel module not loaded
- 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:
glxinfo | grep "OpenGL renderer"
# Shows: "llvmpipe (LLVM 18.1.8, 256 bits)"
Cause: GPU driver not working, falling back to CPU rendering
Solutions:
- Install Mesa 25.1+
- Remove
nomodesetfrom GRUB - Ensure amdgpu module loaded
- Check kernel version (6.12-6.14)
AMDVLK Instead of RADV
Symptom:
vulkaninfo | grep "driverName"
# Shows: driverName = AMDVLK
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:
RADV_DEBUG=nohiz %command%
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 |