Skip to content
/ bench — unproven

Steam Machine test bench.

Nothing here has run on the hardware yet. Copy a command, try it on the machine, mark what happened. Results live in this browser only — hit export when you want them out.

0/13 recorded0 works0 broken

Probe

3 tests

Establish what the box actually is before trusting any result below.

  1. 01

    SteamOS build & kernel

    unknown
    Which SteamOS release and kernel does the Steam Machine ship, and does it differ from Deck 3.x?
    pass looks like
    VERSION_ID and BUILD_ID from os-release; record them — every other result on this page is only valid for this build.
    cat /etc/os-release
    uname -srm
    hostnamectl | sed -n "1,12p"

    Chassis / hardware vendor line tells us how the machine self-identifies.

  2. 02

    Session & compositor

    unknown
    Is the desktop session the same Plasma/gamescope pairing as the Deck, and is it Wayland-only?
    pass looks like
    XDG_CURRENT_DESKTOP=KDE, XDG_SESSION_TYPE=wayland, and a running gamescope process in Game Mode.
    echo "desktop=$XDG_CURRENT_DESKTOP session=$XDG_SESSION_TYPE"
    pgrep -a gamescope | head -3
    plasmashell --version
  3. 03

    Read-only rootfs

    low risk
    unknown
    Is / still immutable? Anything that writes outside $HOME needs this answered first.
    pass looks like
    "enabled" — themes must then live under ~/ (which survives updates) and never in /usr.
    sudo steamos-readonly status
    findmnt -no FSTYPE,OPTIONS / /home

    Confirms the btrfs/ext4 split and which mount is writable.

Theming

10 tests

Does the Deck theming stack — CSS Loader, Plasma, boot video — transfer to the Steam Machine untouched?

  1. 01

    Decky Loader service

    unknown
    Does Decky Loader install and stay running on this build? CSS Loader is a Decky plugin, so everything downstream depends on it.
    pass looks like
    plugin_loader.service active (running), and ~/homebrew/plugins exists.
    systemctl status plugin_loader --no-pager | sed -n "1,6p"
    ls -1 ~/homebrew/plugins 2>/dev/null || echo "no decky plugins dir"
  2. 02

    CSS Loader installer

    low risk
    unknown
    Does the upstream installer's Deck assumptions (paths, service restart) hold on Steam Machine?
    pass looks like
    Installer exits 0, plugin appears in the Decky menu in Game Mode, no restart loop in the service log.
    curl -L https://github.com/suchmememanyskill/SDH-CssLoader/raw/main/install_release.sh | sh

    External script — read it once before piping if you have not already.

    journalctl -u plugin_loader -n 20 --no-pager
    undo
    rm -rf ~/homebrew/plugins/SDH-CssLoader && sudo systemctl restart plugin_loader.service
  3. 03

    Hand-rolled theme + manifest version

    low risk
    unknown
    Which CSS Loader manifest_version does this build accept? Writing a minimal theme by hand isolates that from any store download.
    pass looks like
    "magus test" shows up in the CSS Loader plugin list and the Quick Access panel picks up the accent colour.
    mkdir -p ~/homebrew/themes/magus-test && cat > ~/homebrew/themes/magus-test/theme.json <<'JSON'
    {
      "name": "magus test",
      "version": "v1.0",
      "author": "magus.sh",
      "manifest_version": 8,
      "inject": { "shared.css": ["QuickAccess", "SP", "Desktop"] }
    }
    JSON

    Bump manifest_version and re-run if the plugin rejects it — that number is the actual thing under test.

    cat > ~/homebrew/themes/magus-test/shared.css <<'CSS'
    :root { --magus-probe: #7aa2f7; }
    body { outline: 2px solid var(--magus-probe); outline-offset: -2px; }
    CSS

    A visible outline is a blunt but unmistakable "the CSS landed" signal.

    sudo systemctl restart plugin_loader.service
    undo
    rm -rf ~/homebrew/themes/magus-test && sudo systemctl restart plugin_loader.service
  4. 04

    Plasma colour scheme

    desktop mode
    unknown
    Do the plasma-apply-* CLI tools exist on this image, or has Valve trimmed them?
    pass looks like
    A scheme list prints, and applying one repaints the desktop session immediately.
    plasma-apply-colorscheme --list-schemes
    plasma-apply-colorscheme BreezeDark
    undo
    plasma-apply-colorscheme BreezeDark
  5. 05

    Global (look-and-feel) theme

    desktop modemedium risk
    unknown
    Does lookandfeeltool survive here, and does applying a global theme break the Return-to-Game-Mode shortcut?
    pass looks like
    Theme list prints; after applying, the Return to Gaming Mode desktop icon still works.
    lookandfeeltool -l
    lookandfeeltool -a org.kde.breezedark.desktop
    undo
    lookandfeeltool -a org.kde.breezedark.desktop
  6. 06

    Cursor, icon & desktop theme

    desktop mode
    unknown
    Are the Steam-branded cursor and icon themes present, and do Wayland clients pick up a change without a relog?
    pass looks like
    Each --list-themes prints; the cursor changes without logging out.
    plasma-apply-cursortheme --list-themes
    plasma-apply-desktoptheme --list-themes
    ls -1 /usr/share/icons ~/.local/share/icons 2>/dev/null
  7. 07

    Flatpak apps following the system theme

    desktop mode
    unknown
    Do Flatpaks read the host GTK theme once the config dirs are exposed, or do they stay Adwaita-light?
    pass looks like
    Overrides apply cleanly and a relaunched Flatpak (Brave, VLC) matches the desktop.
    flatpak override --user --filesystem=xdg-config/gtk-3.0:ro --filesystem=xdg-config/gtk-4.0:ro
    gsettings get org.gnome.desktop.interface color-scheme
    flatpak override --user --show
    undo
    flatpak override --user --reset
  8. 08

    Boot video override

    low risk
    unknown
    Does the Steam Machine honour the Deck uioverrides/movies path for the startup animation?
    pass looks like
    Directory exists (or can be created) and a webm dropped in as deck_startup.webm plays on next boot.
    mkdir -p ~/.steam/root/config/uioverrides/movies
    ls -la ~/.steam/root/config/uioverrides/movies
    ls -1 ~/.steam/root/steamui/movies 2>/dev/null | head

    Stock animations — filenames here tell us what an override has to be called on this build.

    undo
    rm -f ~/.steam/root/config/uioverrides/movies/deck_startup.webm
  9. 09

    Custom fonts

    unknown
    Do user fonts in ~/.local/share/fonts get picked up by both Plasma and the Steam client?
    pass looks like
    fc-cache sees the new font and it is selectable in Plasma settings; note whether Game Mode also picks it up.
    mkdir -p ~/.local/share/fonts && fc-cache -fv ~/.local/share/fonts | tail -3
    fc-list : family | sort -u | wc -l
    undo
    rm -rf ~/.local/share/fonts && fc-cache -f
  10. 10

    Survives a SteamOS update

    unknown
    Which of the above live on the writable /home partition and therefore survive an OS update?
    pass looks like
    Everything under ~/homebrew, ~/.local, ~/.steam resolves inside /home — anything that does not will be wiped.
    for p in ~/homebrew ~/.local/share/fonts ~/.steam/root/config/uioverrides ~/.config/kdeglobals; do printf "%-46s %s\n" "$p" "$(df --output=target "$p" 2>/dev/null | tail -1)"; done

Anything that passes here graduates to a card in/setup. Anything that breaks is worth a note on why — that's the part upstream docs never write down.