A headless companion, a small web UI for adding Steam shortcuts (with SteamGridDB artwork) from another device, while the target machine stays in Steam's Game Mode. Just add rom, restart Steam and play.
Note
Flathub repo is needed for the GNOME runtime dependency, RetroArch and emulators.
- Add streaming or any websites as a Steam shortcut
- Retrieve game or app artwork from SteamGridDB vast community database (you'll need to provide your own API key)
- Install other game launchers and apps
- Upload retro games roms and SS will take care of looking for artwork and adding Steam shortcut
- Upload .isos, keys and firmware files from SS for modern console games.
- Add/edit your non Steam shortcuts
- Web UI running from your Steam Deck / Steam Machine in game mode, desktop mode is only needed to install app
- Screen code authentication
- Install emulators from flathub and appimages from developers source
- Auto update flatpak
- Convert .nsz Switch roms to .nsp automatically so Ryujinx/Eden can load them
- Optional Preflight integration for Ryubing (Flathub and AppImage builds alike), Eden and Dolphin: a pre-launch controller check for local multiplayer games, installed and kept up to date automatically. Preflight catches up to whatever's newest the next time SelfSteam updates
- App icon
- Test all emulators from Emulators tab,
around 80%100% of them only have been tested. - Add other game launchers + utilities
- More testing and polishing
- Marry preflight to this project to avoid controller layout issues in emulators. At the moment adding games from emulators tab require separate configuration for controllers. The goal of preflight is to avoid this.
Run on your terminal
flatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo && flatpak remote-add --user --if-not-exists selfsteam https://raw.githubusercontent.com/ScarletPachydermDev/SelfSteam/master/packaging/io.github.ScarletPachydermDev.SelfSteam.flatpakrepo && flatpak install --user selfsteam io.github.ScarletPachydermDev.SelfSteam
SelfSteam doesn't vendor code from any of these, but real behavior/patterns here were confirmed by actually reading their own source, not guessed -- each one credited in the relevant file's own comments too:
- ChimeraOS -- the pairing-code auth screen's layout (
chimera_app/authenticator.py) and the confirmed reason Steam needs to be fully stopped before writingshortcuts.vdf(its own periodic re-save silently clobbers an in-place edit). - emerytech/couchside -- the same no-accounts, code-on-screen pairing pattern.
- ChimeraOS/gamescope-session (its bundled
gamescope-fgtool) -- theSTEAM_GAME/GAMESCOPECTRL_BASELAYER_APPIDX11 mechanismgamescope_splash.pyreimplements directly, so this has no runtime dependency on it being installed. - Jellyfin's own Flatpak -- confirmed the real, working shape for a background-service Flatpak (a sandbox can't touch
~/.config/systemd/user/systemctlitself, so setup has to happen through an escape hatch or a copy-paste script). - SteamGridDB/steam-rom-manager -- Artwork source and
_ra_guess_name_from_filename's ROM-filename cleanup is a ported version of its ownfuzzy-matcher.ts. - mateussouzaweb/nicedeck
bitcoin: bc1qw5d4wyc4szjz28e6tafmpd4u9flgqqnjlwuwd8
monero: 89GucTETmNEUVdbF3HYWYC8Gi3mFdUFvyEaa545E4S8ahq2MfXmGgMzS5q9Kx6k3DG943gXFbn4ECTQFf8Coe5qyEfwxAdM
