Skip to content

Bazzite Setup Guide

Bazzite

Bazzite is a gaming-focused Linux distribution based on Fedora that provides an excellent out-of-the-box experience for the BC-250. Built on Fedora Atomic (immutable system), it offers SteamDeck-like functionality with enhanced stability.

Status: Recommended for gaming, works out-of-the-box Base: Fedora Atomic (OSTree-based) Mesa Version: 25.1+ included Desktop Options: GNOME, KDE, or Deck UI


Why Choose Bazzite?

Advantages: - Works out-of-the-box (no nomodeset needed) - Mesa 25.1+ included with GPU drivers pre-installed - Immutable system (harder to break, easy rollback) - Gaming optimizations (GameMode, Gamescope, Proton GE ready) - Steam Deck UI option for couch gaming - Automated governor script available - Custom kernel with BC-250 patches available

Considerations: - Package management more complex (rpm-ostree vs dnf) - Some apps require Flatpak - Updates can occasionally cause issues (but easy to rollback)


Prerequisites

BIOS Configuration

Before installing, ensure your BIOS is properly configured:

  1. Flash modified BIOS (P3.00 recommended)
  2. Set VRAM allocation to 512MB dynamic
  3. Configure fan speeds
  4. Disable IOMMU (IOMMU is broken - MUST disable)

See BIOS Flashing Guide for details.

Hardware Requirements

  • 300W+ PSU on 12V rail (250W minimum)
  • 120mm high static pressure fan (Arctic P12 recommended)
  • DisplayPort cable or passive DP-to-HDMI adapter
  • USB drive (8GB+) for installation media

Backplate VRAM Cooling Recommended

The VRAM chips on the backplate have no temperature sensor. Ensure airflow over the backplate for gaming workloads. Many builds work fine with basic case airflow — a dedicated backplate fan is ideal but not strictly required if your case has decent airflow.


Installation

Creating Installation Media

  1. Download Bazzite ISO from bazzite.gg
  2. Choose your variant:
  3. Bazzite GNOME - Recommended for beginners
  4. Bazzite KDE - Desktop users (note: fixed as of mid-2025)
  5. Bazzite Deck - Steam Deck UI experience
  6. Flash to USB using Fedora Media Writer or balenaEtcher

Installation Process

  1. Boot from USB (no special parameters needed)
  2. Complete on-screen installation
  3. Select timezone and language
  4. Create user account
  5. Choose disk partitioning
  6. Installation takes 10-15 minutes
  7. Reboot when prompted

Note: Unlike Fedora, Bazzite boots directly without needing nomodeset parameter.


Standard Setup

Governor Installation

# Add COPR repository
sudo dnf copr enable filippor/bazzite

# Install governor (SMU variant — recommended, no kernel patch needed)
rpm-ostree install cyan-skillfish-governor-smu

# Reboot to apply
systemctl reboot

# Enable service after reboot
sudo systemctl enable --now cyan-skillfish-governor-smu.service

TT Governor Alternative

The cyan-skillfish-governor-tt is also available via the same COPR. It requires the kernel frequency range patch (pre-included in Bazzite). Use rpm-ostree install cyan-skillfish-governor-tt if you prefer the TT variant.

GPU Card Naming Issue

The governor may target incorrect device (card0 vs card1). Verify correct device assignment in governor configuration if frequency scaling doesn't work.

Voltage Configuration

Default configuration (/etc/cyan-skillfish-governor-smu/config.toml):

voltage:
  - min: 1000  # Safe default
  - max: 1000
frequency:
  - min: 1000  # 1000 MHz
  - max: 2000  # 2000 MHz

Some boards are unstable at lower voltages. The script defaults to 1000mV to prevent crashes. If system is stable, you can try lowering min voltage to 700-900mV.


Performance Setup (Advanced)

Bazzite Kernel Already Includes GPU Frequency Patch

As of early 2026, the standard Bazzite kernel already includes the GPU frequency range patch. Manual kernel patching is not needed on Bazzite. The "Bazzite on Steroids" custom images below are only needed if you want additional pre-configured optimizations.

Alternatively, the SMU governor (cyan-skillfish-governor-smu) bypasses the need for kernel patches entirely on any distro.

"Bazzite on Steroids" - Custom images with additional pre-configured optimizations.

Features

  • Custom patched kernel (GPU frequency: 350-2230 MHz vs stock 1000-2000 MHz)
  • GPU governor pre-configured
  • Weekly automated builds (every Monday)
  • Three variants: GNOME, KDE, Deck

Prerequisites

If you already have Bazzite installed with an older governor (oberon), migrate first:

# Remove existing oberon installation (if applicable)
sudo systemctl stop oberon-governor
sudo systemctl disable oberon-governor
rpm-ostree uninstall oberon-governor

# Remove old config
sudo rm -f /etc/oberon-config.yaml

USB WiFi Drivers May Be Removed (Issue #10)

Rebasing to patched images may remove USB WiFi/Bluetooth drivers that are not included in the custom kernel build. If you rely on a USB WiFi adapter (the BC-250 has no built-in wireless), verify your adapter's driver is included in the patched image before rebasing. If WiFi stops working after rebase:

  1. Connect via Ethernet temporarily
  2. Check if your WiFi adapter's kernel module is available: lsmod | grep <your_driver>
  3. Install missing drivers: rpm-ostree install <driver-package>
  4. Or rollback: rpm-ostree rollback && systemctl reboot

Rebase to Patched Image

Choose your desktop environment:

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:latest

After rebase:

systemctl reboot
systemctl status cyan-skillfish-governor-smu  # Verify running

WiFi May Be Killed by Performance Setup (Issue #10)

Users have reported that rebasing to the performance/patched image can kill WiFi drivers. This is likely caused by the kernel swap or driver module changes during the rebase. If you lose WiFi after rebasing, you may need to reinstall WiFi driver modules or roll back with rpm-ostree rollback.

Power and Cooling Warnings

Performance patch increases power draw and temperatures:

  • PSU: Minimum 240W on 12V rail, recommended 320W+
  • Cooling: High static pressure fans required
  • Temps: Expect 85-95°C under full load (normal for this board)

To reduce power consumption, edit /etc/cyan-skillfish-governor-smu/config.toml:

voltage:
  - min: 700
  - max: 950  # Reduced from 1000
frequency:
  - max: 1800  # Reduced from 2230

Then restart: sudo systemctl restart cyan-skillfish-governor-smu

Disable CPU Mitigations (Optional)

For additional gaming performance, disable CPU security mitigations:

rpm-ostree kargs --append-if-missing="mitigations=off"
systemctl reboot

Security Trade-off

This disables Spectre/Meltdown mitigations for improved performance (+18 FPS in some games). Only recommended for dedicated gaming systems. See Kernel Configuration for details.


Post-Installation Configuration

Temperature Sensors

For read-only monitoring (temperatures, voltages, fan speeds):

echo 'nct6683' | sudo tee /etc/modules-load.d/nct6683.conf
echo 'options nct6683 force=true' | sudo tee /etc/modprobe.d/sensors.conf
systemctl reboot

For PWM fan control, use the nct6687 module instead — see the Sensors Guide for full instructions.

Verify:

sensors
# Should show nct6686-isa-0a20 with temperatures and fan speeds

CoolerControl (Optional)

GUI for fan curve management:

ujust install-coolercontrol

Flatpak Mesa Override (Old Versions Only)

As of August 2025, Bazzite ships with Mesa 25.1+ for Flatpaks. This section only applies to older installations:

# Add flathub-beta
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
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'

systemctl reboot

System Updates

# Update everything
ujust update

# Or manually:
rpm-ostree upgrade
flatpak update

Rollback if update breaks:

rpm-ostree rollback
systemctl reboot

Known Issues & Solutions

Screen Freezes When Loading Levels On Newer Games

Symptom: Screen freezes indefinitely when loading in levels on newer games

Cause: CMOS clear didn't happen after flashing the BIOS

Solution: - Clear the CMOS - Confirm it worked by verifying that the time/clock in the BIOS was reset and shows the wrong value - Reapply the BIOS settings changes, such as the VRAM allocation

Governor Voltage Instability

Symptom: Graphics artifacts, crashes, black screens

Cause: Default voltage too low for some boards

Solution:

sudo nano /etc/cyan-skillfish-governor-smu/config.toml

# Increase voltage if unstable:
# min_voltage = 1000
# max_voltage = 1000

sudo systemctl restart cyan-skillfish-governor-smu

Flatpak Apps Don't See GPU

Symptom: Flatpak games use software rendering (llvmpipe)

Solution: See Flatpak Mesa Override section above

GPU Locked at 1500MHz

Symptom: GPU frequency stuck, won't scale

Solution:

# Check governor status (use whichever you installed)
systemctl status cyan-skillfish-governor-smu
# Or: systemctl status cyan-skillfish-governor-tt

# If not running:
sudo systemctl enable --now cyan-skillfish-governor-smu.service

# Restart if running:
sudo systemctl restart cyan-skillfish-governor-smu

# Verify frequency scaling
cat /sys/class/drm/card1/device/pp_dpm_sclk

Boot Slow / Black Screen During Boot

Symptom: 30-60 seconds black screen during boot

Cause: Normal - display output doesn't initialize until late in boot

Solution: Wait - system will boot. Check uptime after boot to confirm it was actually fast.


Desktop Environment Notes

Most tested, fully working with no known issues.

KDE Plasma

Historical issue: Before mid-2025, KDE would crash due to BC-250's faulty RDRAND CPU instruction.

Current status: Fixed in recent Qt releases. Works properly now.

Deck UI

If you rebase from Deck to Desktop image, "Return to Game Mode" won't work. Rebase to Deck-patched image if you want Big Picture mode.


Troubleshooting

Diagnostic Commands

# Check Mesa version
rpm -qa | grep mesa

# Check Vulkan device
vulkaninfo | grep deviceName
# Should show: AMD Radeon Graphics (RADV GFX1013)

# Check GPU frequency
cat /sys/class/drm/card1/device/pp_dpm_sclk

# Check temperatures
sensors

# Check OSTree deployment
rpm-ostree status

Performance Issues

# Verify GPU is being used
vulkaninfo | grep deviceName
# Should NOT show llvmpipe

# Monitor GPU usage
nvtop

# Check governor scaling
watch -n 1 cat /sys/class/drm/card1/device/pp_dpm_sclk

Quick Reference

# Update system
ujust update

# Check governor
systemctl status cyan-skillfish-governor-smu

# Check GPU frequency
cat /sys/class/drm/card1/device/pp_dpm_sclk

# Check temps
sensors

# Rollback update
rpm-ostree rollback && systemctl reboot

# Rebase to patched GNOME
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/vietsman/bazzite-gnome-patched:latest

Community Resources


Related Guides: - Fedora Setup - CachyOS Setup - Arch Linux Setup - GPU Governor Configuration