Bazzite Sweet — Bazzite Setup, Steam Deck, Flatpak, uBlue
by @silverod
Bazzite-specific setup, optimization, and troubleshooting — Steam Deck tweaks, Flatpak management, Wayland, GNOME/KDE, uBlue image layers
clawhub install bazzite-sweet📖 About This Skill
name: bazzite-sweet description: Bazzite-specific setup, optimization, and troubleshooting — Steam Deck tweaks, Flatpak management, Wayland, GNOME/KDE, uBlue image layers version: 1.0.0 tags: - bazzite - steam-deck - immutable - flatpak - wayland - gaming - ublue - linux metadata: {"openclaw": {"os": ["linux"]}}
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
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:
rpm-ostree for system changes)dnf install — layer packages with rpm-ostree installSystem Status
# Check Bazzite version and deployment
rpm-ostree statusCheck for updates
rpm-ostree upgrade --checkApply update
rpm-ostree upgrade && systemctl rebootCurrent kernel
uname -rCheck 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 listList only user-installed
flatpak list --user --appUpdate all Flatpaks
flatpak update --assumeyesSearch for an app
flatpak search "app name"Install from Flathub
flatpak install flathub Install from uBlue repo
flatpak installublue 2>/dev/null || flatpak install Remove
flatpak uninstall Clear unused runtimes
flatpak uninstall --unusedCheck repo list
flatpak remotesAdd Flathub if missing
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepoFix 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.ExodusStreaming
flatpak install flathub dev.lizardbyte.app.SunshineMedia
flatpak install flathub org.freedesktop.Platform.VAAPI.Intel
flatpak install flathub org.freedesktop.Platform.VAAPI.Intel.i386GPU-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 -5Current session type
echo $XDG_SESSION_TYPECheck if in Game Mode
Game Mode = Weston compositor running
ps aux | grep -E 'gamescope|weston' | grep -v grepCheck 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 -- steamEnable 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 -10Check 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 grepForce 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_DESKTOPList connected displays
wlr-randr 2>/dev/null || xrandr 2>/dev/null || kscreen-doctor --outputs 2>/dev/nullScreenshots
grim screenshot.png # wlroots (Wayfire/Sway)
spectacle -f # KDE Plasma
gnome-screenshot -f # GNOMEScreen recording
wf-recorder -f recording.mp4 # wlroots
OBS # FlatpakCheck 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 fastfetchInstall development tools
rpm-ostree install gcc make cmake gitInstall Wine (for Lutris/Bottles)
rpm-ostree install wineOverlay specific RPM
rpm-ostree overlay /path/to/package.rpmRemove layered package
rpm-ostree uninstall Reset to base image (removes all overlays)
rpm-ostree override resetApply 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:stableRollback if something breaks
rpm-ostree rollback
systemctl rebootPin current deployment
rpm-ostree pinClean 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/nullCheck uBlue signing
rpm-ostree status | grep -i sign
Performance & Tweaks
# Enable MangoHud globally
flatpak override --user --env=MANGOHUD=1 com.valvesoftware.SteamCheck 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/nullThermal governor
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | sort -uMemory usage
free -hDisk 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 |
| 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 |
⚡ When to Use
📋 Tips & Best Practices
| 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 |
| 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 |