Your RomM library, running native in Steam
Getting Started · Configuration · Syncing · Managing Games
A Decky Loader plugin that syncs your self-hosted RomM library into Steam as non-steam shortcuts. Games appear directly in your Steam library, launch through RetroDECK, and can keep their saves in sync across devices through your RomM server.
_Named after the railway car behind a steam locomotive, or the boat that shuttles out to a ship at anchor._
Pre-1.0 (v0.x). The feature set isn't complete yet. Save sync covers standard cartridge saves; the memory-card
systems — PlayStation, PS2, Dreamcast, GameCube, PSP, 3DS — don't sync their saves yet, and the
support matrix has the per-system
detail.
[!NOTE]
How this is built. The code is written by an AI coding agent working under my direction. The architecture, the
design decisions and the review are mine, and changes are smoke-tested on real hardware before they ship.
Features
- Library sync — Pulls the platforms and collections you pick from your RomM server into Steam as non-steam
- SteamGridDB artwork — Add a free SteamGridDB key to get hero banners, logos, wide
- Save sync — Opt-in save syncing across devices through your RomM server, automatically before launch and after you
- Save slots & version history — Multiple named save profiles per game, plus per-file version history with restore
- ROM downloads — Download on demand with progress, pause/resume/cancel, and a managed queue
- BIOS management — Per-platform BIOS status, download all or only what your active core requires, hash-verified
- Game detail page — Replaces Steam's page for synced games: RomM metadata, RetroAchievements progress, playtime,
- Multi-disc & multi-version — Pick the disc for multi-disc games and switch between regions or revisions of the
- Emulator cores — Set the core per system, or override it for a single game
- Steam Input — Pick a Steam Input mode (Default / Force On / Force Off) and apply it to every shortcut the plugin
- Follows RetroDECK moves — Moved RetroDECK to another drive? The ROMs, BIOS files and saves the plugin manages are
- Cleanup tools — Remove shortcuts per platform or all at once, uninstall ROMs, and clear orphaned grid images
Screenshots
| Quick Access panel | Game detail page | | :----------------------------------------------: | :----------------------------------------------------: | | !Quick Access panel | !Game detail page | | BIOS management | Per-game actions | | !BIOS status | !Actions menu |
Requirements
- Decky Loader on your Steam Deck or Linux HTPC — the plugin lives in Steam's gamepad UI, so it
- A running RomM server, version 5.3.0 or newer (the plugin stays inert against
- RetroDECK for launching games
Installation
Not on the Decky store. The store doesn't accept plugins whose code is written with AI assistance, and Tender's is — see _How this is built_ above. Install it from the URL below.
https://github.com/danielcopper/romm-tender/releases/download/tender-v0.33.0/Tender.zip
Install from URL — the recommended way
Needs Developer mode in Decky Loader (Decky tab › gear icon › General › Other › toggle Developer mode).
- Decky settings › Developer tab › Install Plugin from URL
- Paste the URL above and install
tender-v0.33.0 — the last one published with a plugin zip.
Install from ZIP
Also needs Developer mode.
- Download the plugin's
.zipasset from the releases page - Decky settings › Developer tab › Install Plugin from ZIP File
Full step-by-step instructions, including first-time setup, are in
Getting Started.
Quick start
- Open the Quick Access Menu and select Tender
- In Settings, enter your RomM server URL and credentials, then hit Test Connection
- In Platforms, enable the platforms you want to sync
- Open Sync and hit Sync Library — look over the changes it works out, then Apply Sync, and your ROMs
See the User Guide for syncing details, save sync, and BIOS management.
Contributing
Build from source, run the tests, and read the architecture reference on the documentation site:
- Development setup
- Frontend dev loop — live-reload the UI
Acknowledgments
This plugin stands on the shoulders of some great projects:
- RomM — the self-hosted ROM manager at the heart of this plugin. RomM provides the
- RetroDECK — the all-in-one emulation solution for Steam Deck that bundles ES-DE, RetroArch,
- Decky Loader — the plugin framework that makes all of this possible
- @decky/ui — maintained by the Decky project, and how Tender
- Valve — for the Steam Deck, SteamOS, and an open enough platform to build on
- Unifideck — inspiration for game detail page injection techniques and gamepad
- MetaDeck — inspiration for store patching patterns used in metadata display on
- Argosy — RomM's Android device-sync client. Its baseline-anchored
- Grout — RomM's Linux handheld client. Its 409-driven upload reconciliation (POST
License
GPL-3.0. This is an independent project and is not affiliated with, endorsed by, or sponsored by the RomM project or Valve Corporation.