05 - OS Installation
BIOS must be flashed first - see 02-BIOS.
Kernel: Community has moved to 6.19.x which has VRR and DP audio fixes (gennro). 6.18.18 LTS is the stable fallback. 40 CU unlock no longer requires a kernel patch — use
bc250-cu-live-manager on stock kernel. Mesa 26 is now current with significant RT and performance improvements.Distribution Comparison
| Distro | Best For | Difficulty | Notes |
|---|---|---|---|
| CachyOS | Maximum performance, stability | Intermediate | Arch-based, optimized packages, latest kernel + Mesa 26. Most stable for 40 CU and governor. Community default (Jul 2026). |
| Bazzite | Console-like experience | Easy | Steam Deck UI out of box. ⚠ Stable kernel is 6.17.7 — too old for BC-250 (needs 6.19+). Use testing branch or expect instability with 40 CU (see below). |
| Fedora 43+ | Most tested, general use | Easy | Mesa 25.1+ in official repos, most tested distro |
| Arch Linux | Full control, latest packages | Advanced | Manual setup but cutting-edge |
| Nobara | Gaming, Bazzite alternative | Intermediate | Fedora-based, not immutable, easier governor install (mothenjoyer69) |
| Debian / PikaOS | Stability, low power | Intermediate | Requires newer Mesa repos |
| Ubuntu 26.04+ | Familiar Ubuntu experience | Easy | Needs Mesa PPA |
| Manjaro | User-friendly Arch | Easy | GNOME recommended over KDE for stability |
Bazzite vs CachyOS — Direct Comparison
CachyOS has become the community default as of July 2026 due to Bazzite's stable branch lagging on an outdated kernel.
| Factor | Bazzite | CachyOS |
|---|---|---|
| Performance | Behind — stable branch on kernel 6.17.7, old Mesa (fforduck, Jul 2026) | Best — kernel 6.19+, Mesa 26, optimized packages, BORE scheduler (dznuts, gennro) |
| Stability | ⚠ Unstable with 40 CU — green screen on idle/download, random freezes. "A bunch of people moved from Bazzite to CachyOS" (community, Jul 2026). | Rock solid — "5 days no crashes after switching from Bazzite" (evo9899). Several users report identical experience. |
| Ease of setup | Easiest — pre-patched kernel, Game Mode included. But outdated kernel causes governor install issues. | Moderate — Arch-based, manual setup. More flexible, fewer surprises. |
| Kernel | ⚠ Stable: 6.17.7 (OLD!). Testing: kernel 7.0+ Mesa 26 — not yet released. ⚠ Kernel 7.1+ causes black screen with governor — dmoraza (Aug 3 2026). Stay on 6.19.x or 6.18 LTS for governor use. | Latest 6.19+ out of box. No waiting for updates. |
| 40 CU unlock | CU live manager works. Legacy kernel patch available (ba29 Deck kernel only). OGC desktop kernel packages not yet available. | CU live manager works on stock kernel. Full toolkit support (redbeard1083, gennro). |
| Governor install | dnf copr + rpm-ostree install. Can be tricky on old kernel. Rebase to bazzite:testing or bazzite:stable helps (zerosumpr). | yay -S or AUR helper. Straightforward. |
| Updates | Immutable — safer rollbacks, but updates are slow. BC-250 needs bleeding-edge kernel which conflicts with Bazzite's philosophy. | Rolling — bleeding edge. May break occasionally but quick fixes. |
| Game Mode | Built-in Gamescope session. Some users report instability (Split Fiction crashes, black screen loops). | Handheld Edition includes Gamescope + FSR (stevounit). Desktop needs manual setup. |
| VRR / Audio | Audio issues persist for some users (Jul 2026). VRR works with custom image. | Native 6.19+ kernel support for VRR + DP audio. Working out of box. |
| Best for | Console experience with fully working Game Mode — IF on testing branch. Good for users willing to rebase. | Raw performance, stability, tuners, desktop use, AI/LLM. Community default. |
Community consensus (July 2026):
Universal Prerequisites
Hardware Needed
BIOS Settings (Verify After Flashing)
Integrated Graphics Controller = [Forced]
UMA Mode = [UMA_SPECIFIED]
UMA Frame Buffer Size = [512M]
IOMMU = [Disabled]
Boot Mode = [UEFI]Broken Kernel Versions (Avoid)
Kernel versions 6.15.0-6.15.6 and 6.17.8-6.17.10 cause GPU initialization failures and kernel panics. Do not install these. Use 6.19.x (recommended — VRR and DP audio fixes) or 6.18.18 LTS (stable fallback) instead.
Bazzite (Console-Like Experience — Use Testing Branch)
Installation
1. Download ISO from bazzite.gg ↗
2. Choose variant:
3. Flash to USB with balenaEtcher or Ventoy
4. Use the non-live installer image (live image has login bugs) (mothenjoyer69)
5. Boot from USB - no special parameters needed
6. Complete on-screen installation (10-15 min)
Critical: Switch to Testing Branch
After installation, immediately rebase to the testing branch for kernel 7.0 + Mesa 26:
# Rebase to testing branch (get kernel 7.0 + Mesa 26)
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:testing
# Or stay on stable with a slightly newer build (still 6.19, better than 6.17.7)
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:stable-43.20260210Why: Bazzite's default stable branch is on kernel 6.17.7 which is known-bad for BC-250. The testing branch includes kernel 7.0 + Mesa 26 — necessary for 40 CU stability, audio fix, and VRR (fforduck, community Jul 2026). Multiple users report instability resolved immediately after switching.
7. Default password (if asked): bazzite
8. Reboot
Post-Install Setup
# Update system
sudo rpm-ostree update
sudo systemctl reboot
# Install GPU governor (SMU - recommended, no kernel patch needed)
sudo dnf copr enable filippor/bazzite
rpm-ostree install cyan-skillfish-governor-smu
sudo systemctl reboot
sudo systemctl enable --now cyan-skillfish-governor-smu.service
# Verify
systemctl status cyan-skillfish-governor-smuPatched Performance Images (Optional)
Custom images with pre-configured kernel + governor exist but may kill USB WiFi after rebase (Issue #10):
# GNOME (recommended)
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/vietsman/bazzite-gnome-patched:latest
# KDE
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/vietsman/bazzite-kde-patched:latest
# Deck
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/vietsman/bazzite-deck-patched:latestWarning: Rebasing to patched images may remove USB WiFi/Bluetooth drivers. If WiFi stops working: use Ethernet, check available kernel modules (lsmod | grep ), install missing drivers, or rollback with rpm-ostree rollback.
Bazzite Tips
bazzite-deck:testing for kernel 7.0 + Mesa 26 before setting up governor and 40 CU.ujust update (or rpm-ostree upgrade + flatpak update)rpm-ostree rollbackbazzite-bc250cu-rpms-ba29.7z from the Discord project-forums. sudo rpm-ostree override replace ./*.rpm
sudo rpm-ostree kargs --append=amdgpu.bc250_cc_write_mode=3
sudo systemctl rebootReduce GPU governor clocks to ~1850 MHz. For governor/SMU issues on Bazzite, using the testing branch (kernel 7.0) resolves most problems. For desktop Bazzite (OGC kernel), kernel packages are not yet available — check Discord for updates. See 02-BIOS & Firmware for full procedure details.
Fedora 43+ (Most Tested)
Note: Fedora 42 is End of Life. If still running Fedora 42, upgrade to Fedora 43.
Installation
1. Download Fedora 43 Workstation ↗ (or newer)
2. Flash to USB with Fedora Media Writer, balenaEtcher, or Ventoy
3. Boot installer - select "Basic Graphics Mode" from GRUB (auto-enables nomodeset)
4. Complete installation normally, reboot
Post-Install Setup
# Update system
sudo dnf upgrade --refresh
# Install GPU governor (SMU variant - no kernel patch needed)
sudo dnf copr enable filippor/bazzite
sudo dnf install cyan-skillfish-governor-smu
sudo systemctl enable --now cyan-skillfish-governor-smu.service
# Remove nomodeset (no longer needed after governor + drivers installed)
sudo nano /etc/default/grub
# Change: GRUB_CMDLINE_LINUX_DEFAULT="quiet nomodeset"
# To: GRUB_CMDLINE_LINUX_DEFAULT="quiet"
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
sudo reboot
# Install gaming tools
sudo dnf install steam mangohud goverlayVerify Mesa (Fedora 43 ships Mesa 25.x)
dnf list mesa-\*
glxinfo | grep "OpenGL version"
# Should show Mesa 25.x+Nobara (Gaming-Focused Fedora Alternative)
Fedora-based, not immutable - easier governor installation.
Installation:
1. Download Nobara ↗ (GNOME or KDE)
2. Flash to USB, boot normally (add nomodeset if black screen)
3. Complete installation
Post-install:
sudo dnf update
sudo dnf install steam mangohud goverlay
sudo systemctl enable --now cyan-skillfish-governor-smu.serviceCachyOS (Community Recommended — Best Stability + Performance)
Note (Jul 2026): CachyOS ships with kernel 6.19+ and Mesa 26 — everything needed for 40 CU, VRR, and DP audio works out of the box. No kernel patching or rebase needed.
Upcoming: CachyOS RC kernels 7.1 and 7.2 (linux-cachyos-rc) include significant amdgpu driver optimizations and bug fixes. Worth testing when available for improved stability (gennro, Jul 2026).
Standard Method (Recommended)
1. Download CachyOS ISO ↗ (KDE or GNOME)
2. Flash to USB, boot and run installer normally
3. Select GRUB bootloader
4. Verify kernel is compatible:
uname -r # Should be 6.19.x (recommended) or 6.18.x LTS (avoid 6.15.0-6.15.6, 6.17.8-6.17.10)5. Install governor:
paru -S cyan-skillfish-governor-smu
sudo systemctl enable --now cyan-skillfish-governor-smu.service40 CU Unlock on CachyOS
The bc250-cu-live-manager ↗ works on stock CachyOS kernel — no kernel patch needed. This is the preferred method (vinnijs.dev, May 2026).
For kernel patch method (legacy), apply the bc250-40cu-amdgpu.patch to the kernel PKGBUILD patch set. duggasco maintains a PR fork with the patch pre-applied.
# Live manager (recommended):
git clone https://github.com/WinnieLV/bc250-cu-live-manager.git
cd bc250-cu-live-manager
# Follow README for your distro
# Kernel patch (legacy):
git clone https://github.com/duggasco/bc250-40cu-unlock.git
cd bc250-40cu-unlock
sudo ./scripts/bc250-enable-40cu.sh build
sudo ./scripts/bc250-enable-40cu.sh enable # rebootsAlso available: redbeard1083/bc250-toolkit and gennro/bc250-toolkit for automated CachyOS setup.
CachyOS Architecture Fix
CachyOS pacman uses x86_64_v3 architecture by default, which can cause failed installs for x86_64-only packages. Fix (graytl):
sudo nano /etc/pacman.conf
# Change: Architecture = auto
# To: Architecture = x86_64 x86_64_v3Legacy Method (if standard ISO won't boot)
1. Install Arch Linux with linux-lts kernel
2. Reboot into Arch
3. Migrate to CachyOS repos:
wget https://mirror.cachyos.org/cachyos-repo.tar.xz
tar xvf cachyos-repo.tar.xz
cd cachyos-repo
sudo ./cachyos-repo.sh
# Select x86-64-v3 optimization4. Install CachyOS kernel:
sudo pacman -S linux-cachyos-lts linux-cachyos-lts-headers
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo rebootArch Linux (Maximum Control)
1. Install Arch normally with linux-lts kernel (6.19.x recommended, 6.18.18 LTS stable fallback; avoid 6.15.0-6.15.6 and 6.17.8-6.17.10)
2. Install governor from AUR:
paru -S cyan-skillfish-governor-smu
# or: yay -S cyan-skillfish-governor-smu
sudo systemctl enable --now cyan-skillfish-governor-smu.service3. Automated setup script (alternative):
git clone https://github.com/eabarriosTGC/BC250--ARCH.git
cd BC250--ARCH
chmod +x ./install.sh
./install.sh4. Alternative setup script:
git clone https://github.com/pnbarbeito/bc250-arch
cd bc250-arch
./oberon_install.sh5. 40 CU unlock: apply bc250-40cu-amdgpu.patch to kernel PKGBUILD (duggasco). See 02-BIOS & Firmware.
Debian / PikaOS
Installation
1. Download Debian Testing ISO ↗
2. Boot with nomodeset if needed
3. Add experimental repo:
echo "deb http://deb.debian.org/debian experimental main" | sudo tee /etc/apt/sources.list.d/experimental.list
sudo apt update
sudo apt install -t experimental mesa-vulkan-drivers libgl1-mesa-dri mesa-utils4. Install kernel (Xanmod LTS 6.18.18 or 6.19.x from backports):
wget -qO - https://dl.xanmod.org/archive.key | sudo gpg --dearmor -o /usr/share/keyrings/xanmod-archive-keyring.gpg
echo 'deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org releases main' | sudo tee /etc/apt/sources.list.d/xanmod-kernel.list
sudo apt update
sudo apt install linux-xanmod-lts-x64v3
sudo update-grub
sudo rebootAlternative: sudo apt install linux-image-6.12 (Debian 6.12 LTS). Confirmed working: 6.18.3+ tested Jan 2026.
5. Install governor (.deb from GitHub releases):
wget https://github.com/Magnap/cyan-skillfish-governor/releases/latest/download/cyan-skillfish-governor-smu_amd64.deb
sudo dpkg -i cyan-skillfish-governor-smu_amd64.deb
sudo systemctl enable --now cyan-skillfish-governor-smu.serviceInfo: A pre-built Debian image exists with kernel 6.18.3, Mesa 26, and GPU patches pre-applied. Check community resources.
PikaOS (Debian-based gaming distro) includes Mesa 25.1+ out of the box and GPU frequency patch pre-applied - easiest Debian option.
Ubuntu 26.04+
1. Download Ubuntu 26.04 daily server ISO or newer
2. Flash to USB, boot with nomodeset if needed
3. Install normally
4. Add Mesa PPA if needed:
sudo add-apt-repository ppa:kisak/kisak-mesa
sudo apt update && sudo apt upgrade5. Kernel: 6.19.x recommended, 6.18.x LTS stable fallback (verify with uname -r)
6. Install governor (see .deb package from GitHub)
Manjaro
1. Download Manjaro (KDE or GNOME edition - GNOME more stable per source)
2. Install normally (boots out-of-box, no nomodeset needed)
3. Mesa in official repos is sufficient
4. Recommended kernel: linux618 or linux619 (kernel 6.19.x preferred for VRR/DP audio; source: Discord)
sudo mhwd-kernel -i linux6185. Install governor from AUR
Community note (source): "Out of the box after the BIOS flash, Manjaro KDE just booted fine"
Verification - After Any Installation
# Mesa version (must be 25.1+, 26.x recommended)
glxinfo | grep "OpenGL version"
# Should show: Mesa 26.X.X
# Vulkan driver (must show RADV)
vulkaninfo | grep deviceName
# Should show: AMD Radeon Graphics (RADV GFX1013)
# Governor running
systemctl status cyan-skillfish-governor-smu
# Should show: active (running)
# GPU frequency check (should show multiple frequencies)
cat /sys/class/drm/card1/device/pp_dpm_sclk
# GPU renderer (NOT llvmpipe)
glxinfo | grep "OpenGL renderer"
# Should show: radv gfx1013Kernel Verification
uname -r
# Expected: 6.19.x (recommended) or 6.18.18 LTS (stable fallback)
# Avoid: 6.15.0-6.15.6, 6.17.8-6.17.10Bootable USB Creation Tools
| Tool | Platform | Notes |
|---|---|---|
| Ventoy | All | Best option - boot multiple ISOs from one drive |
| balenaEtcher | All | Simple GUI flasher |
| Fedora Media Writer | All | Fedora's recommended tool |
| Rufus | Windows | Use UEFI / FAT32 mode |
| dd | Linux CLI | sudo dd if=image.iso of=/dev/sdX status=progress && sync |