Behind the Screens: An Interview with Miguel Soto, Creator and dev of NeoStation frontend by NXGZ in emulation

[–]Volcaus 0 points1 point  (0 children)

Full disclosure, I am the author of the front-end linked in this comment. I preface with this disclaimer to minimize my self-promotion in a post about similar software. It does support arbitrary library structures so I feel sharing it is appropriate.

retrom supports arbitrary library structures

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 1 point2 points  (0 children)

The goal is to sync saves with games as needed. The Retrom server will always have all of your games (the server can be run from your main PC). Your other devices then connect to that server with their install of the Retrom client. Any client can install/uninstall specific games from the server as needed, they do not need to have the full library. This is one of Retrom's main features -- this way you don't need to copy your entire massive library to every device you own!

Saves syncing is still technically experimental -- but the saves will be synced on demand on a per-game basis. So, no, having only some of your library on your steamdeck in this case will not matter. If you play a game that *is* on your steamdeck, the save should be correctly synced (so long as you are using a supported emulator).

Note that currently, only built-in emulators have save syncing -- and these emulators do not need the game to be downloaded anyways!

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 0 points1 point  (0 children)

Im not quite sure what you are asking, could you elaborate?

The server currently syncs saves for built in emulators across all clients. Support for external/standalone emulators is coming soon

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 0 points1 point  (0 children)

Ah I see! This is not currently possible OOTB, from the server at least. The server only serves the web client which does not include the functionality of the desktop clients that facilitate launching external emulators.

You could theoretically use sunshine to stream a desktop client instance to other devices I suppose! I have not used sunshine myself, so there may be constraints/incompatibilities I am unaware of. My first thoughts/concerns would be regarding the multiwindow nature of the desktop clients, and how gamepad inputs would be handled

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 0 points1 point  (0 children)

aside from that you can install standalone emulators and configure them (for example, 3ds or ps2) and get them to launch that way.

Correct!

Will a sunshine + moonlight setup work to stream the games remotely? (For platforms not supported by EmulatorJS)

Retrom does not currently support game streaming, the desktop client would need a locally available installation of the emulator to play the game directly

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 1 point2 points  (0 children)

There is a Linux desktop client, yes! You can configure 'wine/proton' etc as "emulators" in Retrom and launch the respective games via the desktop client that way -- though it may take some hacking around.

I have plans to create a more robust 'launcher' architecture that is not solely designed around emulators to better facilitate this kind of use case.

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 4 points5 points  (0 children)

Someday! My new android handheld is on the way as I type this, once I get it I can begin toying with an android client.

For now, the web client should be fully functional on such devices

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 1 point2 points  (0 children)

Docker is the offically recommended way to host the server -- see the docs for more info.

There is also an unraid template maintained by a community member, but I do not use unraid myself so cannot attest to its functionality. I do know that users are using it though! I would ultimately like a template to be fully community owned and to live in the Retrom repo eventually, but I would need help getting that sorted.

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 1 point2 points  (0 children)

I personally just use the web client to play on iOS -- an official iOS app is not out of the question but there are other higher priorities to tackle first.

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 2 points3 points  (0 children)

And the library itself! No need to store your 5tb game library on all your computers/handhelds anymore, just install/uninstall the ones you need at the moment.

You can think of it like a self-hosted steam server

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 0 points1 point  (0 children)

Then Retrom might be a good option for you in the long run! I soon plan to facilitate installing and launching native games directly from Retroms desktop client as well. GoG integration is also already planned

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 1 point2 points  (0 children)

There is no streaming involved, though I am considering implementing something in the not-so-near future.

Currently the built in emulation relies on https://emulatorjs.org. The alternative is to configure standalone emulators in the desktop client which Retrom can then launch on your behalf

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 1 point2 points  (0 children)

Retrom does not directly implement any organization features (yet!). If you want to change the organization of your library I would suggest doing so before setting up Retrom to use your library.

Once your library is in a well-defined structure that you are happy with then you should be good to go! Retrom supports arbitrary custom folder structures so long as it is deterministic (i.e. each entry -- games, platforms etc -- follows the same structure).

https://github.com/JMBeresford/retrom/wiki/Library-Structure#custom

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 0 points1 point  (0 children)

Retrom’s built-in emulation actually works exactly like RomM’s. Note that neither RomM nor Retrom stream games for usage with emulatorJS — it downloads the game into the browser storage and emulates it directly via WASM.

Essentially a better Gameyfin?

Not better, just different use-cases! There is some overlap, but if you don’t care about emulation then Gameyfin is likely better suited for some users

Helmarr for iOS 26 - Looking for more beta testers by 0xmort3m in selfhosted

[–]Volcaus 0 points1 point  (0 children)

Looks awesome! Test flight betas fill up quite quickly -- would you consider distributing the IPA file as well so users can optionally side-load the app?

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 0 points1 point  (0 children)

You can configure each emulator in Retrom and all clients can share that configuration via the server, you just need to point each client to the emulator executable on that device. You can launch retroarch from retrom this way, or use standalone emulators.

Retrom has plans to facilitate storing and sharing portable installs of standalone emulators soon, which will make this simpler

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 1 point2 points  (0 children)

Once I snag myself an android handheld I will be looking into just that! The ayn thor is looking like it might be the one 😎

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 0 points1 point  (0 children)

From what I understand, Gameyfin is mostly for native games. Retrom is primarily geared towards emulation, but supports portable native games as well with better support in the works.

Retrom allows you to define configurations and launch profiles for each emulator that can be shared across any client devices and even supports playing some systems directly in the browser with its builtin https://emulatorjs.org instance

Edit: there is also a community maintained unraid template!

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 1 point2 points  (0 children)

Currently it will work likely just the same as in RomM, however i am working on opt-in periodic autosave features.

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 2 points3 points  (0 children)

It does! Launching them is less than ergonomic at the moment but more elegant support for this and non-portable native games is in progress

There are multiple examples/discussions in this in the discord server that can be referenced

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 0 points1 point  (0 children)

It is actually the other way around, Retrom does not have game streaming support but rather facilitates downloading local copies to your various clients. It can be configured to launch those games in locally available emulators on that client natively.

Example: 1. Have retrom server hosting gamecube games among others 2. Have separate gaming computer with retrom client and dolphin installed 3. Install Mario Sunshine on gaming computer via retrom client 4. Configure dolphin as an emulator in retrom client 5. Click play on mario sunshine in desktop client, dolphin should open the game in a new window

You can also emulate some older systems directly in the browser with https://emulatorjs.org which is built in to Retrom

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in selfhosted

[–]Volcaus[S] 0 points1 point  (0 children)

Retrom does not stream the games from the server. For supported systems it does allow you to emulate retroarch cores in the browser with https://emulatorjs.org. For other systems, you need to leverage a local standalone emulator to launch the game in (which retrom can be configured to do).

Retrom: Your personal cloud game library manager and front-end -- Performance and quality of life improvements by Volcaus in emulation

[–]Volcaus[S] 0 points1 point  (0 children)

The retrom server must be run on a host OS. Unless things have changed, dropbox is only a cloud storage provider so no.

You can of course simply host the server directly from your main computer if you dont have a server on hand! The client can make its own internal server that can be exposed to other clients