RetroArch

RetroArch

Not enough ratings
Use Syncthing to keep savestates synced across multiple devices.
By spaceaape
Use Syncthing to sync RetroArch Savestates between Internet connected devices that don't support Steam, like Android devices. No matter what device your playing with, Gaming PC, Android TV box, or a Steam deck, always be on your most recent game-save to continue making progress. This will work with any Core that uses RetroArch's savestate function. I've set this up myself, and tested it myself with my Steam Deck and an Nvidia ShieldTV. It's quick, it's seamless, it's automated. I saved my savestate for Super Mario 64, closed the game, loaded it up on my Steam Deck and it picks right up where I left off on my other device.
This should work on both Flatpak or Steam versions of RetroArch. I did not test Windows or Mac, I don't own those systems, but RetroArch and Syncthing being cross platform I don't see any reason why it wouldn't work or why my setup guide wouldn't work across all systems.

You need RetroArch AND Syncthing installed on all devices that you want to use it with. You will also need your games saved on all devices
   
Award
Favorite
Favorited
Unfavorite
1.)Setting up RetroArch
On all devices,
Navigate to Settings>Saving
if not already, Enable "Auto Save State"
This will create a savestate everytime your game is closed
and Enable "Load State Automatically"
upon launching content, this will automatically load the last savestate this device made(example, if your last savestate on this device was slot 0, it will load the file related with slot 0 even if that file was updated by syncthing.)
In Main menu>Configuration File, Save the current configuration so your changes will carry.

*The folder where savestates are made can be changed in RetroArch settings. This isn't necessary for this guide and I use the default location for my setup.*
2.) Setting up Syncthing
Navigate to http://localhost:8384 on one of your devices that you want Synced. This should show you the SyncThing Control Panel.
click "Add Remote device" in the bottom right corner and add all devices you want synced, and do this for all devices.
Then click "Add folder" I label'd mine "states", in the field type the path to the RetroArch save states folder.
Mine looks something like " ~/RetroArch/states "
Under the Sharing tab enable sync with all the devices you want it syncd too.
In advanced You want it to be a "sendreceive" folder type.
I use Simple File versioning for saving old savestates in case of lost or overwritten savestate. they will be located in the .stversions directory.
Save.

On your other device(s)
Navigate to the syncthing control panel, http://localhost:8384
There should be a notification saying another device wants to add folder "states"
Accept and a config window will open
In folder path, type the path to this system's RetroArch Savestate folder. usually /states in RetroArch's default directory.
enable File versioning if desired
under the advanced tab check to make sure that folder type is set to "sendreceive". You want this for all devices for bi-directional sync.
And Save, and Test it out by playing some games!

3 Comments
UdderJuice Feb 25 @ 10:11am 
Thanks for this guide. Do you know, would this work between steam deck and another device running the Knulli OS? Knulli uses the Emulation Station front end, so I assume so but apparently people have had trouble syncing between Knulli and Windows desktops. Something to with how Knulli dumps all save/states into one folder which is not how RetroArch typically organizes them.
Very Very Comfy Dec 4, 2024 @ 8:09am 
Useful
Girgu Sep 22, 2024 @ 10:47pm 
best tutorial ever!!!!!!