This is an automated archive made by the Lemmit Bot.

The original was posted on /r/selfhosted by /u/Volcaus on 2025-01-26 01:22:59+00:00.


Hello r/selfhosted ! I am happy to be back to announce the latest major release of Retrom!

For those who are hearing of Retrom for the first time: Retrom is a self-hosted game library/collection management service with a focus on emulation. Major features include:

  • Centralized library + metadata management and storage via the Retrom server
  • Download and/or “install” games from your Retrom server from any Retrom desktop client or the built-in web client
  • Sync your Retrom library with third-party libraries ( such as Steam ) in your Retrom client, and even launch them – one client to rule them all!
    • Customize metadata for third-party library entries, or keep the upstream defaults
  • “Fullscreen Mode” makes for a great experience in couch-gaming setups or for gaming handhelds

Check out the GitHub repo for more information, download links and documentation/instructions!

Check out the previous release announcement

Come hang out in the discord server to chat, ask questions, or get updates on Retrom

Look below for the full scoop on the next major milestones for Retrom: cloud saves, libretro support, user management and more!


What’s New

The main focus of the last cycle of major releases has been on simplification of the user experience. Reducing the burden of initial installation/setup by using sane defaults while still allowing full configurability to power-users. This was a major complaint from many new users of Retrom, and many potential users of Retrom that had to put it down due to the complexity.

The major new features since the previous announcement are as follows:

  • Steam library integration
    • you can now opt-in to sync your steam library w/ retrom, allowing you to play steam games without having to move between clients
  • Standalone mode
    • While this is likely not at all interesting for this community, there have been many people in other communities who have voiced a desire to use Retrom w/o the need for a ‘complicated docker/server setup’ ( very strange, I know, that’s half the fun! ). For this reason, the Retrom client can now optionally spin up a local instance of the Retrom server with a single click
  • Highly simplified installation
    • Similar to the above point, this may be less of a major feature for this community – however I’m sure there is value here for plenty of people even in r/selfhosted
    • The retrom-service docker image can now optionally spin up it’s own internal DB, meaning there is no longer a requirement on an external DB service. The example docker-compose file is now ( at its most simple form ) only 8 lines!

You can find the full Changelog here

What’s Next

I am also incredibly excited for the next few major milestones! I have been long-deliberating on how best to implement some of these, as they are quite tricky problems to solve in some cases.

  • Save game management
    • This is one of the main reasons I started my work on Retrom; the ability to seamlessly sync saves for emulated games across systems ergonomically, and without reliance on external services such as Google Drive or similar.
    • The goal is to bring an experience very similar to Steam’s cloud save feature. I have finally landed on a model that I believe to check all the boxes with little-to-no compromise. I am excited to say I’ve already begun implementation of this!
  • Libretro support ( RetroArch )
    • In the spirit of simplicity, there is still a perception of over-complexity with the management of emulators within Retrom. To address this, I have been exploring the possibility of directly implementing the libretro API in Retrom clients to allow for using libretro cores à la RetroArch! After some serious digging, I am excited to say that this will be the next major milestone after save game management!
    • Rather than manually installing emulators for every system, Retrom will be able to simply download and run libretro cores for supported systems. This takes another great burden of configuration off the users of Retrom.
    • For web client, I plan to integrate Emulator.js. This will allow a nearly zero-configuration option to play your Retrom library ( EJS supported platforms ) on just about any computing device. This will bring some partial support of Retrom’s full capabilities to mobile devices and android devices by way of in-browser emulation.
  • Multi-User management and authentication
    • While still in the design stages, this will likely be Retrom’s next major milestone after Libretro support

In addition to the above major milestones, there are also many little things I am working on in tandem:

  • SteamGrid API support for image metadata
  • Better support for native ( PC / MacOS / Linux ) games
  • User script execution on/after installation/launch
  • more library management tools ( e.g. upload from client, ignore files/folders )
  • Support for arbitrary library file/folder structures
  • UI tweaks, particularly improving on the fullscreen mode experience

I’d love to hear any and all feedback from interested parties, so please let me know your thoughts on Retrom and its current direction – criticisms included, they’re even more useful! Also, if you are interested you should join the discord server for continued discussion.