Sync game saves over multiple devices

Is this possible and if so how do some of you guys achieve this? I’ve seen other emulators that make use of Dropbox to sync game saves to other devices. Can something similar be achieved with Retroarch?

You can use dropbox or any other cloud syncing service, just make your retroarch save/savestate directories use that directory instead of the default same-directory-as-roms via the ‘path settings’ or your cfg file.

Thanks hunterk!

I assume you are talking about the “retroarch.cfg” file. When i open it though there are a few path paths that can be modified

system_directory savefile_directory savestate_directory

I assume these are the paths you are referring to. Though after i made the changes to the cfg file it still seems to be using the default path “.retroArch” folder? I also made the changes to “content directory” and “config directory” path setting but no change there. Any ideas?

Also can the default path for your content/roms be specified? I assume its the “content directory” path, but as i said, it doesnt seem to be having any effect.

Thanks!

You’re on iOS? I don’t have a lot of experience with that port, but if it’s not picking up your cfg changes, have you tried setting those in the in-game RGUI’s path options?

Yep. They seem to work fine in game when I configure specific cores.

The only issue I have is modifying the global path settings. Guess it’s a bug on iOS.

Thanks heaps for your help :slight_smile:

Is there a specific section I can report bugs?

There’s a general bug thread, but if it’s iOS-specific, you’re better off making an issue at the github repo (https://github.com/libretro/RetroArch). Put ‘iOS’ in the subject line and maybe also ‘meancoot,’ who does much of the iOS work.

thanks buddy!!!

I’ve got a Linux desktop, an ipad, a macbook and a wii. I’ve spent the last two weeks on this very scenario and have gotten through getting the Linux machine and my ipad playing nicely. I won’t go over the whole process here, but I will present some of the “gotchas” I ran into along the way. This may not be for the faint of heart.

So, what I did on the linux PC is set up the dropbox account. In there, make a folder called RetroArch, or whatever. Within that, I created folders for each sort of thing the .cfg has options for (roms, saves, states, config, overlays, etc). In the config directory, I created config files for each platform (linux.retroarch.cfg, ios.retroarch.cfg, etc). To save yourself the headache, try and collect a default config for each platform and use/edit those. Don’t create one config and expect just changing the directory paths will make it work. Sync everything up to dropbox.

Now, for iOS, you really need to be jailbroken. I don’t think this works if you’re not, because I used ssh/sftp to more things around and make symlinks in the filesystem. And in order to get root terminal access to an iOS device, you need to be jailbroken. Come to think of it, don’t you need to be jailbroken to get RetroArch anyway?

The other hurdle with iOS is the fact that Dropbox’s official client doesn’t work like it does on a PC/Mac. It doesn’t download your whole dropbox and store it someplace permanently. It just caches things on demand. What you need is an app that will sync the whole dropbox. Goodreader 4 was the app for me. It’s not free, although I think there is a “lite” version, but I don’t know what features are nerfed. In any case, it’s worth the $7 I spent on it. Hook up GoodReader to your dropbox, and set up a sync to a new folder on your iOS device. Note, there is no automagic sync. You have to open GoodReader and press the sync button manually to get everything up to speed after you’ve been playing. I’m sure there’s a way to automate this with Activator or something. Not really an issue for me, yet.

This is where you need ssh access to your device. You need to log in and either move or rename your current /var/mobile/Documents/.RetroArch if you have one. Then you need to figure out where GoodReader keeps its stuff. there are apps to find out info about other apps, but I just did it the old school unix way. As root, do:


updatedb       (nothing will seem to happen. just wait for the command prompt to reappear)
locate ios.retroarch.cfg     (or the name of some other unique file you have synced in dropbox)

“locate” should return the path to that file. You’ll want to create a symlink (ln) from that path to take the place of /var/mobile/Documents/.RetroArch.

The last set of hurdles: the iOS port of retroarch itself. Not only does it refuse to look anywhere but in the top .RetroArch directory for its config, but it will also OVERWRITE any custom directory options you set up and dump anything the cores output into the .RetroArch directory. So, for the first issue, just make a symlink named retroarch.cfg from wherever you put your ios.retroarch.cfg to the .RetroArch directory.

Now, to workaround iOS RetroArch’s dickish behavior at resetting directory options. Just do “chmod 555” on ios.retroarch.cfg to make it read-only. Then RA won’t be able to change it. The downside to this is then you’ll no longer be able to set global options in the frontend GUI. You have to edit the config in a terminal as root in order to change the config. Hence why I said “workaround” and not “fix”.

So, yeah. It’s possible, and it works pretty good. Haven’t started on getting the Wii tied in, yet. Since it and the PC are always on the same network, I’ll probably just set up the PC’s dropbox as a samba share and mount it on the wii, since I doubt there’s a dropbox app for wii.

Bonus Tip: If you have multiple people in the same house playing the same games, make copies of the roms they share in common with their respective names in the filename. This will create separate save and state files for each copy, avoiding tense situations where someone overwrote someone else’s save or state. Particularly useful for Pokemon games.

Corvias you are a champion!!!

I have pretty much the same setup as you but was struggling with Retroarch directories always reverting back to default. I will try you permission setting today and let you know how it goes. This should definetly be stickied until they fix this bug

Okay. I tried this but now I can no longer create Configs for any of the cores. I select new config for core then the core and then it sends me back to the main screen. I have put read only access on the .retroarch folder. I can’t even launch games. Little help :slight_smile:

Ack! Don’t chmod the whole folder! Just the main .cfg file. Set it back the way it was and just change the perms on retroarch.cfg, or the file it has a symlink to, if you went that route.

Okay finally got everything to work after playing around with the settings all night. Save paths can’t be set outside the rgui. Had to set it in the cores Config file then change it to read only. Your read only trick is brilliant. Terrible bug though. Thanks buddy!