Guide: Moonlight on Retro Handhelds

Last updated: 23SEP2021

Moonlight is a game streaming tool designed to allow you to stream your screen (and games) from a PC to a connected device. This means you can stream games that wouldn’t normally run on your device, such as GameCube, PS2, PC games, and so on. This is an excellent option if you want to play a few games while in bed, or on the couch, or maybe at the dinner table.

For this guide, we will focus on Moonlight support for ArkOS and RetroOZ firmwares on the following handheld devices:

Anbernic RG351P (ArkOS final) — requires WiFi dongle
Anbernic RG351M (ArkOS final)
Anbernic RG351V (ArkOS)
PowKiddy RGB10 (ArkOS) — requires WiFi dongle
PowKiddy RGB10 Max (RetroOZ) — requires WiFi dongle for 5GHz
GameForce Chi (ArkOS)
RK2020 (ArkOS) — requires WiFi dongle
ODROID Go Advance (ArkOS) — may require WiFi dongle
ODROID Go Super (RetroOZ) — requires WiFi dongle

Locating the Moonlight app

Moonlight will be located in different places depending on your firmware.

If using ArkOS on currently supported devices (Anbernic RG351V, GameForce Chi, PowKiddy RGB10, RK2020, OGA), you can install Moonlight as a port via the PortMaster tool found in the ArkOS OPTIONS menu — just be sure to update to the latest version of ArkOS so that PortMaster will appear. Once installed, Moonlight will be in the Ports section.

If using ArkOS on the RG351P or RG351M, you will need to manually install PortMaster (more info here).

If using RetroOZ on the RGB10 Max or ODROID Go Super, you can find Moonlight as its own section in the main menu. If it is not displaying, go into Main Menu > UI Settings > Visible Systems and make sure it is checked. Make sure that you are running RetroOZ v0.50 or higher (v0.51b or higher is preferred).

If using The Retro Arena, you can find Moonlight as its own section in the main menu. Be sure to check the connection requirements specific to TheRA in the section below.

At this time, 351ELEC can boot into the Moonlight port provided by PortMaster or the now-outdated AnberPorts, but controls are not working and so it is dead on arrival until an update comes.

Connecting via Moonlight (modern NVIDIA GPUs)

To get started, you will need a PC that supports the NVIDIA GeForce Experience app. For more information, you can check to see if your PC meets the system requirements. If your PC supports the app, download and install the app via the NVIDIA website (if it isn’t already on your PC).

ArkOS:

  • On your device, launch Moonlight from the Ports menu (ArkOS) and then select Settings > Pair.
  • You will see a screen asking for the name or IP address of your PC with the NVIDIA GeForce Experience app installed. Enter in your information, then press OK. Your device will display a four-digit PIN code.
  • On your PC, a pairing dialog box should appear. Enter the PIN code shown on your device and click the Connect button.
  • For more information, check out the ArkOS Wiki entry for Moonlight.

RetroOZ:

  • On your PC, launch the NVIDIA GeForce Experience app if it’s not already running.
  • On your device, navigate to the Moonlight section and select the Server – Pair with Server option. Your device should automatically connect to your PC and it will display a four-digit PIN code.
  • On your PC, a pairing dialog box should appear. Enter the PIN code shown on your device and click the Connect button.
  • For more information, check out the ArkOS Wiki entry for Moonlight.

Connecting via Sunshine (older or non-NVIDIA GPUs)

If you are using a non-Moonlight compatible PC (like with an older NVIDIA GPU or with an AMD GPU), you will need to use an app called Sunshine to create a connection with the handheld device. Note that this only works with Windows machines (or Linux if you’re using it).

The instructions are generally the same for both ArkOS and RetroOZ, other than the location of Moonlight and its settings on your device. For ArkOS, you will find it in your Ports section after you have installed it via PortMaster, and in RetroOZ it will be located in its own section in the Main Menu.

  • Head over to this GitHub repository and download the latest release of Sunshine.
  • Extract the file into a new folder. Inside, you will find a sunshine.exe file. Open that exe file, which will open a Command Prompt screen and some text.
  • Next, on your PC, on the bottom-right task bar you should see your network connection status (either ethernet or WiFi). Right-click on that icon and select “Open Network and Internet settings”. In the pop-up window, click on the “Properties” button and then scroll down until you find your IPv4 address (192.168.86.XX or something along those lines), and make note of that address.
  • On your Internet browser, type in https://192.168.86.XX:47990 but with your actual IP address instead of the placeholder here (the :47790 will remain the same). It will likely warn you that the connection is not private, just go ahead and override that warning.
  • It will ask you to set up a username and password upon first connection, make sure it’s something simple and memorable. It will refresh the page and ask you to log in with those same credentials. Once logged in, you will see a series of tabs.
  • On your device, open the Moonlight settings, and select “Pair with Server”. It will give you a four-digit PIN to use on the PC.
  • Back on your Internet browser, navigate to the PIN tab and enter the PIN displayed on your device. You should now be paired with your local server.
  • Still on your Internet browser, go to the Apps tab. Under the “Steambigpicture” app, change its name to simply “Steam”.
  • Back on the device, navigate to the Moonlight-Steam option and open it. You should now be booted into the Steam Big Picture.

Connecting with The Retro Arena

The Retro Arena requires manual configuration, and unfortunately the Moonlight port found within PortMaster doesn’t work so you can’t take advantage of its configuration wizard. Here’s how to set up the connection manually. Note that in my testing I was able to successfully pair and connect with my device using the Sunshine method, but I could not get my PC’s image to display on my screen (controls worked, though). The developer is aware of the issue and is looking into a fix. I tested with the ODROID Go Super/Advance build of The Retro Arena, but there are also builds for RG351P/M and RG351V if you want to try those, too.

If using Sunshine to connect to your device, complete the first five bullets in that section now before moving on. If running a NVIDIA GeForce Experience-capable PC, be sure to open that app before proceeding.

  • With your device connected to your home network, go into Options > Network Info and make note of your device’s IP address.
  • Next, on your PC, on the bottom-right task bar you should see your network connection status (either ethernet or WiFi). Right-click on that icon and select “Open Network and Internet settings”. In the pop-up window, click on the “Properties” button and then scroll down until you find your IPv4 address (192.168.86.XX or something along those lines), and make note of that address.
  • On your PC, open an FTP client like WinSCP and connect via SFTP to the device. The connection address will be the device’s IP address, and both the username and password will be “odroid” (lowercase).
  • Once connected, navigate to root/roms/Moonlight and open the Moonlight.sh file inside. This will open with a text editor; find the IP address (it will be 10.0.0.4 by default) and change it to your PC’s IP address. Save the file and exit out of WinSCP.
  • Still on your PC, open up Command Prompt and type in the following command line, with the “192.168.86.XX” being the IP address of your device:
ssh odroid@192.168.86.XX
  • When prompted for a password, type in “odroid” (lowercase). You should now be logged into your device via SSH.
  • Next, type in the following command, with the “192.168.86.XX” being the IP address of your PC:
moonlight pair 192.168.86.XX
  • The device will give you a four-digit PIN. If using a PC capable of the NVIDIA GeForce Experience app, you should get a pop-up asking to enter the pin, which you should do now. If using Sunshine, on your browser navigate to the PIN tab and enter the PIN displayed on your device. You should now be paired with your local server.
  • If on Sunshine, go to the Apps tab in your browser. Under the “Steambigpicture” app, change its name to simply “Steam”.

Now that you are paired, you should be able to open the Moonlight app on your device and Steam should launch.

Setting up RetroOZ apps

With RetroOZ you can create direct links to Games and Emulators outside of Steam.

  • Add the Game or Emulator to NVIDIA or the Sunshine web tool (Applications tab).
  • On the device, select “Server-LIst Applications” and check for your newly-added application (for example, an emulation frontend like BigBox).
  • Select “Server-Generate Application File” and a new link will be added to Moonlight Menu — for example, Moonlight-Big Box. These links can be removed from the menu in the same manner as deleting ROMs from your SD card.

Streaming tips and tricks

  • If running Moonlight on the RGB10 Max or ODROID Go Super with RetroOZ, I recommend using this TP-Link AC600 Nano USB WiFi dongle because it has 5GHz WiFi support. If using The Retro Arena for these same devices, I recommend using the ODROID 5GHz WiFi 5A or 5B dongle instead. These two devices are unique in that they support 5GHz WiFi, which will be much more stable than the 2.4GHz WiFi in the other devices. Note that even though the RGB10 Max has built-in WiFi, it’s only 2.4GHz; in order to use the 5GHz dongle, you should shut off the WiFi toggle on the device itself.
  • When connecting your device via a WiFi dongle, it is always best to insert the dongle BEFORE you turn on the device.
  • I recommend using Steam Big Picture for your interface, since it was designed to be used with a controller. If you’re looking to stream an emulator, go into Steam and click on the “Add a Game” option on the bottom-right of the client, then navigate to your emulator. Now you can launch the emulator from your Steam menu easily.
  • You can also add Google Stadia as a “game” in your Steam library. Watch the video above for instructions!
  • While running Steam, you can hold down the SELECT button for a few seconds and bring up a mouse mode which will allow you to more easily navigate your computer.
  • When streaming a game or emulation app to your device, I would recommend streaming it at its lowest resolution settings. It’ll still look great on the device’s small screen, and it will be a bit easier for the PC to send to the device.

Changelog

23SEP2021
– added RetroOZ apps section
– published guide

3 thoughts on “Guide: Moonlight on Retro Handhelds

  1. Hi, thanks for the guide!
    I have encountered a bit of a problem here:
    I’m using 351p and ArkOS, and everything seems fine until I boot on Steam Bigpicture. When I’m there, I cannot move around at all in my device (I can do it from my keyboard and it’ll be mirrored, but it works just for mirroring my screen, not for playing). I trying deactivating all controller related configuration on Steam BP, but it still appears as “no controller connected”.
    Could anyone tell me what I’m doing wrong?
    Thanks in advance!

    Like

      1. Okay, sorry again haha
        I was able to see what was my problem, I’ll leave you here the reply of u/CrudelyDrawnStickman, from Reddit:
        “I had the same problem. The solution is to go to the Sunshine GitHub page and you will find under the “optionally install” for Windows build Aug21 a file called ViGEmBus. This emulates the xbox360 controller when using sunshine.”
        And, like that, I can use Moonlight just fine. I hope this will useful to anyone out there!

        Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s