Play Games From Your Nvidia GameStream-Enabled PC On Your Linux Desktop With Moonlight

Moonlight (or Moonlight Game Streaming) is an open source client implementation of Nvidia's GameStream that allows you to stream your games and applications from a GameStream-compatible PC to another device, be it another Windows computer, a macOS or Linux desktop, Chrome OS, or an Android or iOS device.

Stream doesn't mean you only get to look at the game. Moonlight lets you actually play games that run on a Windows machine from another device running Linux, Windows, macOS, Chrome OS, Android or iOS, either on your network or over the Internet. Mouse, keyboard, and controller input is sent from the Moonlight client app to the GameStream-compatible computer.

Playing No Man's Sky on Linux with Moonlight Qt
Playing No Man's Sky on Linux streamed from a Windows desktop using the Moonlight Qt application (as a side note, the 3 games I had installed all work on Linux with Wine and DXVK, this is just for showcase)

Moonlight allows you to stream your collection of games from your GameStream-compatible PC to any supported device and play them remotely. Moonlight is perfect for gameplay on the go without sacrificing the graphics quality of your gaming computer.

Moonlight Qt is a new desktop application that replaces the old Java-based Moonlight PC client, which was discontinued a while back. The application is currently in alpha, meaning it's not feature complete and it may contain bugs. It's constantly updated too, with 3 releases being made available in the past 2 weeks, which brought important changes, like native resolution support, VDPAU decoding for Linux, and HEVC software decoding support, among others.

Moonlight Qt (the desktop application/client for Linux, Windows and Mac) features include:

  • Up to 120 FPS (requires a high refresh rate monitor)
  • Supports streaming at 720p, 1080p, 1440p, or 4K
  • Hardware accelerated video decoding on Windows, Mac and Linux
  • 5.1 surround sound audio
  • HEVC support for better image quality at reduced bandwidth
  • Gamepad support with SDL gamepad mappings

Moonlight Game Streaming Qt desktop app
Moonlight Qt connected to a GameStream-enabled Windows computer

Moonlight Qt settings

To use Moonlight, the Microsoft Windows PC needs a Nvidia GeForce GTX 600-series or newer GPU and the GeForce Experience (2.1.1 or newer) application installed. You'll also need to make sure the GameStream option is enabled in GeForce Experience. To do this, click the gear icon in the upper right-hand side of the GeForce Experience window and choose SHIELD from the left, then enable GAMESTREAM:

After pairing your GameStream-compatible computer with Moonlight, the application shows a list of applications available on your computer. You can add more applications to the list by using the GeForce Experience application.

You'll find a quick Moonlight guide on its wiki.

Download Moonlight

The download link above includes binaries for Windows, Mac, iOS, Android, and Chrome OS. The source is also available.

The easiest way to install Moonlight Qt on Linux is use the Flatpak package available on FlatHub. For this you need to setup Flatpak and add the Flathub repository if you haven't already, then install Moonlight from FlatHub using:

flatpak install flathub com.moonlight_stream.Moonlight

If you're using the proprietary Nvidia drivers and install Moonlight from Flatpak, you'll also need to install the Nvidia proprietary drivers from Flatpak, as explained here: How To Get Flatpak Apps And Games Built With OpenGL To Work With Proprietary Nvidia Graphics Drivers