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
- 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 (if viable). At the moment games set up from the Emulators tab, controllers wont work from the get go unless controller set up was done at the emulator app, making the feature of setting up games from the Emulators tab useless.
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
