The HTPieC build stopped at media playback. This post adds the arcade layer: the same Raspberry Pi that hosts your movies can also host RetroPie and serve classic games to any device on the home network. Couch co-op where one player is on the TV, another on a laptop, a third on a phone.
What you’ll need#
- Raspberry Pi: Preferably the same Pi you’ve configured as your HTPieC, but any Pi 3 or newer should work.
- MicroSD Card: With RetroPie installed.
- USB Controller(s): Optional, for local gaming.
- Home Network: Your Pi will act as a host, so make sure it’s connected.
Step 1: Install RetroPie#
If you haven’t already, download the RetroPie image from the official site. Flash it onto a dedicated microSD card using a tool like Raspberry Pi Imager or Balena Etcher.
If your HTPieC is already running Raspberry Pi OS, you can alternatively install RetroPie as a software package instead of using a separate image. Here’s how:
- Update your Pi OS by running:
sudo apt update && sudo apt upgrade -y - Install the RetroPie setup script:
sudo apt install git -y git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git cd RetroPie-Setup sudo ./retropie_setup.sh - From the setup menu, install the necessary emulators and dependencies.
Configure RetroPie#
- After installation, configure RetroPie by accessing its settings in the main menu.
- Set up your controller and basic configurations.
- Connect your Pi to your home network (either via Ethernet or Wi-Fi).
Step 2: Set up network sharing#
A key feature for our networked arcade is making the games accessible to other devices.
Enable Samba share#
RetroPie includes a Samba server out of the box. Here’s how to enable it:
- Go to the RetroPie configuration menu.
- Select Configure Samba Shares.
- Follow the prompts to enable file sharing.
Now, you can access the Pi’s roms folder from any device on your network to add or manage games. Connect using the following path in your file explorer:
\\<Your-Pi's-IP>\romsInstall RetroArch network play#
RetroArch, the backend for many emulators in RetroPie, supports network play. Here’s how to enable it:
- Open RetroPie Setup > Manage Packages > Manage Core Packages.
- Install RetroArch if it’s not already installed.
- Configure Network Play from the RetroArch menu. Enable it and set a unique port if needed.
Step 3: Accessing games on other devices#
Desktop/Laptop#
- Install RetroArch on your PC or Mac.
- Use the Netplay option to connect to your Raspberry Pi’s instance. You’ll need the Pi’s IP address and the configured port.
Smart TV or another Raspberry Pi#
- Many smart TVs support RetroArch or similar apps via app stores.
- For another Pi, install RetroPie and use the Netplay client.
Mobile devices#
RetroArch is also available for iOS and Android. Once installed, configure it to connect to your Pi as a Netplay host.
Step 4: Multiplayer over the network#
With Network Play enabled, friends in the next room or across the network can join the same game session.
Feasibility and limitations#
While network-based retro gaming is a fantastic way to expand your setup, it’s not without its challenges. Here are some considerations:
- Latency: Retro games were not designed with network play in mind. Input lag can be noticeable, especially in fast-paced games like fighters or platformers. For the best experience, ensure your Pi is connected via Ethernet.
- Bandwidth: While retro games don’t demand much data, poor Wi-Fi signals or network congestion can cause hiccups.
- Compatibility: Not all games support Netplay seamlessly. Some multiplayer games may require specific configurations or even ROM hacks to work properly over the network.
- Hardware Power: The Raspberry Pi, while impressive, may struggle with some demanding emulation tasks, particularly when handling additional network overhead.
Despite these limitations, many classics run smoothly and are well-suited for casual multiplayer sessions. Experiment with different games to find what works best for your setup.
Where to take it next#
Once the networked RetroPie is stable, two extensions worth exploring:
- Shaders: RetroArch supports CRT-style filters that make older games look closer to how they did on a CRT. Worth turning on for 80s and 90s titles.
- RetroAchievements: third-party achievement system that adds objectives to games that never had them. Works through RetroArch’s built-in client.
If you run into specific games that don’t co-op cleanly over Netplay, drop a note in the comments — game-specific configs are often the difference between “works” and “works well.”
