How SjslTech Builds an R36S Cloud Gaming Server With ZimaOS

Eva Wong is the Technical Writer and resident tinkerer at ZimaSpace. A lifelong geek with a passion for homelabs and open-source software, she specializes in translating complex technical concepts into accessible, hands-on guides. Eva believes that self-hosting should be fun, not intimidating. Through her tutorials, she empowers the community to demystify hardware setups, from building their first NAS to mastering Docker containers.

Thank you to SjslTech for exploring a creative way to give an R36S handheld access to a larger game library without storing every file on its microSD card. In his R36S cloud gaming server video, he compares three possible SMB hosts: a Windows PC, a ZimaBlade running ZimaOS, and a second R36S.

The phrase โ€œcloud gamingโ€ needs one important clarification here. This project is not streaming rendered video from a gaming PC through Sunshine or Moonlight. Instead, the server stores the game files, and the R36S accesses that library over the local network. Emulation still happens on the handheld itself.

That distinction makes the experiment especially relevant to retro gaming. Small game files can be read from a network share while the R36S keeps only its operating system and essential local data on the SD card. SjslTechโ€™s test asks a practical question: which device makes the most useful host for that shared library?

Watch before following the setup: The video demonstrates the complete workflow and the differences between the three server options. Network addresses, folder names, usernames, firmware paths, and available menu options will vary between installations.

Source and safety note: This article reorganizes the process shown by SjslTech and explains the networking decisions behind it. The author states that no money changed hands and that the opinions in the video are his own. Use only homebrew, public-domain games, or backups that you are legally permitted to store. Back up the R36S SD card before changing mounts, scripts, or game folders.

R36S retro handheld beside a ZimaBlade used as a ZimaOS SMB game server

SjslTech places the R36S beside the compact ZimaBlade that will host a network-accessible game library.

What SjslTechโ€™s R36S Cloud Gaming Server Actually Does

The project separates storage from emulation. The server exposes a game directory through Server Message Block, or SMB, while the handheld mounts that remote directory at /roms. EmulationStation then reads the network folder as though it were the normal local game library.

SjslTech created an open-source R36S Easyroms SMB Manager to make switching between storage sources easier. The script supports four server profiles. Each profile can contain a display name, server IP address, SMB share name, password setting, username, and password.

When a profile is selected, the utility:

  1. Checks whether the CIFS mounting tools are available and attempts to install cifs-utils when required.
  2. Disconnects the existing mount from /roms.
  3. Mounts the selected SMB 3.0 share at /roms.
  4. Restarts EmulationStation so the network library appears in the interface.

The menu also includes a disconnect option that unmounts the network share, restores the normal local mount configuration, and restarts EmulationStation. This makes the project reversible: the handheld can return to games stored on its SD card when the server is unavailable.

What You Need Before Starting

SjslTechโ€™s workflow depends more on network and folder preparation than on high-end server hardware. A practical setup requires:

  • An R36S running a compatible system layout with EmulationStation and a /roms mount point
  • A working Wi-Fi connection on the R36S
  • A Windows PC, ZimaOS server, Linux server, NAS, or compatible handheld capable of sharing a folder through SMB
  • A game-library folder organized in the structure expected by the handheld
  • The serverโ€™s local IP address, SMB share name, and any required credentials
  • A complete backup of the handheldโ€™s current SD card

The utility is built around SjslTechโ€™s dArkOS/Easyroms workflow. Users of a different R36S firmware should confirm its folder structure, startup behavior, CIFS support, and EmulationStation configuration before applying the same script.

Why ZimaBlade Fits This Kind of Retro Game Library

The server shown throughout the video is a ZimaBlade x86 single-board server with 16GB of memory. Its role is storage and file serving, not game rendering. That means the project benefits from the characteristics of a compact home server: low-power operation, Ethernet connectivity, direct storage expansion, and the ability to remain available without leaving a desktop PC running.

Native SATA connectivity also allows a larger SSD or hard drive to hold the library. The game files no longer need to fit on every handheldโ€™s SD card, and multiple compatible clients can point to the same central folder.

-47% OFF

Option 1: Share the R36S Game Library From Windows

The first server path uses a Windows computer. It is the most familiar starting point for users who already manage their game backups on a PC.

Step 1: Prepare the Game Folder

Create or copy the game-library directory onto a drive with enough free space. Preserve the folders and file names expected by the R36S front end. Moving a random collection of files into one flat directory can prevent EmulationStation from associating games with the correct systems.

Step 2: Enable Windows Folder Sharing

Share the library folder through Windows file-sharing settings. Record the computerโ€™s local IP address and the exact network share name. If the share requires authentication, use a dedicated account with access only to the game folder instead of an administrator account.

Step 3: Add the Windows Share to the R36S Utility

Configure one of the scriptโ€™s shortcut slots using the required format:

SHORTCUT_NAME|SERVER_IP|SHARE_PATH|HAS_PASSWORD|USER|PASS

For a guest share, the final username and password fields remain empty. For an authenticated share, the password setting is changed to yes and the credentials are supplied. The IP address and share name must match the Windows configuration exactly.

Step 4: Mount the Share and Refresh EmulationStation

Launch the SMB Manager on the R36S and select the Windows profile. A successful connection mounts the Windows folder at /roms and restarts EmulationStation. The systems and games stored on the PC should then populate the handheld interface.

Windows is convenient for an initial test, but it has a practical limitation: the PC must remain powered on, awake, connected to the network, and reachable at the configured address whenever the R36S needs the library.

Option 2: Use ZimaOS as an Always-On R36S Game Server

At 9:17, SjslTech moves the same idea to ZimaOS. This is the more server-oriented part of the experiment because the game library can remain available from a compact system without tying access to a general-purpose Windows desktop.

ZimaOS dashboard on ZimaBlade while configuring an SMB library for R36S games

The ZimaOS dashboard provides browser-based access to storage, files, networking, and server settings.

Step 1: Open the ZimaOS Dashboard

Connect the ZimaBlade to the home network and open its ZimaOS address from another computer. In SjslTechโ€™s demonstration, the dashboard is reached through a local 192.168.1.x address. Your server will normally receive a different address from the router.

If the address changes later, the R36S profile will stop finding the share. A DHCP reservation on the router is therefore preferable to repeatedly editing every handheld configuration.

Step 2: Create and Populate the Shared Library

Use ZimaOS file management to create a dedicated game-library folder on the selected storage device. Copy the legally obtained game backups into the expected system directories and confirm that the server can see the complete folder structure before configuring the handheld.

Users who are new to the interface can review the related beginner-friendly ZimaOS home server guide for a broader explanation of browser-based storage and application management.

Step 3: Expose the Folder Through SMB

Enable LAN sharing for the game folder and note the resulting SMB share name. Prefer an authenticated, limited-access account. Guest access can simplify a temporary test, but an unrestricted writable share is a poor default on a network used by other people or untrusted devices.

Step 4: Configure the ZimaOS Profile on the R36S

Add the ZimaBladeโ€™s local IP address, share name, and credentials to another shortcut slot in the SMB Manager. Because the utility supports several profiles, the Windows and ZimaOS definitions can coexist. The handheld can switch between them without rebuilding the configuration each time.

Step 5: Test a Game From the Network Library

Select the ZimaOS profile, allow the script to restart EmulationStation, and launch a lightweight game. SjslTechโ€™s test shows the R36S loading and playing a title while the library is hosted elsewhere on the network.

R36S plays a retro game from a network library hosted through ZimaOS

The handheld performs the emulation locally while reading the game file from the ZimaOS SMB share.

This arrangement should not be confused with running the emulator on ZimaBlade. ZimaOS is serving files; the R36S CPU and emulator still determine compatibility, frame rate, controls, and rendering quality.

Option 3: Turn a Second R36S Into the SMB Host

The final experiment removes both the Windows PC and dedicated home server. SjslTech configures another R36S to make its own game storage reachable over the network, then connects the first handheld to it.

This is the most unconventional option. It demonstrates that an inexpensive Linux handheld can take on a small network role, but it is less suitable as permanent infrastructure. The host R36S must remain powered, connected to Wi-Fi, and available whenever the client wants to use its library. Its storage, wireless connection, battery behavior, and thermal design are also less convenient than those of a dedicated server.

Two R36S handhelds display separate LAN addresses beside a ZimaBlade server

Two R36S handhelds appear on the same LAN with different IP addresses, illustrating the multi-device network test.

The second-handheld approach is best understood as a proof of concept or short-term sharing method. It can be useful for experimentation, but ZimaOS offers clearer storage management and a more natural always-on role.

Windows vs ZimaOS vs Another R36S

SMB Host Main Advantage Main Limitation Best Fit
Windows PC Familiar folder-sharing workflow and easy file management The PC must remain awake and reachable Initial testing and occasional use
ZimaOS on ZimaBlade Dedicated, expandable and browser-managed storage Requires a separate server and storage setup Regular home use and centralized libraries
Second R36S Demonstrates device-to-device sharing without a conventional server Limited storage, power management and wireless reliability Experiments and temporary sharing

Important Network, Security and Reliability Limits

A successful demonstration does not mean every game will work equally well over Wi-Fi. Small cartridge-era files are much more suitable than disc images that perform frequent or sustained reads. Results can change with signal strength, router congestion, server storage speed, firmware, emulator behavior, and the number of active clients.

  • Keep SMB on the trusted LAN. Do not forward SMB ports from the router to the public internet.
  • Use a reserved server address. A changing IP address will break the saved shortcut.
  • Avoid administrator credentials. Use a restricted account with access only to the required folder.
  • Protect credentials. The utilityโ€™s profile format stores usernames and passwords directly in the shell script, so anyone who can read the file can potentially read those credentials.
  • Back up saves separately. Centralizing game files does not automatically back up save data, configuration files, or the server disk.
  • Keep a local fallback. Retain essential games on the SD card for times when the network or server is unavailable.

Troubleshooting an R36S SMB Mount

If the network library does not appear, check the same three items surfaced by SjslTechโ€™s utility:

  1. Confirm that the configured server IP address is active and reachable from the same network.
  2. Confirm that the SMB share name is spelled exactly as it appears on the server.
  3. Confirm that guest access or the supplied username and password match the server permissions.

Also verify that the R36S has internet access during the first launch if the script needs to install cifs-utils. If a mount succeeds but the library looks incomplete, inspect the folder layout and restart EmulationStation again. To return to the SD card, use the utilityโ€™s disconnect option rather than removing storage or powering off during an active mount.

A Small Home Server Makes the R36S Library More Flexible

SjslTechโ€™s experiment is valuable because it reframes a storage constraint as a networking project. The R36S does not need to hold every game locally if it can mount a compatible SMB library from another system.

Windows is the quickest familiar test. A second R36S proves how flexible inexpensive Linux hardware can be. The ZimaOS setup, however, is the most natural long-term architecture shown in the video: ZimaBlade handles centralized storage and network availability, while each handheld remains responsible for emulation.

Watch SjslTechโ€™s complete R36S server comparison, and review his first Cloud Powered R36S video for the client-side background to this project.

If you are building a similar retro gaming library, troubleshooting an SMB share, or experimenting with ZimaOS, join the ZimaSpace community to compare setups and share what worked on your hardware.

Zima Campaign Hub

More to Read

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.