Bazzite Sweet — Your Bazzite Companion
Everything specific to Bazzite: setup, optimization, Steam Deck tweaks, Flatpak management, Wayland compositors, and uBlue image customization.
When to Use
- Setting up or tweaking Bazzite on desktop or Steam Deck
- Managing Flatpaks and system packages on Bazzite
- Steam Deck gaming optimization
- Wayland display/compositor issues
- uBlue custom images and rebase
- Bazzite-specific bugs or quirks
- Switching between Bazzite editions (Nvidia, Wayfire, Sway, KDE)
Bazzite Quick Reference
Editions
| Edition | Use Case |
|---|---|
bazzite | GNOME-based desktop |
bazzite-nvidia | GNOME + Nvidia proprietary |
bazzite-deck | Steam Deck (KDE Plasma) |
bazzite-deck-nvidia | Steam Deck + Nvidia |
bazzite-arch | Arch-based (unstable) |
Core Identity
Bazzite is built on Fedora Atomic (rpm-ostree) + uBlue framework. Key facts:
- Immutable root filesystem (use
rpm-ostreefor system changes) - Flatpak for GUI apps (pre-configured with Flathub + uBlue repos)
- No
dnf install— layer packages withrpm-ostree install - Updates are atomic deployments
- Steam Deck variant uses KDE Plasma (not GNOME)
System Status
# Check Bazzite version and deployment
rpm-ostree status
# Check for updates
rpm-ostree upgrade --check
# Apply update
rpm-ostree upgrade && systemctl reboot
# Current kernel
uname -r
# Check Bazzite-specific services
systemctl --user list-units 'bazzite*' 2>/dev/null
systemctl list-units 'bazzite*' 2>/dev/null
Flatpak Management
Bazzite comes with Flathub and uBlue Flatpak repos pre-configured.
# List all Flatpaks
flatpak list
# List only user-installed
flatpak list --user --app
# Update all Flatpaks
flatpak update --assumeyes
# Search for an app
flatpak search "app name"
# Install from Flathub
flatpak install flathub <app-id>
# Install from uBlue repo
flatpak installublue <app-id> 2>/dev/null || flatpak install <app-id>
# Remove
flatpak uninstall <app-id>
# Clear unused runtimes
flatpak uninstall --unused
# Check repo list
flatpak remotes
# Add Flathub if missing
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# Fix Flatpak issues
flatpak repair
flatpak update --app
Essential Gaming Flatpaks
# Core gaming
flatpak install flathub com.valvesoftware.Steam
flatpak install flathub net.lutris.Lutris
flatpak install flathub com.usebottles.bottles
flatpak install flathub org.prismlauncher.PrismLauncher
flatpak install flathub com.heroicgameslauncher.hgl
flatpak install flathub io.github.Foldex.Exodus
# Streaming
flatpak install flathub dev.lizardbyte.app.Sunshine
# Media
flatpak install flathub org.freedesktop.Platform.VAAPI.Intel
flatpak install flathub org.freedesktop.Platform.VAAPI.Intel.i386
# GPU-specific (Nvidia)
flatpak install flathub org.freedesktop.Platform.GL32.nvidia
flatpak install flathub org.freedesktop.Platform.GL.nvidia
Steam Deck Specific
Steam Deck UI
# Check Gamescope (Steam Deck compositor)
gamescope --help 2>/dev/null | head -5
# Current session type
echo $XDG_SESSION_TYPE
# Check if in Game Mode
# Game Mode = Weston compositor running
ps aux | grep -E 'gamescope|weston' | grep -v grep
# Check Steam Deck GPU
cat /sys/class/drm/card*/device/vendor 2>/dev/null
# 0x1002 = AMD (Van Gogh APU)
# Check thermal
cat /sys/class/thermal/thermal_zone*/temp 2>/dev/null | awk '{print $1/1000"°C"}'
# Check battery (Steam Deck OLED/LCD)
cat /sys/class/power_supply/BAT*/capacity 2>/dev/null
cat /sys/class/power_supply/BAT*/status 2>/dev/null
Steam Deck Tweaks
# Set Gamescope fractional scaling
GAMESCOPE_FSR_SHARPNESS=2 gamescope -W 1280 -H 800 -f -- steam
# Enable FSR upscaling
GAMESCOPE_FSR_SHARPNESS=5 gamescope -f -W 1920 -H 1200 -w 1280 -h 800 -- %command%
# Steam Deck OLED: native resolution
gamescope -W 1280 -H 800 -f -- %command%
# Check controller input
evtest /dev/input/event* 2>/dev/null | head -10
# Check SD card
lsblk -o NAME,SIZE,TYPE,MOUNTPOINT | grep -E 'mmcblk|sd'
Switching Desktop Mode
# Desktop Mode = KDE Plasma Wayland
# Game Mode = Gamescope/Weston
# Check current mode
# Game Mode: gamescope process running, no KDE
# Desktop Mode: plasmashell running
ps aux | grep -E 'plasmashell|gamescope' | grep -v grep
# Force restart into Desktop Mode
# Hold power button → select "Switch to Desktop"
# In Desktop Mode, check Wayland
loginctl show-session $(loginctl | grep $(whoami) | awk '{print $1}') -p Type
Wayland & Display
# Wayland compositor info
echo $WAYLAND_DISPLAY
echo $XDG_CURRENT_DESKTOP
# List connected displays
wlr-randr 2>/dev/null || xrandr 2>/dev/null || kscreen-doctor --outputs 2>/dev/null
# Screenshots
grim screenshot.png # wlroots (Wayfire/Sway)
spectacle -f # KDE Plasma
gnome-screenshot -f # GNOME
# Screen recording
wf-recorder -f recording.mp4 # wlroots
OBS # Flatpak
# Check HDR support
wlr-randr 2>/dev/null | grep -i hdr
Layering Packages
# Install CLI tools (requires reboot)
rpm-ostree install gh vim tmux htop neofetch fastfetch
# Install development tools
rpm-ostree install gcc make cmake git
# Install Wine (for Lutris/Bottles)
rpm-ostree install wine
# Overlay specific RPM
rpm-ostree overlay /path/to/package.rpm
# Remove layered package
rpm-ostree uninstall <package>
# Reset to base image (removes all overlays)
rpm-ostree override reset
# Apply and reboot
systemctl reboot
Rebase & Updates
# Rebase between Bazzite editions
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite:stable
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:stable
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:stable
# Rollback if something breaks
rpm-ostree rollback
systemctl reboot
# Pin current deployment
rpm-ostree pin
# Clean old deployments
rpm-ostree cleanup -rp
uBlue Custom Images
Bazzite is built on the uBlue framework. You can create custom images:
# Check if using custom image
cat /etc/os-release | grep -E 'IMAGE|VARIANT'
# uBlue overlay (apply after each update)
# Place in /etc/ublue-os/
ls /etc/ublue-os/ 2>/dev/null
# Check uBlue signing
rpm-ostree status | grep -i sign
Performance & Tweaks
# Enable MangoHud globally
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.Steam
# Check GPU performance
cat /sys/class/drm/card0/device/pp_dpm_sclk 2>/dev/null
cat /sys/class/drm/card0/device/pp_dpm_mclk 2>/dev/null
# Thermal governor
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | sort -u
# Memory usage
free -h
# Disk usage
df -h /
# udev rules for controllers
ls /etc/udev/rules.d/ 2>/dev/null
Troubleshooting
| Problem | Solution |
|---|---|
| Update stuck | rpm-ostree cancel then retry |
| Flatpak won't launch | flatpak repair then restart |
| No sound | systemctl --user restart wireplumber pipewire |
| Display wrong resolution | kscreen-doctor --outputs (KDE) |
| Steam Deck won't enter Game Mode | Check systemctl --user status for errors |
| Package conflict after layering | rpm-ostree override replace <url> |
| SD card not mounting | lsblk then sudo mount /dev/mmcblk0p1 /run/media/deck/sd |
| Controller not detected | evtest + check steam-input service |
| Wayland app blurry | Check fractional scaling, try integer scale |