Samba (network share)
Browse ROMs, themes and configs from Windows, macOS or Linux
Samba turns the console into a network share, so you can drag ROMs and themes across from your file manager without pulling the card out and without an SSH client.
It is off by default (samba.enabled=0).
Enable
In archr-launcher, open Settings › Network › Network services › File sharing (Samba).
That sets samba.enabled=1, creates the marker file /storage/.cache/services/smb.conf and starts three services:
smbd, the SMB file servernmbd, the NetBIOS name servicewsdd2, Windows discovery
The Samba switch controls all three, so Windows discovery follows the Samba setting: with Samba on, the console shows up under "Network" in Explorer.
Connect
Windows
In File Explorer, type into the address bar:
\\archrIf the name does not resolve, use the address directly:
\\archr.local
\\<device-ip>macOS
Finder → Go → Connect to Server (Cmd+K):
smb://archr.localLinux
Most file managers accept this in the location bar:
smb://archr.localOr mount one share from the terminal:
sudo mkdir /mnt/archr-roms
sudo mount -t cifs //archr.local/games-roms /mnt/archr-roms -o guest,uid=$(id -u),gid=$(id -g)archr is the default hostname (system.hostname), and .local works because Avahi is running.
What is shared
| Share | Path | What it holds |
|---|---|---|
games-roms | /storage/roms | ROMs, BIOS, save-states, screenshots |
games-internal | /storage/games-internal | Games installed on the internal card |
games-external | /storage/games-external | Games on a second card |
config | /storage/.config | Every application config (launcher themes are in archr-launcher/themes) |
logs | /var/log | System logs, handy when reporting a bug |
update | /var/cache/archr/update | Drop an update file here |
All six are read-write and open to guests: map to guest = Bad User with guest account = root, so anyone on the network who can reach the console can write to them. Keep it on your home network and leave it off elsewhere.
Changing the configuration
The file the server reads is /storage/.config/smb.conf. It is copied from /usr/config/smb.conf on first boot, /etc/samba/smb.conf is a symlink to it, and the boot script links it into /run/samba/smb.conf where smbd picks it up.
Edit it over SSH and add or change a share:
[games-roms]
path = /storage/roms
available = yes
browseable = yes
public = yes
writeable = yesTo require a password, set public = no in the share, add a user with smbpasswd -a <name>, and put valid users = <name> in the share block.
Apply the changes with:
systemctl restart nmbd smbdDuring gameplay
Samba stays up while you play. The services that get stopped on launch and restarted on exit are Syncthing, Tailscale, ZeroTier and the simple HTTP server, which compete with the emulator for CPU and card I/O.
Troubleshooting
The console does not appear under "Network" in Windows. Type \\archr.local in the address bar instead. Windows network discovery has to be on for the icon to appear, but the direct address works either way.
"The specified server cannot perform the requested operation". That is an SMB1 client. smb.conf sets no server min protocol, so Samba 4.21 applies its own default and SMB1 is not accepted. Update the client, or configure it for SMB2 or later.
Nothing happens after enabling the switch. Check the two services:
systemctl status smbd nmbdBoth refuse to start if /run/samba/smb.conf is missing, which is where a broken /storage/.config/smb.conf shows up.
Slow transfers over WiFi. Wi-Fi availability and bands depend on the board and the adapter. Boards without an internal radio need a compatible USB adapter, and some adapters support both 2.4 and 5 GHz. Check the link with iwctl station wlan0 show. Moving closer to the router usually helps more than any setting.