A centralized game library/collection management service with a focus on emulation
Find a file
2025-12-24 21:12:46 -08:00
.github
docker
docs@47708419ea
packages chore: resolve logic errors 2025-12-24 21:07:04 -08:00
plugins
screenshots
templates
.dockerignore
.gitignore
.gitmodules
.markdownlint.json
.npmrc
.nvmrc chore: bump node + pnpm versions 2025-12-20 15:12:53 -08:00
.prettierignore
.prettierrc.json
.release-please-manifest.json chore(main): release 0.7.48 2025-12-24 21:12:46 -08:00
.sqlfluff
Cargo.lock feat: UI tweaks 2025-12-24 21:07:04 -08:00
Cargo.toml chore(main): release 0.7.48 2025-12-24 21:12:46 -08:00
CHANGELOG.md chore(main): release 0.7.48 2025-12-24 21:12:46 -08:00
CONTRIBUTING.md
io.github.jmberesford.Retrom.desktop fix: notifications before setup 2025-12-08 20:54:08 -08:00
io.github.jmberesford.Retrom.metainfo.xml
io.github.jmberesford.Retrom.yml
LICENSE
nx.json
package.json chore(main): release 0.7.48 2025-12-24 21:12:46 -08:00
pnpm-lock.yaml chore: update shadcn UI combobox styles 2025-12-24 21:07:04 -08:00
pnpm-workspace.yaml chore(deps): overrides 2025-12-07 15:08:59 -08:00
README.md
release-please-config.json
tsconfig.json
version-announcements.json

Banner

A centralized game library/collection management service with a focus on emulation. Configure once, play anywhere


Check out the quick start guide or the full wiki

Download the latest Client


Join the Discord server:

discord-badge

Table of Contents

Overview

Retrom is a centralized game library management service that allows you to host your games on a single device, and connect clients on any amount of other devices to (un)install/download and play them when and where you want to! Think of it as a sort of self-hosted Steam for your DRM-free game library.

Core Features

  • Host your own cloud game library service
  • Scan your filesystem for games/platforms and automatically add them to your library
  • Install/uninstall and play games from the service on any amount of desktop clients.
    • Support for Windows, MacOS, and Linux!
  • Access your library from anywhere with the web client.
  • Unify your emulation library with third party libraries
    • Steam
    • GoG (soon™)
    • Native PC / Linux / MacOS games (experimental)
  • Manage emulator profiles on a per-client basis, stored on the server for easily sharing configurations between devices or restoring them after a reinstall.
  • Launch all your games across any amount of emulators or platforms via your pre-configured profiles from a single library interface.
  • Automatically download game metadata and artworks from supported providers to showcase your library with style!

Screenshots

Home Screen

Game Details

In Game

Roadmap

Tip

The below list is often out-of-date, see the full roadmap here

  • Basic server functionality
    • Scan filesystem for library items
    • Add/remove library items
    • Edit library items
    • Download metadata
      • IGDB provider
      • SteamGridDB provider
    • Cloud save games / states / emulator NANDs
      • Built-in emulators
      • Standalone emulators
    • (Multi-)User authentication
    • Publish server binaries, as an alternative to Docker
  • Basic client functionality
    • View library items
    • Edit library metadata and artworks
    • Trigger library update jobs
      • Scan filesystem for new entries
      • Download/update metadata for new entries
    • Manage game files
      • rename
      • delete
      • set default (for launching via emulators)
    • Grid view (as opposed to default list view)
    • Fullscreen mode + controller support
  • Web (browser) client functionality (in addition to Basic functionality)
    • Download games
    • In-browser emulation via EmulatorJS
  • Desktop client functionality (in addition to Basic functionality)
    • Install/uninstall games
    • Configure locally available emulators
    • Configure multiple profiles per-emulator
    • Set default profiles per-platform
    • Launch games
    • Built-in emulator profiles for popular emulators