ARCH R

Cloud sync

Syncthing, rclone, NFS — keep saves and ROMs in sync across devices

Three approaches to keeping your handheld's /storage in sync with another machine. Pick whichever fits your setup.


Syncthing (peer-to-peer)

Best when you have a PC or another handheld and want continuous, automatic sync without involving a cloud account.

Setup on the handheld

  1. ES → System SettingsNetworkSyncthing → ON.
  2. Note the device IP (visible in System Information).
  3. Note the root password under Security (default archr — change it).

Setup on your PC

Install Syncthing from your distro's package manager or syncthing.net.

Connect them

Browse to http://<handheld-ip>:8384 from your PC. Login: user root, password whatever you set.

In the handheld's web UI:

  • Add Remote Device → paste the PC's Device ID (visible in your PC Syncthing's UI under Actions → Show ID). Same-LAN devices auto-discover, otherwise paste manually.
  • Add Folder → label it (e.g. roms), path /storage/roms. In the Sharing tab, tick the PC.

On the PC, accept the incoming device + folder. Pick a local folder to mirror to. Done — sync starts.

What to sync

FolderContentSync?
/storage/romsYour gamessometimes — large
/storage/savesRetroArch SRAM savesyes — small, valuable
/storage/statesRetroArch save-statestricky — see below
/storage/screenshotsScreenshotsyes
/storage/.configAll app configsusually no

RetroArch save-states caveat: states are tied to the exact core build. If your PC RetroArch and the handheld run different libretro core versions, states can corrupt. Saves (SRAM) are core-version-agnostic, states aren't. Sync saves/ always; sync states/ only if you keep core versions identical.

ArchR has Syncthing paused during gameplay so it never competes with the emulator for CPU. It resumes on exit.


rclone (cloud storage)

For Google Drive / OneDrive / Dropbox / S3 / etc. ArchR ships rclone preconfigured with a wrapper at ES → ToolsCloud Backup / Cloud Restore.

Setup

Enable SSH

As in the SSH guide.

Configure your cloud provider

ssh root@archr.local
rclone config

Follow the prompts; refer to rclone provider docs for OAuth headless setup if needed.

Edit cloud_sync.conf

Default at /storage/.config/cloud_sync.conf. Most useful keys:

KeyDefaultMeaning
BACKUPPATH/storage/romswhat to back up
RESTOREPATH/storage/romswhere to restore (different from BACKUPPATH to test restore safely)
BACKUPFOLDER/storage/roms/backuplocal backup files
SYNCPATH/GAMESpath on the cloud remote
BACKUPMETHODsyncsync mirrors / copy adds without deleting
RESTOREMETHODcopycopy preserves existing local / sync overwrites
RCLONEOPTSfilters & verbosityper rclone flags

Run a backup

ES → ToolsCloud Backup. Same menu has Cloud Restore.

Logs

tail -f /var/log/cloud_sync.log

Filter rules

/storage/.config/cloud_sync-rules.txt controls what's included/excluded. The .defaults version next to it is the upstream template — copy keys from there if you want to restore defaults.


NFS (LAN file server)

If you have a NAS or a Linux PC running an NFS server, you can mount the NFS share over the games folder. ROMs live on the server; saves stay on the handheld.

Drop the mount file

/storage/.nfs-mount

Single line:

NFS_PATH=192.168.1.10:/srv/roms

Mount

ES → ToolsMount NFS. The remote path is mounted at /storage/games-external and an overlay merge is created at /storage/roms — saves go to the local upper layer (/storage/games-internal), game reads come from the NFS share.

This is nice for big collections — store the 200 GB MAME romset on a NAS, have the handheld just see them on /storage/roms/arcade.

Caveats

  • NFS over WiFi is sensitive to packet loss; expect occasional latency spikes when the WiFi signal dips.
  • ROMs that need fast random reads (PSP ISO seek-heavy scenes) feel better when the file is local — copy your most-played titles into /storage/games-internal/roms/ to get the local-disk path of the overlay.
  • The mount drops on power-off and reconnects on next boot if the file is still present.

On this page