Rather than filling up the SD card, Recalbox can mount all or part of its /recalbox/share folder from a network storage server — a NAS, a PC, or even the hard drive of an Internet router. Roms, saves, BIOS, music, themes: each folder can be mounted separately, over SMB (Windows share) or NFS.
The NAS and the Recalbox must be connected over Ethernet. Over Wi-Fi, loading times for large games quickly become painful and mounts may fail at boot.
On the NAS (the procedure below was validated on a Synology, but the principle is the same everywhere):
recalbox.roms folder containing one subfolder per emulated system (snes, megadrive…), and depending on your needs saves, bios, music…The easiest way is to copy the existing structure from your Recalbox to the NAS before switching over.
A Windows shared folder on a PC works exactly the same way — with the drawback that the PC has to stay powered on for the games to be reachable.
Everything happens in the recalbox-boot.conf file, located on the boot partition. You can open it in two ways:
RECALBOX;/boot, and the partition must first be remounted read-write.Find this line:
;sharedevice=INTERNAL
And replace it with:
sharedevice=NETWORK
The leading
;is a comment marker: removing it activates the line.
Also add a comfortable timeout, so the NAS has time to answer at boot:
sharewait=30
Each mount is declared on one line, with the following syntax:
sharenetwork_<nfs|smb>=<TARGET>@<server>:<remote folder>[:<mount options>]
You can declare as many lines as needed; they are executed in order. To tell them apart, suffix the type with a digit (sharenetwork_smb1, sharenetwork_smb2…) — the digit is ignored by Recalbox, it is only there for you.
| Target | Mounted folder |
|---|---|
SHARE |
/recalbox/share (the whole share) |
ROMS |
/recalbox/share/roms |
SAVES |
/recalbox/share/saves |
BIOS |
/recalbox/share/bios |
MUSIC |
/recalbox/share/music |
OVERLAYS |
/recalbox/share/overlays |
SCREENSHOTS |
/recalbox/share/screenshots |
SHADERS |
/recalbox/share/shaders |
SCRIPTS |
/recalbox/share/userscripts |
THEMES |
/recalbox/share/themes |
ROMS0 to ROMS3 |
/recalbox/share/externals/network0 to network3 (extra roms, on top of the ones already present) |
The
ROMS0toROMS3targets are handy to add a remote library without replacing your local roms: Recalbox merges the content of theexternalsfolders with the share.
sharedevice=NETWORK
sharewait=30
sharenetwork_smb1=SHARE@192.168.1.10:recalbox:username=recalbox,password=mypassword,vers=3.0
sharedevice=NETWORK
sharewait=30
sharenetwork_smb1=ROMS@192.168.1.10:recalbox/roms:username=recalbox,password=mypassword,vers=3.0
sharenetwork_smb2=SAVES@192.168.1.10:recalbox/saves:username=recalbox,password=mypassword,vers=3.0
sharenetwork_smb3=BIOS@192.168.1.10:recalbox/bios:username=recalbox,password=mypassword,vers=3.0
sharedevice=NETWORK
sharewait=30
sharenetwork_nfs1=ROMS@192.168.1.10:/volume1/recalbox/roms
sharenetwork_nfs2=SAVES@192.168.1.10:/volume1/recalbox/saves
sharenetwork_smb1=SHARE@192.168.1.10:recalbox:guest,vers=3.0
If your case does not fit any of the patterns above, you can give the command to run directly:
sharenetwork_cmd1=mount -o port=2049,nolock,proto=tcp 192.168.1.10:/volume1/recalbox /recalbox/share
With SMB version 2 or above, specify the version to use in the options with vers=. In practice, use vers=3.0: it is the safe and universally supported version today.
vers= |
Supported from |
|---|---|
1.0 |
Windows XP / Server 2003 |
2.0 |
Windows Vista SP1 / Server 2008 |
2.1 |
Windows 7 / Server 2008 R2 |
3.0 |
Windows 8 / Server 2012 |
3.1.1 |
Windows 10 / Server 2016 |
Do not use SMB v1. That protocol is obsolete, insecure, disabled by default on recent systems, and it crashes some devices (Freebox routers among them). Disable it on your Windows PCs as well.
Reboot the Recalbox: it takes slightly longer to start, the time for the mounts to be established. If your games show up, everything is in place.
If it fails, connect over SSH and look at the mount log:
cat /tmp/mountNetwork.log
That file contains every mount command actually executed and its result — it is the starting point of any troubleshooting.
The most common causes of failure: a typo in the shared folder name (mind capitals and spaces, which are best avoided), a wrong username or password, an incompatible vers=, or a NAS still asleep at boot time (increase sharewait in that case).
Need help? Join the Recalbox Discord with the content of your
recalbox-boot.confand ofmountNetwork.log.