- Fedora: Official Fedora Workstation logo - Bazzite: Official Bazzite tagline logo from GitHub - CachyOS: Official CachyOS logo from GitHub - Arch Linux: Official Arch Linux logo - Debian: Official Debian open use logo All logos linked externally (no downloads), properly licensed for documentation use. Adds visual polish and helps users quickly identify distributions.
9.4 KiB
Bazzite Setup Guide
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:
- Flash modified BIOS (P3.00 recommended)
- Set VRAM allocation to 512MB dynamic
- Configure fan speeds
- 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
- Download Bazzite ISO from bazzite.gg
- Choose your variant:
- Bazzite GNOME - Recommended for beginners
- Bazzite KDE - Desktop users (note: fixed as of mid-2025)
- Bazzite Deck - Steam Deck UI experience
- Flash to USB using Fedora Media Writer or balenaEtcher
Installation Process
- Boot from USB (no special parameters needed)
- Complete on-screen installation
- Select timezone and language
- Create user account
- Choose disk partitioning
- Installation takes 10-15 minutes
- Reboot when prompted
Note: Unlike Fedora, Bazzite boots directly without needing nomodeset parameter.
Standard Setup
Automated Installation (Recommended)
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
GNOME (Recommended)
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
- Bazzite Official: bazzite.gg
- Setup script: vietsman/bc250-documentation
- Patched images: vietsman/bazzite-patched
- Oberon governor: oberon-governor GitLab
Related Guides: