Install Moonlight on Linux with Flatpak

Moonlight streaming from a Linux computer to a handheld client

Moonlight turns a Linux desktop, laptop, or handheld into a client for games and desktop apps running on another PC. Install the Moonlight Flatpak, connect it to a host running Sunshine, then tune the stream only after the first connection works.

Choose the Linux install method

Flatpak is the clean default because the Flathub package follows Moonlight releases and works across distributions that support Flatpak. An AppImage is useful when you want one portable file instead of a managed application.

MethodUse it whenWhat you run
FlatpakYou already use Flatpak or want updates handled by your software centerflatpak install flathub com.moonlight_stream.Moonlight
AppImageYou need a portable copy without a package installDownload the Linux AppImage from the Moonlight release page

Install Moonlight with Flatpak

Install Flatpak through your distribution’s supported package workflow if the command is not available. The Flatpak documentation explains how to add and manage remotes for your distribution.

flatpak install flathub com.moonlight_stream.Moonlight

The application ID identifies Moonlight, so use it exactly as shown. After the install completes, start Moonlight from your application menu or run the same ID with Flatpak.

flatpak run com.moonlight_stream.Moonlight

If you are still getting comfortable with package sources, check the difference between application formats in this Linux package management guide. It will help you decide when a Flatpak is a better fit than a repository package.

Run the AppImage instead

Download the Linux AppImage from the official Moonlight releases page. The release page publishes the current file name, so replace the wildcard only when your shell does not expand it.

chmod +x Moonlight-*.AppImage
./Moonlight-*.AppImage
Moonlight AppImage made executable in a Linux terminal

The file manager view shows the AppImage in Downloads and the permission step beside it.

Running the file opens Moonlight without adding a system package. A Flatpak remains easier to update through your normal application workflow.

Prepare the host PC before pairing

Moonlight is the client. Install and configure Sunshine on the PC that runs the games or desktop apps, then keep that host awake and reachable on the same network for the first pairing.

  1. Open Sunshine on the host PC and finish its setup before opening Moonlight.
  2. Start Moonlight on Linux and select the host when it appears.
  3. Enter the PIN that Moonlight displays into Sunshine when the host requests it.
  4. Open a desktop or app entry, then confirm video, audio, and controller input before increasing quality settings.

A host that does not appear automatically can be added by its local IP address. Check the host firewall and local network first. The Linux networking guide helps when you need to identify the address or verify name resolution.

Moonlight Computers screen with a paired PC and Add PC control

A paired PC appears on the Computers screen next to the Add PC control. Select the listed PC only after Sunshine is running, then choose the desktop or app you want to stream.

Set resolution and bitrate after the first stream

Begin with your Linux display resolution and a frame rate that your network can hold. Stuttering usually means the host encoder, client decoder, Wi-Fi link, or bitrate needs attention, not that Moonlight needs another install.

  • Use Ethernet for the host when possible, then test the client on the same local network.
  • Keep the first stream at a comfortable resolution and frame rate before trying higher settings.
  • Check the host GPU driver when decoding or hardware acceleration behaves poorly. Ubuntu users can start with this Intel graphics driver guide.

For a Linux gaming desktop, Bazzite and ProtonPlus cover adjacent setup decisions for Steam libraries and compatibility tools. On Steam Deck, this Gaming Mode walkthrough shows the same desktop-to-handheld context that makes streaming useful.

Check the connection before changing settings

Use this short check before raising stream quality.

  • Sunshine is running on the host PC.
  • Moonlight and the host can reach each other on the local network.
  • The pairing PIN is accepted.
  • Video, audio, and controller input work in one short stream.
  • Resolution or bitrate changes happen one at a time so you can identify the setting that affects playback.

Moonlight on Linux FAQ

These answers cover the installation and pairing decisions that affect the first stream.

Does Moonlight need NVIDIA GameStream?

No. Moonlight can connect to a PC running Sunshine, which is the common current host choice. GeForce Experience can still appear in Moonlight documentation, but use the host software that matches your PC and operating system.

Why does Moonlight not find my PC?

Confirm that Moonlight and the host are on the same network, that Sunshine is running, and that the host firewall allows the connection. Add the host by its local IP address when automatic discovery does not list it.

Can Moonlight stream at 4K?

Moonlight can use higher resolutions when the host GPU, client decoder, display, and network can sustain them. Start with the display resolution and a stable frame rate, then raise bitrate or resolution only after the stream remains smooth.

Install Moonlight through Flatpak, pair it with a configured Sunshine host, and verify one stable stream before changing resolution, bitrate, or controller behavior.