Syncthing for Handhelds Guide

In this guide, I’m going to help you setup Syncthing for your handhelds, to enable you to sync your ROMs, saves, states, settings and anything you want across devices, operating systems, firmware and more.

SteamOS/Bazzite

  1. Download the Syncthing Tray Flatpak from here: https://flathub.org/apps/io.github.martchus.syncthingtray
  2. Download the Decky Syncthing Plugin (must have Decky Loader installed): https://github.com/theCapypara/steamdeck-decky-syncthing
  3. Configure Syncthing in Desktop mode and get all setup.
  4. Open Flatseal in Desktop mode, head to the Syncthing Flatpak, enable host filesystem permission.
  5. Restart Syncthing.
  6. Head to Gaming Mode, and open the Decky Syncthing Plugin and go through setup. Choose “Start guided Setup” and you want to enter io.github.martchus.syncthingtray as the Flatpak ID.
  7. Make sure to select At boot and do not check the option to keep it on in Desktop mode.
  8. Head back to Desktop mode, and add Syncthing to Autostart in KDE Plasma.

ArkOS

Install Syncthing on ArkOS

  1. Enable Remote Services in ArkOS: Options > Enable Remote Services. Make note of the IP address that shows.
  2. SSH into ArkOS: You can use OpenSSH for Windows, or any program for any other operating system.
  3. Run the following commands in SSH:
    • sudo apt-get update
    • sudo apt-get install syncthing
  4. Change the IP address in SSH: Open ~/.config/syncthing/config.xml.
    • Find the <address>127.0.0.1:8384</address> line.
    • Replace 127.0.0.1 with your IP address.
    • Save.
  5. Run the following command in SSH:
    • syncthing
  6. Access Syncthing via PC/other: Open a web browser, type IPADDRESS:8384 to open Syncthing.

KNULLI

Install Syncthing on KNULLI

  1. Enable Syncthing: Press Start at the home screen > System Settings > Services > Syncthing. Enable it.
  2. Restart the device.
  3. Access Syncthing via PC/other. Open a web browser, type IPADDRESS:8384 to open Syncthing. You can find your IP Address by pushing Start at the home screen > Network Settings > IP ADDRESS.

What to sync?

  • Save files are located at userdata > saves.
  • State files are also located at userdata > saves.
  • This causes complications, as KNULLI is different than every other OS and CFW in that it combines saves and states in the same folder. To be able to sync KNULLI with other devices, it would involve changing those devices to match the way KNULLI saves and for that reason, I do not recommend using Syncthing with KNULLI as it becomes overly complicated.

muOS

Install Syncthing on muOS

  1. Enable Syncthing: Configuration > Web Services > Syncthing. Enable it.
  2. Get your IP Address: Configuration > WiFi Network. Make note of your IP Address.
  3. Access Syncthing via PC/other: Open a web browser, type IPADDRESS:7070 to open Syncthing.

What to sync?

  • Save files are located at MUOS > save > file. This would match the saves folder in RetroArch.
  • State files are located at MUOS > save > state. This would match the states folder in RetroArch.
  • To be able to sync these to other devices, since the folders are named different than usual for RetroArch (file instead of saves, state instead of states), you’ll need to create two Folder syncs in Syncthing – RetroArch Saves and RetroArch States and then on your host PC, choose the specific RetroArch/saves or RetroArch/states folder. This is the easiest way that doesn’t involve duplication or anything and works with your existing Syncthing RetroArch saves/states.

NextUI

Install Syncthing on NextUI

  1. Ensure that you are using RetroArch’s Save and State format as uncompressed in Settings > System > Save Format & State Format. Note: Changing this will only apply to future saves and states, any existing saves/states will need to be renamed after making this change or remade.
  2. Head into the Pak Store > File Management > Syncthing and install it.
  3. Head to Settings in NextUI > Syncthing.
  4. Set Enable to true and Start on boot to true, then A to Save.
  5. Access Syncthing via PC/other: Open a web browser, type the Address you see on the page we are on in NextUI to open Syncthing.

What to sync?

  • Save files are located in /mnt/SDCARD/Saves with system folders being inside.
  • State files are located in /mnt/SDCARD/.userdata/shared with system/core folders being inside.
  • To be able to sync these to other devices, since the folder structure is different than usual for RetroArch, you will need to create a folder sync for every single system. For example, to sync Game Boy games, you would sync the /mnt/SDCARD/Saves/GB folder in NextUI with the RetroArch/saves/Gambatte folder on any other device. To sync states, you would sync the /mnt/SDCARD/.userdata/shared/GB-gambatte folder in NextUI with the RetroArch/states/Gambatte folder on any other device. Repeat for all systems as necessary.

Android/PC

Install Syncthing on Android

  1. Install Syncthing: Head to the Github and grab the latest APK > https://github.com/Catfriend1/syncthing-android/releases
  2. Use Web GUI to add syncs, do not use the app UI – it will not work for Android/data.

Install Syncthing on Windows

  1. Install Syncthing: Head to the website and download the latest setup.exe > https://github.com/Bill-Stewart/SyncthingWindowsSetup/releases.
  2. Access Syncthing: After setup, it’ll automatically open Syncthing, or head to 127.0.0.1:8384 in your web browser.
  3. Allow Permissions: Open Windows start menu.
    • Type services to open the Services system page.
    • Open the Syncthing Service.
    • Log On tab, Browse…
    • Advanced
    • Find Now
    • Locate the username of the account that you log onto the computer with. Double click it.
    • Click OK.
    • Type your computer password in the Password and Confirm Password fields. Apply.
    • Restart PC.

Syncing Azahar

  • Android: Whichever folder you created when installing Azahar.
  • Windows: %APPDATA%/Azahar
  • What folders to sync:
    • cheats
    • load
    • sdmc
image Syncthing for Handhelds Guide

Syncing CEMU

  • Android: Internal Storage > Android > Data > info.cemu.cemu > files > mlc01 > usr
  • Windows: CEMU Folder > mlc01 > usr
  • What folders to sync:
    • save
    • title
image 8 Syncthing for Handhelds Guide

Syncing Dolphin

  • Android: Internal Storage > Android > Data > com.dolphinemu.dolphinemu > files
  • Windows: %APPDATA%/Dolphin Emulator
  • What folders to sync:
    • GameSettings
    • GC
    • Load/Textures
    • Wii/title
image 1 Syncthing for Handhelds Guide

Syncing M64Plus FZ

  • In order to sync M64 Plus FZ, you must have your data saved in an external location. To do so, head to Settings > Data > change Game Data Storage Location to External. Then, choose External Game Data Location and create a folder on your internal storage or SD card called M64 Plus FZ. That folder will now store all your data, including saves.
  • If you make this change, it will not bring your existing saves over so it’s best to do this change when you first install the emulator.
  • Android: The path is now the above location, the GameData folder in the M64 Plus FZ folder you created above.
  • What folders to sync:
    • Sync the entire GameData folder

Syncing MelonDS Android

  • In order to sync MelonDS Android, the easiest way is using the built-in option to store your data in a folder of your choosing. To do so, head to Settings > Save Files > Uncheck Save next to ROM file. Then, select Save File Directory and create a MelonDS folder on your internal storage or SD card. That folder will now store all of your saves and states.
  • If you make this change, it will not bring your existing saves over so it’s best to do this change when you first install the emulator.
  • Android: The path is now the above location, the entire MelonDS folder you just created.
  • What folders to sync:
    • Sync the entire MelonDS folder

Syncing NetherSX2/PCSX2

  • Android: Internal Storage > Android > Data > xyz.aethersx2.android > files
  • Windows: My Documents > PCSX2
  • What folders to sync:
    • cheats
    • gamesettings
    • memcards
    • sstates
    • textures
image 2 Syncthing for Handhelds Guide

Syncing PPSSPP

  • Android: Whichever folder you created when installing PPSSPP > PSP.
  • Windows: My Documents > PPSSPP > PSP
  • What folders to sync:
    • Cheats
    • flash0
    • PPSSPP_STATE
    • SAVEDATA
    • TEXTURES
image 4 Syncthing for Handhelds Guide

Syncing RetroArch

  • Android: Internal Storage > RetroArch
  • Windows: RetroArch Folder
  • What folders to sync:
    • cheats
    • config
    • saves
    • states
image 5 Syncthing for Handhelds Guide

Syncing RPCS3/RPCSX

  • Android: Internal Storage > Android > Data > net.rpcsx > files > config > dev_hdd0
  • Windows: RPCS3 Folder > dev_hdd0
  • What folders to sync:
    • game
    • home
image 3 Syncthing for Handhelds Guide

Syncing Switch

  • Android: Internal Storage > Android > Data > EMULATOR > files
  • Windows: Emulator Folder > user
  • What folders to sync:
    • load
    • nand
image 6 Syncthing for Handhelds Guide

Syncing Vita3K

  • Android: Whichever folder you created when installing Vita3K > ux0.
  • Windows: Vita3K Folder > ux0
  • What folders to sync:
    • app
    • license
    • user
image 7 Syncthing for Handhelds Guide

Syncing Xenia Canary

  • Windows: Xenia Canary Folder
  • What folders to sync:
    • config
    • content
    • patches
image 9 Syncthing for Handhelds Guide

Ignore Patterns

The Ignore Patterns tab when syncing Folders in Syncthing is extremely powerful, let’s use an example.

Typically, if you wanted to sync the saves and states folders in RetroArch, you would need to create a RetroArch Saves sync and a RetroArch States folder sync – two folders.

However, with Ignore Patterns, we can choose the actual RetroArch folder and then with ignore patterns, tell it that we want to sync both the saves and states folders (as well as any other folders too).

image 10 Syncthing for Handhelds Guide

In this example, we are telling Syncthing that in the path that we chose, we want to sync the cheats, saves and states folders.

By using the exclamation mark in front of the folder names and the asterisk at the end, this let’s us sync these folders and only these folders.

Opposite usage

However, we can also do the opposite if we wanted to.

image 11 Syncthing for Handhelds Guide

In this example, we are telling Syncthing that in the path that we chose, we DO NOT want to sync the switch, xbox and xbox360 folders.

By writing the folder names directly like this, Syncthing will ignore those folders when syncing.

There are a lot more use cases of ignore patterns, ignoring file types, specific files, and so on – but using these two examples is extremely powerful already and combined with all the emulator options above, you can make it super easy to have one Syncthing folder sync per emulator.

image 12 Syncthing for Handhelds Guide

2 thoughts on “Syncthing for Handhelds Guide”

Leave a Comment