Moonlight is a program that can connect to Windows computers running the Nvidia GeForce Experience app to stream games from it. Moonlight works by detecting the Windows PC over LAN and using Nvidia’s game stream technology to make it work. Here’s how to use Moonlight to stream your favorite games on Linux.
Before we begin
Moonlight does not stream games from one Linux computer to another. Sadly, the Nvidia corporation has no interest in bringing this exciting technology to Linux users. Instead, if you want to make use of Moonlight, you must meet the following requirements.
- Have a PC running Windows with an Nvidia graphics card (of reasonable performance.)
- The latest Nvidia drivers installed on the Windows installation. Nvidia game streaming does not work with Intel or AMD GPUs.
- The GeForce Experience app must be installed on the Windows installation. Get the GeForce Experience app set up by clicking this link here.
- You must have a decent LAN network for both the Linux desktop or laptop and the Windows desktop or laptop.
If you meet these requirements, you will be able to enjoy the Nvidia game streaming technology on your Linux PC. If you don’t, consider trying out Steam’s in-home game streaming, or Google Stadia instead.
Installing the latest drivers on Linux
Even though the Moonlight app is not handling games on the local Linux PC, it is still essential to have the newest video drivers set up and installed. Otherwise, you may have some performance issues when decoding the remote game stream.
Thankfully, you do not need to have an Nvidia graphics card on the remote Linux PC to enjoy the game streams. Follow the installation instructions below to get the latest video drivers working on your computer.
On a Linux system with Intel hardware, you will likely not need to install any drivers. The reason for this is that Intel offers up open-source packages on 99% of Linux distributions. However, on Ubuntu, they do have a driver installer if you prefer to get them directly from the Intel Corporation.
In recent years, the AMD corporation has submitted some excellent drivers for Linux, all of which are open source. They’re included on nearly every Linux distribution, and they’re effortless to install. For information on how to get the latest AMD drivers, click here.
Nvidia has decent driver support for Linux. However, the open-source ones that are available are notoriously mediocre for heavy tasks. As such, you will likely need to set up the latest proprietary Nvidia drivers. For information on how to set up the Nvidia drivers for Linux, click here.
Setting up streaming
For the Moonlight app to be able to deliver streams, the streaming feature must be enabled on the Windows computer. To set up streaming, go to the remote Windows machine, and follow the step-by-step instructions below.
Step 1: Ensure that the GeForce Experience app is installed and set up on your Windows PC, as mentioned in the “Before we begin” section of this guide.
Step 2: Launch GeForce Experience and log in to the app. The app has login options for Google and a few other social networks.
Step 3: Locate the “Gear” icon in GeForce Experience and click on it to access settings for the app.
Step 4: Inside of the settings area in GeForce Experience, click on “Shield” to access the game streaming settings.
Step 5: In the “Shield” area of GeForce Experience, locate “Gamestream,” and click the slider next to it to enable streaming.
After enabling game streaming in GeForce Experience, click on the “Home” icon to go back to the main screen in the app. Settings should automatically apply.
When back at the home screen, setting up streaming is complete. Leave the Nvidia GeForce Experience open and the Windows PC running and move on to the next section of the guide.
Playing Nvidia streaming games with Moonlight
Streaming is set up on Windows. Now it is time to install the Moonlight app on the local Linux machine so that the streaming games can be accessed. To install the Moonlight app, open up a terminal window by pressing Ctrl + Alt + T or Ctrl + Shift + T on the keyboard.
With the terminal window open, use it to install the latest version of the Flatpak runtime. Or, follow this tutorial if you are having trouble getting it working.
After installing the latest Flatpak, use the commands below to install Moonlight on your Linux PC.
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub com.moonlight_stream.Moonlight
With Moonlight set up on your Linux PC, follow the step-by-step instructions below to learn how to stream games from Nvidia GeForce Experience on Windows.
Step 1: Open up Moonlight on your Linux PC. To do this, search in the “Games” section for “Moonlight.” Or, run the following command in a terminal.
flatpak run com.moonlight_stream.Moonlight
Step 2: Allow the Moonlight app to scan your network for the Windows computer running Nvidia GeForce experience. Keep in mind that this process may take a couple of minutes, depending on your network.
Step 3: Select the Windows PC in the Moonlight UI to access it remotely. It may take a second to connect, so be patient.
Step 4: Use the UI to select a game to stream, and click on it with the mouse to launch it.
When the game launches via Moonlight, grab your mouse and keyboard and enjoy the game!