I’m looking for a retro video game server something like jellyfin but for video games. Is there anything like that? Something that could be played on remote computers or Roku/Android boxes? Something with clients? I did a cursory search but didn’t find anything recent.
emulator-js is what you are looking for. Web based emulator. Ive been playing with cosmos and they have emulator-js in its app list. Spun up a quick instance of it and it is retroarch through a web browser. Its a docker container so you dont need cosmos to run it, thats just how i have it set up.
Nice! Is it accessible outside your home network or do I have to use something like wireguard?
I don’t think it’s hardened so I would recommend vpn for access. I tested it out and if you want to do save sharing, say between phone and pc, there is a push to server and pull from server, buttons that need to be clicked. The actual save file seems to be local to the host machine, not the server by default, so you have to push it to the server if you plan on sharing, and then pull on the next device. I was hoping that it would completely saved on the server but I image that would be hard if two devices tried to access it at the same time.
I run RetroPie on a Raspberry Pi 4 that is directly attached to my TV. Not a Roku but close enough.
This might be the easier solution. It’s really easy to setup and get it running.
There are lots of challenges with a server+client architecture like jellyfin for emulation that disincentive people from doing it, like handling multiple instances, peripherals connectivity, etc.
There are a few ways to get close but with various pros and cons:
- A compromise is having something like a NAS manage the data and metadata that multiple emulators can connect to e.g. 1 NAS + 3 PCs running Batocera with their own peripherals. This is the simplest option.
- A headless server running an OS like Windows or maybe even Steam OS that a client can connect to, but you’re limited to one client at a time. Many ways to set this up, for example https://github.com/Steam-Headless/docker-steam-headless
- You could have a server running multiple vms with some OS like batocera, one per client. I do not think sharing GPU is feasible so software rendering only. You need to setup peripherals somehow for each client to each vm. Sounds complicated but plausible.
These options are all off the top of my head. I’m very curious what ideas other people share.
I’d recommend looking into vgpu unlocking, though I haven’t yet tried it myself so I don’t know how easy it is to use
Not sure about Roku, that might be asking too much, but Retroarch is the daddy of emulation frontends and I’ve seen people run that on Android boxes with ROMs just read from a NAS via SMB. It’s available on most platforms you can think of.
There’s also dedicated gaming OSes (which will run on many generic S905ish AndroidTV boxes as well as PCs etc) which serve as prettier wrappers to that and other emus, my personal preference being Batocera if you whole-heartedly wanting those client systems to become ‘retro gaming systems’.
KODI + IAGL would also be a workable soln on all platforms which have KODI, that can run the games directly from archive.org so negates need for the SMB share.
There’s also lots of retrogaming-adjunct subs where this will be answered better than by us nerds here too.
I did pretty much that with Retroarch on a Nvidia Shield at one time. Worked great.
Another thumbs up here for Kodi. It’s emulation capabilities aren’t as mature as retroarch but it’s much more couch friendly in my opinion. Still not quite the same as Jellyfin handling all the meta data though and sharing state.
RetroArch/RetroPie
Searching this sub for “emulator” gives me EmulatorJS as first result in seconds…