turn your nas into a retro gaming console: stream classic games to old phones
At a glance:
- Synology NAS users can leverage EmulatorJS to stream retro games to old phones via web browsers
- Project requires minimal setup: Docker container, game files stored on NAS share, and browser-equipped device
- iPhone 12 and Retroid Pocket 5 both serve as viable clients, with Bluetooth controllers enhancing gameplay
How the setup works
The core of this solution lies in EmulatorJS, an open-source emulator that runs within a Docker container on a Synology NAS. By hosting game ROMs on a network share and configuring the container with proper permissions, users can access a web-based interface through any device connected to the same network. The NAS handles all emulation processing, while the phone acts as a lightweight client displaying the game interface. This architecture eliminates the need for powerful hardware on the client device, as the heavy lifting occurs on the server-side NAS.
Hardware requirements and compatibility
The project was successfully tested on a Synology DS224+ NAS with x86 architecture and sufficient RAM to handle the emulation workload. While the author notes that even entry-level NAS models can manage older console generations, optimal performance requires at least 4GB of dedicated RAM for the Docker container. Compatibility extends to any device with a modern web browser, though the author specifically tested with an iPhone 12 and a Retroid Pocket 5 handheld. Bluetooth gamepads like the Xbox One controller can be paired for improved input, though touchscreen controls remain functional for simpler titles.
Step-by-step implementation
The implementation process begins with installing the Container Manager package through Synology's Package Center. Users then create a new Docker container using the latest EmulatorJS image, specifying the host's user and group IDs to ensure proper file permissions. A dedicated network share is created for storing game ROMs, which are then mounted within the container. The web interface becomes accessible via the NAS's IP address and configured ports, typically port 8080. The author emphasizes that this setup requires minimal technical expertise, with the initial configuration taking less than an hour for experienced users.
Cost comparison and advantages
This NAS-based solution proves significantly more cost-effective than dedicated retro gaming hardware. While a Retroid Pocket 5 costs approximately $150, the required investment for this project is limited to existing hardware: a NAS (starting at $200 for entry-level models) and an old smartphone (iPhone 12 available for under $100 used). The primary ongoing cost involves storage expansion for game libraries, with a 4TB NAS expansion unit priced around $80. Unlike portable handhelds, this setup allows for centralized game library management and simultaneous access across multiple devices.
Limitations and performance considerations
While functional for classic titles up to PlayStation 2, the author acknowledges performance limitations with more demanding systems. The iPhone 12's Safari browser showed noticeable lag when emulating Nintendo 64 games, though simpler systems like NES and SNES ran smoothly. The Retroid Pocket 5, with its dedicated ARM architecture, delivered better performance but required additional configuration for network streaming. The author recommends starting with 2D games and gradually testing more complex titles, noting that emulation accuracy improves with increased NAS resources.
Future expansion possibilities
This setup opens doors for additional home lab projects. The same Docker infrastructure can host media servers like Jellyfin or surveillance systems like Frigate, creating a comprehensive home server ecosystem. The author suggests exploring cloud sync options for game libraries using Nextcloud or Synology's C2, though this would require bandwidth considerations. Future iterations could incorporate machine learning-based upscaling for retro games, though this would demand significant processing power beyond current NAS capabilities.
EmulatorJS configuration tips
Key configuration steps include setting the correct user/group IDs via SSH to prevent file permission issues, configuring the web server to bind to 0.0.0.0 for network access, and adjusting the container's resource limits. The author recommends monitoring CPU usage through Synology's DSM interface, as emulation can max out single-core performance. For better stability, running the container in a dedicated VM with passthrough storage is suggested, though this requires advanced configuration.
Retro gaming ecosystem comparison
While dedicated handhelds like the Retroid Pocket 5 offer plug-and-play convenience, the NAS approach provides superior library management and multi-device access. Unlike cloud-based solutions such as Xbox Cloud Gaming, this local setup ensures complete control over game libraries and eliminates subscription fees. Compared to modern emulation platforms like Steam Link, the NAS solution offers better performance for older titles while maintaining lower hardware requirements.
FAQ
What is this article about?
What is this article about?
What is this article about?
More in the feed
Prepared by the editorial stack from public data and external sources.
Original article