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

  • Minimum 90W PSU (120W+ recommended)
  • 2x 120mm high static pressure fans
  • DisplayPort cable or passive DP-to-HDMI adapter
  • USB drive (8GB+) for installation media

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

One-command installation of Oberon governor:

curl -s https://raw.githubusercontent.com/vietsman/bc250-documentation/refs/heads/main/oberon-setup.sh | sudo sh

What this script does: - Installs Oberon GPU governor - Enables governor service - Configures voltage settings (1000mV default for stability) - No Mesa modifications needed (already included)

Important: Run on fresh install for best results. Script auto-reboots when complete.

Manual Installation

If automated script doesn't work:

# Add COPR repository
sudo dnf copr enable filippor/bazzite

# Install governor
rpm-ostree install oberon-governor

# Reboot to apply
systemctl reboot

# Enable service after reboot
sudo systemctl enable --now oberon-governor.service

Voltage Configuration

Default configuration (/etc/oberon-config.yaml):

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 on Steroids" - Custom images with GPU frequency range patch for up to 50% performance boost.

Features

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

Prerequisites

If you already have Bazzite installed with Oberon:

# Remove existing oberon installation
sudo systemctl stop oberon-governor
sudo systemctl disable oberon-governor
rpm-ostree uninstall oberon-governor

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

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 oberon-governor  # Verify running

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/oberon-config.yaml:

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

Then restart: sudo systemctl restart oberon-governor


Post-Installation Configuration

Temperature Sensors

Enable NCT6687 module for PWM fan control:

echo 'nct6687' | sudo tee /etc/modules-load.d/nct6687.conf
systemctl reboot

Verify:

sensors
# Should show nct6687-isa-0a20 with GPU temp, 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

Governor Voltage Instability

Symptom: Graphics artifacts, crashes, black screens

Cause: Default voltage too low for some boards

Solution:

sudo nano /etc/oberon-config.yaml

# Change:
voltage:
  - min: 1000  # Increase from 700
  - max: 1000

sudo systemctl restart oberon-governor

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
systemctl status oberon-governor

# If not running:
sudo systemctl enable --now oberon-governor.service

# Restart if running:
sudo systemctl restart oberon-governor

# Verify frequency scaling
cat /sys/class/drm/card0/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/card0/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/card0/device/pp_dpm_sclk

Quick Reference

# Update system
ujust update

# Check governor
systemctl status oberon-governor

# Check GPU frequency
cat /sys/class/drm/card0/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