The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Use the Raspberry Pi as the cabinet-side streaming client and let a separate Windows or Linux PC run each DOS game in its emulator or launcher. Steam Link and Moonlight send the host PC’s video and audio to the Pi while returning joystick and button input. This approach gives you a full-size arcade interface without asking the Pi to emulate every DOS title itself.
For the simplest Steam-centered setup, install Steam Link on Raspberry Pi OS, pair it with the host over Ethernet, and launch the DOS game through Steam or a non-Steam shortcut. For a more general desktop-and-game streaming workflow, use Moonlight on a Raspberry Pi 4 with a compatible streaming host on the PC. The host computer still does the game rendering in both designs.
The streaming architecture
A streamed DOS cabinet has three jobs divided between two computers:
- Host PC: Runs Windows or Linux, the DOS emulator or game launcher, and the game itself. It captures the rendered picture and game audio, encodes them, and receives controller events.
- Raspberry Pi: Runs Steam Link or Moonlight, decodes the stream, outputs video and audio to the arcade display, and sends encoder input back to the host.
- Network: Carries the low-latency video, audio, and input traffic. A wired local connection is the preferred baseline.
The Pi is therefore not a replacement for a gaming PC in this design. It is a quiet, compact endpoint mounted inside the cabinet. The host can sit elsewhere on the same home network, and you can change games without opening the cabinet.
#1 Best Overall
- Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM)
- Includes Pre-Loaded 32GB EVO+ Micro SD Card (Class 10), USB MicroSD Card Reader
- CanaKit Premium High-Gloss Raspberry Pi 4 Case with Integrated Fan Mount, CanaKit Low Noise Bearing System Fan
- CanaKit 3.5A USB-C Raspberry Pi 4 Power Supply (US Plug) with Noise Filter, Set of Heat Sinks, Display Cable - 6 foot (Supports up to 4K60p)
- CanaKit USB-C PiSwitch (On/Off Power Switch for Raspberry Pi 4)
Valve describes its Raspberry Pi application this way: “The App uses the same streaming technology as Valve’s Steam Link, allowing you to play your favorite games and even spectate VR games right from your Raspberry Pi.” The same principle applies when the game being launched is a DOS title exposed through Steam or through a host-side launcher.
Hardware and software checklist
| Part | Requirement | Purpose and notes |
|---|---|---|
| Raspberry Pi | Pi 4 Model B for Moonlight; Pi 3 or newer for Steam Link | The Pi 4 is the officially listed Raspberry Pi target for Moonlight. Valve documents Raspberry Pi 3 or newer support for Steam Link. |
| Power supply | Officially supported supply for the Pi model | Stable power prevents decoder resets, USB disconnects, and unexplained stream drops. |
| Boot storage | Bootable microSD card with Raspberry Pi OS or the supported client environment | Install the streaming client and retain its pairing and controller settings. |
| Display connection | HDMI or the appropriate micro-HDMI cable | Connects the Pi to the arcade monitor or television. Raspberry Pi models with HDMI support can carry audio over HDMI. |
| Network connection | Ethernet cable where possible; USB-to-Ethernet if the board lacks a usable Ethernet port | Provides the most predictable latency and avoids wireless interference inside a cabinet. |
| Arcade controls | Joystick and buttons connected through an encoder that appears to the Pi as a keyboard or gamepad | The client and host must both recognize the resulting keys or controller buttons. |
| Host computer | Windows or Linux PC capable of running the DOS game, emulator or launcher, and selected streaming host software | All game execution and host-side rendering occur here. |
Allow room for ventilation and access to the Pi’s power, display, network, and USB connections during initial setup. Final cable routing can wait until you have paired the client and verified every control.
Steam Link or Moonlight?
Both clients can put a PC game on the cabinet display, but they suit different libraries and workflows. Choose the one that matches how you intend to launch DOS software rather than assuming the Pi will run the game locally.
Free tools Windows power users keep installed
One-click scans. No signup required.
| Decision point | Steam Link | Moonlight |
|---|---|---|
| Best fit | A Steam-centered library, including DOS games added as non-Steam shortcuts | A general host-desktop or game-streaming workflow where you want to select the host desktop or launcher |
| Raspberry Pi support documented in the supplied guidance | Raspberry Pi 3 or newer | Official Raspberry Pi 4 client |
| Pi installation detail | Raspberry Pi OS package: sudo apt update, then sudo apt install steamlink |
Use the official Raspberry Pi 4 client in the supported distribution; the cited documentation does not provide a single installation command |
| Pairing model | Sign in to Steam on the host, then pair the Pi and host in the Steam Link client | Pair on the home network, commonly by entering the host IP, before attempting any Internet connection |
| Host selection | Steam library or a non-Steam shortcut the host can launch | Host desktop or game launcher, depending on the host software configuration |
| Video controls documented in the cited material | Specific resolution and frame-rate controls are not stated in the Valve guidance used here | Resolution, bitrate, and frame rate are configurable; a Raspberry Pi Magazine example starts at 720p/60fps and reports trying 30fps on its network |
| Network advice | Valve recommends wired networking; 5 GHz Wi-Fi may work but is not recommended on the Raspberry Pi | Moonlight documentation recommends completing pairing on the home network before testing remote streaming |
Steam Link is usually the shorter path when your games already live in Steam or can be launched reliably as non-Steam shortcuts. Moonlight is attractive when the cabinet should expose a broader host desktop or when you want explicit bitrate and frame-rate controls. Neither choice removes the need for a capable host PC.
Rank #2
- Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
- 1GB, 2GB, 4GB or 8GB LPDDR4-3200 SDRAM (depending on model)
- 2.4 GHz and 5.0 GHz IEEE 802.11ac wireless, Bluetooth 5.0, BLE Gigabit Ethernet
- 2 USB 3.0 ports; 2 USB 2.0 ports.
- Raspberry Pi standard 40 pin GPIO header (fully backwards compatible with previous boards)
Option A: Set up Steam Link
1. Prepare Raspberry Pi OS
- Boot the Pi from its prepared microSD card and connect it to the cabinet display.
- Open a terminal and refresh the package index with
sudo apt update. - Install the client with
sudo apt install steamlink. - Start Steam Link from the Games menu, or run
steamlinkin the terminal.
Do the first pairing with the Pi and host on the same local network. Keep the Pi accessible so you can see pairing prompts and test the arcade controls before mounting it permanently.
2. Prepare the host PC
- Install and open Steam on the Windows or Linux host.
- Sign in to the Steam account that contains the game or that will hold the shortcut.
- Confirm that the DOS title launches correctly on the host itself, including its emulator configuration, sound, and controller or keyboard settings.
- For a title outside the Steam catalog, add a non-Steam shortcut that points to the launcher or emulator command the host can run. Test that shortcut from Steam before involving the cabinet.
Testing locally separates game-launch problems from streaming problems. If the shortcut fails on the host, Steam Link cannot repair the emulator path, working directory, or game configuration.
3. Pair the Pi and host
- With Steam running on the host, open Steam Link on the Pi and let it discover computers on the local network.
- Select the host PC shown by the client.
- Enter the pairing code displayed on the Pi into the Steam prompt on the host.
- Accept the connection and run the client’s connection test if offered.
Use Ethernet for both ends during this stage. Valve’s guidance is explicit: “A wired network (5 GHz wireless may work, but is not recommended on the Raspberry Pi).” Wireless can be evaluated later, after you have a known-good wired baseline.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
4. Launch and verify the DOS game
- From the Steam Link library, select the DOS game or the non-Steam shortcut.
- Wait for the host to open the emulator or launcher and display the game.
- Press every cabinet direction and button while watching the host game respond.
- Exit the game through its normal menu first; use the Steam Link interface to disconnect only after the game has closed.
If the host opens the emulator but not the game, fix the shortcut or emulator command on the PC. If the game runs on the host but the Pi shows no picture or sound, treat that as a client, display, or network issue rather than a DOS compatibility issue.
Rank #3
- Broadcom BCM2711, quad-core Cortex-A72 (ARM v8) 64-bit SoC @ 1. 5GHz
- 2. 4 GHz and 5. 0 GHz IEEE 802. 11b/g/n/ac wireless LAN, Bluetooth 5. 0, BLE
- 2 × USB 3. 0 ports, 2 x USB 2. 0 Ports
- 2 × micro HDMI ports supproting up to 4Kp60 video resolution
- Micro SD card slot for loading operating system and data storage
Option B: Set up Moonlight
1. Install the Raspberry Pi 4 client
Moonlight’s official project documentation lists Raspberry Pi 4 among its supported clients. Install the client using the supported Raspberry Pi distribution method for your image, then connect the Pi to the display, network, and controls. The cited material does not specify one universal package command, so avoid copying a command intended for a different image or release.
2. Install and configure a compatible host
The Windows or Linux PC needs streaming host software that Moonlight can pair with and a launcher or desktop session that can start the DOS emulator. Open the game on the host first and verify its keyboard, sound, and display settings. Keep the host and Pi on the same home network while pairing.
3. Pair by host IP on the local network
- Open Moonlight on the Pi and choose the option to add or pair a computer.
- Enter the host PC’s local IP address when automatic discovery does not show it.
- Confirm the pairing code on the host.
- Select the paired host desktop or game launcher from Moonlight.
- Start the DOS emulator or game and check the cabinet input.
Moonlight documentation recommends proving this local pairing before attempting Internet streaming. Remote access introduces additional routing, firewall, and latency variables that can obscure a basic cabinet setup.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware match4. Set a conservative first stream
Moonlight exposes resolution, bitrate, and frame-rate settings. A Raspberry Pi Magazine tutorial begins with 720p at 60 frames per second and reports trying 30 frames per second on its network. Those are setup examples, not universal performance guarantees. Start with the lower-demand configuration that gives a stable picture, then increase one setting at a time while observing the game and controls.
Rank #4
- Includes Raspberry Pi 4 4GB Model B with 1.5GHz 64-bit quad-core CPU (4GB RAM)
- CanaKit 3.5A USB-C Power Supply with Noise Filter (UL Listed) specially designed for the Raspberry Pi 4 (5-foot cable)
- CanaKit USB-C PiSwitch (On/Off Power Switch)
- Set of 3 Aluminum Heat Sinks for the Raspberry Pi 4
Connect and map the arcade controls
An arcade joystick does not automatically become a DOS game’s expected key layout. The encoder determines whether the Pi presents the controls as keyboard keys, a gamepad, or another input device, and the host game must be mapped to those inputs.
Wire the encoder before final mounting
- Connect the joystick directions and buttons to the encoder according to its labeling.
- Connect the encoder to the Pi through USB.
- Confirm that the Pi detects the encoder as a keyboard or gamepad before opening the streaming client.
- Use the client’s controller or keyboard test to verify each direction, start button, and action button.
Map the host game
- Start the DOS game on the host, either directly or through the selected launcher.
- Open the game’s input configuration and assign the keys or gamepad buttons produced by the encoder.
- Test simultaneous or rapid inputs, such as moving and pressing an action button together.
- Save the configuration in the emulator or game profile so it is applied whenever the shortcut launches.
Check the host’s response rather than relying only on a Pi-side key tester. A control can be visible to the client yet mapped to the wrong host key, duplicated, or ignored by the game’s input mode.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Network, display, and audio tuning
Prefer Ethernet
Run Ethernet from the host to the router or switch and from the network equipment to the Pi whenever practical. If a particular board or cabinet layout lacks a convenient Ethernet port, a compatible USB-to-Ethernet adapter is an option. Wired links remove much of the radio interference and signal variation that produce inconsistent input timing.
5 GHz Wi-Fi may work in a favorable environment, but Valve specifically says it is not recommended on the Raspberry Pi for Steam Link. Treat Wi-Fi as a measured alternative, not the default. Keep the host and Pi on the same local network while you establish the system.
Best Value
- KEEP YOUR PROCESSOR COOL: The busier a processor gets the more it heats up, leading to sub-optimal performance. To prevent this common issue, this kit includes an aluminum alloy case with a pre-installed fan. The aluminum alloy actively draws the heat from the pi board, while the fan further cools the board and case. These cooling mechanisms will help push the limits of your processor and increase its flexibility.
- SIZABLE RAM: This Raspberry Pi 4 comes equipped with 4GB of RAM, which is the same amount of RAM or more RAM than many mainstream laptops contain. With 4GB of RAM, your processor will be capable of running retro gaming setups and common computer applications, media players, and much more!
- SIMPLE TO TURN ON & OFF: This kit includes a USB-C Raspberry Pi 4 compatible power supply with an easy-to-use on/off switch that was designed specifically for the Raspberry Pi 4 model to streamline processing.
- IMPROVEMENTS FROM PREVIOUS MODELS: This latest model of the Raspberry Pi 4 offers groundbreaking increases in processor speed, multimedia performance, connectivity, memory, and more! The desktop performance of this model is comparable to entry-level x86 PC systems.
- VERSATILE USE: The Raspberry Pi may have a small processor, but it is a highly adaptable little computer that can replace your desktop PC. Its functions range from practical to nostalgic since it can power an ad-blocking server as easily as it can power an outmoded gaming setup. Other uses include but are not limited to printing from non-wireless printers, playing media, making time-lapse videos, and building multiplayer network game servers and motion-capture security systems.
Choose a resolution and frame rate deliberately
The arcade display’s native resolution is not automatically the best stream setting. A lower resolution can reduce decoding and network load; a lower frame rate can help when the connection cannot sustain the initial setting. With Moonlight, change one of resolution, bitrate, or frame rate at a time and replay the same game scene so you can identify which adjustment helped. The 720p/60fps and 30fps examples cited above describe one tutorial’s configuration attempts, not a promised result for every cabinet.
Route audio through HDMI
When the Pi and display support HDMI audio, the cabinet monitor or its connected amplifier can receive the stream’s sound through the HDMI or micro-HDMI connection. Select the intended output on the Pi and display, then test a game with music and sound effects. Silent video with working controls usually points to an output selection or display-audio setting rather than a DOS emulator failure.
Troubleshooting by symptom
The Pi cannot find the host
- Confirm that the host is powered on, the streaming application is running, and Steam is signed in when using Steam Link.
- Verify that the Pi and host are connected to the same home network rather than isolated guest networks.
- Connect both devices by Ethernet and retry discovery.
- For Moonlight, enter the host’s local IP address manually and complete pairing on the LAN before testing any remote route.
Pairing succeeds but the game will not start
- Launch the DOS title directly on the host to verify the emulator, files, sound, and controls.
- For Steam Link, open the non-Steam shortcut on the host and correct its executable, arguments, or working directory if it fails.
- For Moonlight, select the host desktop or launcher first, then start the emulator from that session.
- Check that the host account has permission to run the game and that no local confirmation dialog is hidden behind another window.
The picture stutters or shows delayed input
- Test Ethernet before changing game settings.
- Keep the host and Pi on the same local network during diagnosis.
- Lower the stream resolution or frame rate; with Moonlight, reduce bitrate as well.
- Remove unnecessary wireless hops and avoid testing through an overloaded access point.
- Repeat the test after each change so you know which adjustment affected stability.
Buttons work in the client but not in the DOS game
- Check whether the encoder is presenting as a keyboard or gamepad.
- Map the host game to the exact keys or buttons generated by that device.
- Test every direction and button on the host, including combinations.
- Save the emulator or game profile and relaunch through the same shortcut used by the cabinet.
The cabinet has video but no sound
- Confirm that the display and Pi are connected by an HDMI-capable cable.
- Check the Pi’s selected audio output and the display’s volume or mute state.
- Test another game or the host desktop to distinguish a display-output problem from a game-specific sound configuration.
The stream works on Wi-Fi but drops during play
Return to the wired baseline. If Ethernet is stable, the wireless path is the variable; improve access-point placement, reduce competing traffic, or keep the cabinet wired. Do not treat a brief successful menu test as proof that a full game session will remain stable.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsA reliable first-session checklist
- Install the Pi operating system, supported streaming client, and official power supply.
- Connect the display, Ethernet, and arcade encoder while the Pi is still accessible.
- Install or configure the DOS emulator and game on the host PC.
- Launch the game locally on the host and save its input profile.
- Pair Steam Link or Moonlight over the home network.
- Verify video, audio, and every cabinet control before closing the cabinet.
- Start with a conservative stream setting, then tune resolution, bitrate, or frame rate only if the wired baseline is stable.
- Record the working host shortcut, encoder mapping, and client settings so the cabinet can be rebuilt or recovered later.
Once this sequence works, the cabinet can be treated like an appliance: power the Pi and host, choose the game from the client, and let the host perform the DOS emulation while the Pi handles the arcade-side display and controls.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

