deckctl — Steam Deck / Bazzite Manager

Prompts

Steam Deck & Bazzite system management — gamescope, flatpak, podman, GPU, performance, game mode, system health

Install

openclaw skills install deckctl

deckctl — Steam Deck / Bazzite System Manager

Manage Steam Deck hardware and Bazzite OS through OpenClaw. Covers gaming performance, system health, Flatpak management, GPU monitoring, and Gamescope session control.

When to Use

  • User asks about Steam Deck system status, performance, or configuration
  • Flatpak app installation, updates, or management
  • Gamescope session or game mode troubleshooting
  • GPU/memory/disk monitoring on Steam Deck hardware
  • Proton, Lutris, or containerized gaming setup
  • Sunshine/moonlight streaming configuration
  • MangoHud, vkBasalt, or OBS VkCapture toggles

Prerequisites

  • Steam Deck (LCD/OLED) or Bazzite desktop
  • gamescope-session-plus@steam systemd service
  • Flatpak, podman, rpm-ostree available

Commands Reference

System Status

# Full system health check
echo "=== System ===" && uname -a && uptime
echo "=== Memory ===" && free -h
echo "=== Disk ===" && df -h / /var/home
echo "=== GPU ===" && lspci | grep -i vga
echo "=== CPU ===" && cat /proc/loadavg && nproc
echo "=== Temp ===" && cat /sys/class/thermal/thermal_zone*/temp 2>/dev/null

Gamescope / Game Mode

# Check gamescope session
systemctl --user status gamescope-session-plus@steam.service

# Gamescope logs
journalctl --user -u gamescope-session-plus@steam.service --since "1 hour ago" --no-pager | tail -20

# Steam runtime info
ls ~/.steam/root/ubuntu12_32/steam-runtime/ 2>/dev/null

Flatpak Management

# List installed flatpaks
flatpak list

# Search for an app
flatpak search <query>

# Install a flatpak
flatpak install flathub <app-id>

# Update all flatpaks
flatpak update

# Check for updates without installing
flatpak remote-info flathub <app-id>

GPU & Performance

# GPU info
lspci -nnk | grep -iA3 vga

# GPU memory (AMD VanGogh)
cat /sys/class/drm/card*/device/mem_info_vram_total 2>/dev/null

# Vulkan info
vulkaninfo --summary 2>/dev/null | head -30

# Active GPU frequency (AMD)
cat /sys/class/drm/card0/device/pp_dpm_sclk 2>/dev/null
cat /sys/class/drm/card0/device/pp_dpm_mclk 2>/dev/null

# MangoHud toggle (per-game via env var)
MANGOHUD=1 %command%
# Or in Gamescope:
gamescope -W 1280 -H 800 -f -- mangohud <game>

Proton & Compatibility

# Installed Proton versions
ls ~/.steam/root/compatibilitytools.d/ 2>/dev/null
ls ~/.local/share/Steam/compatibilitytools.d/ 2>/dev/null

# Proton logs for a game
cat ~/.steam/root/logs/proton* 2>/dev/null | tail -20

# Protontricks
protontricks <appid> <verb>

Lutris

# Lutris version
lutris --version

# Lutris installed games
lutris --list-games

# Lutris runners
ls ~/.local/share/lutris/runners/ 2>/dev/null

Container Gaming

# Podman status
podman ps
podman images

# Distrobox containers
distrobox list 2>/dev/null

# Toolbox containers
toolbox list 2>/dev/null

Streaming (Sunshine)

# Sunshine status
flatpak list | grep -i sunshine

# Sunshine config
cat ~/.config/sunshine/config.conf 2>/dev/null

# Sunshine logs
journalctl --user -u sunshine --since "1 hour ago" 2>/dev/null | tail -20

OBS & Capture

# OBS plugins (VkCapture)
flatpak list | grep -i obs

# VkCapture layers
ls ~/.local/share/vulkan/implicit_layer.d/ 2>/dev/null
flatpak list | grep -i vkcapture

Network & Tailscale

# Network interfaces
ip addr show | grep -E "inet |wl|en"

# Tailscale
tailscale status 2>/dev/null

# Port forwarding (for Sunshine)
tailscale serve --bg 47989 2>/dev/null

Common Tasks

Install a game from Flathub

flatpak search "game name"
flatpak install flathub <app-id>

Check why a game is slow

  1. Check GPU frequency: cat /sys/class/drm/card0/device/pp_dpm_sclk
  2. Check thermal throttling: cat /sys/class/thermal/thermal_zone*/temp
  3. Check if MangoHud is running: pgrep -a mangohud
  4. Check Proton version: ls ~/.steam/root/compatibilitytools.d/
  5. Check VRAM usage: cat /sys/class/drm/card*/device/mem_info_vram_used 2>/dev/null

Enable/disable performance overlay

# MangoHud via environment
export MANGOHUD=1  # enable
export MANGOHUD=0  # disable

# Persistent for Steam games
echo "MANGOHUD=1" >> ~/.steam/root/steam.sh.d/mangohud.conf 2>/dev/null

Factory reset a Flatpak

flatpak uninstall --delete-data <app-id>

Troubleshooting

ProblemCheck
Game won't startProton version, disk space, GPU driver
Black screenGamescope resolution, HDR toggle, Wayland
StutteringVRAM, thermal throttling, swap
Audio cracklingPipeWire restart: systemctl --user restart wireplumber pipewire
Controller not workingevtest, journalctl -f, Steam Input settings
Flatpak won't updateflatpak repair, disk space
Steam Proton missingVerify Proton in Steam Settings > Compatibility

Notes

  • Steam Deck uses AMD VanGogh APU (RDNA 2, 8 CUs)
  • OLED model has same APU, better screen
  • Bazzite is Fedora-based with immutable root (rpm-ostree)
  • Flatpak is the primary package manager for GUI apps
  • Gamescope provides the gaming compositor layer
  • Always check thermal zones before diagnosing performance issues