Skip to content

danielcopper/decky-romm-sync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

130 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

decky-romm-sync

CI Quality Gate Coverage Maintainability Reliability Security License

decky-romm-sync

A Decky Loader plugin that syncs your RomM game library to Steam as non-steam shortcuts. Games appear directly in your Steam library and launch through RetroDECK.

Features

  • Library sync — Fetches platforms and ROMs from your RomM server, creates Steam shortcuts with artwork
  • Per-platform control — Enable/disable which platforms to sync
  • ROM downloads — Download ROMs on demand with progress tracking and queue management
  • BIOS management — Download firmware/BIOS files from RomM for systems that need them (PSX, Dreamcast, PS2, etc.)
  • Game detail page — Shows install status, BIOS status, download/uninstall actions directly on each game's Steam page
  • Controller friendly — Full gamepad navigation throughout the plugin UI
  • Steam Input config — Per-shortcut Steam Input mode (Default / Force On / Force Off)
  • RetroArch diagnostics — Detects misconfigured input drivers that break menu navigation

Requirements

  • Decky Loader installed on your Steam Deck or Linux HTPC
  • A running RomM server with ROM files
  • RetroDECK (for launching games)

Installation

Both methods below require Developer Mode in Decky Loader:

  1. Open the Quick Access Menu (QAM) and select Decky
  2. Click the gear icon (top right) to open Decky settings
  3. Toggle on Developer Mode — a Developer tab will appear

Install from ZIP

  1. Download the latest decky-romm-sync.zip from the releases page to your Steam Deck
  2. In Decky settings, go to the Developer tab
  3. Select Install Plugin from ZIP
  4. Choose the downloaded file and confirm

Install from URL

  1. In Decky settings, go to the Developer tab
  2. Select Install Plugin from URL
  3. Paste the direct link to the latest release zip (e.g. https://github.com/danielcopper/decky-romm-sync/releases/latest/download/decky-romm-sync.zip)
  4. Confirm installation

From source

Requires mise (or Node LTS + pnpm manually).

git clone https://github.com/danielcopper/decky-romm-sync.git
cd decky-romm-sync
mise install          # installs Node, pnpm, Python
pnpm install
pnpm build

Deploy to your device:

# Symlink for development (rebuilds take effect immediately after Decky restart)
sudo ln -sf "$(pwd)" ~/homebrew/plugins/decky-romm-sync
sudo systemctl restart plugin_loader

Setup

  1. Open the Quick Access Menu (QAM) and select RomM Sync
  2. Go to Settings and enter your RomM server URL and credentials
  3. Hit Test Connection to verify
  4. Go to Platforms and enable the platforms you want to sync
  5. Go back and hit Sync Library
  6. Your ROMs will appear as non-steam shortcuts in your Steam library

Running tests

python -m pytest tests/ -q

Acknowledgments

This plugin stands on the shoulders of some great projects:

  • Decky Loader — the plugin framework that makes all of this possible
  • Valve — for the Steam Deck, SteamOS, and an open enough platform to build on
  • Unifideck — inspiration for game detail page injection techniques and gamepad navigation patterns
  • MetaDeck — inspiration for store patching patterns used in metadata display on non-Steam shortcuts

License

GPL-3.0

About

Decky Loader plugin integrating RomM (self-hosted ROM Manager) with Steam Gaming Mode

Resources

License

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors