Remote desktops are nothing new, but most are too sluggish for anything beyond basic productivity. Want to game, edit videos, or use your main desktop remotely without the annoying lag? That’s where Moonlight and Sunshine come in. Whether you want to access your Windows or Linux desktop from across the house—or across the world—this guide will walk you through everything you need to know.
We’ll explore what Moonlight is, how to host a session using Sunshine (an open-source alternative to NVIDIA GameStream), installation on both Windows and Linux, and even how to set it up on a headless system. So if you’re ready to take your remote computing experience to the next level, buckle up—we’re diving deep.

🌙 What Is Moonlight? A Game-Changing Remote Desktop Solution
Let’s start with a fundamental question: What is Moonlight?
Moonlight is an open-source client built on top of NVIDIA’s GameStream protocol, originally intended for streaming games from GeForce PCs. But the community has taken it way beyond gaming—it’s now one of the best low-latency remote desktop solutions, useful for everything from creative editing to office productivity.
But here’s the twist: you don’t even need an NVIDIA GPU anymore. Thanks to the Sunshine project (which we’ll cover shortly), AMD and Intel users can now enjoy the same buttery-smooth streaming.
🖥️ Why Moonlight Is Better Than Traditional Remote Desktop Protocols
Traditional remote desktop protocols like VNC or RDP work by constantly capturing the screen, sending updates, and waiting for the host to respond before rendering. While this works fine for simple tasks, the experience starts to fall apart for anything visual or interactive.
Here’s how Moonlight differs:
- It only streams video output from the host.
- Inputs from the client (mouse, keyboard) are sent directly, without round-trip confirmations.
- The host system uses hardware encoding (like NVENC, AMF, or Quick Sync) to reduce latency even further.
This setup dramatically lowers the input-to-display delay, making it suitable even for fast-paced games.
☀️ Enter Sunshine: Host Moonlight Sessions Without NVIDIA
If you’re not using an NVIDIA GPU—or NVIDIA drops GameStream entirely—you’ll need a new host solution.
That’s where Sunshine comes in.
Sunshine is a self-hosted game and desktop streaming server that works with Moonlight as the client. It supports NVIDIA, AMD, and Intel GPUs and offers a web-based configuration interface.
Let’s walk through how to install and configure it.
🛠️ Step-by-Step: Installing and Configuring Sunshine
So far, so good? Awesome. Let’s move on to the technical setup part. Below are detailed steps to help you host your Moonlight session using Sunshine.
📥 1. Install Sunshine on the Host PC
For Windows:
- Go to Sunshine GitHub Releases and download the latest
.exe. - Install and run the service.
For Linux (Arch-based distros):
yay -S sunshine
For Debian/Ubuntu:
- Download the
.debpackage from GitHub. - Install it using:
sudo dpkg -i sunshine*.deb
sudo apt-get install -f
Note: Avoid Flatpak for now. It’s known to break GPU hardware acceleration.
🌐 2. Access Sunshine Web Interface
- After installation, open your browser and visit:
http://localhost:47990 - The first launch might generate SSL certificates. Allow it to run.
- Login using the default credentials or set up a new one.
🎮 3. Add Applications or Full Desktops
Inside the web interface:
- Click on “Applications.”
- Add any app (like Steam, DaVinci Resolve, etc.) or full desktops.
- Set custom images if desired by uploading them to the Sunshine directory.
- You can add launch parameters too—for example, launching Steam directly into Big Picture mode.
This setup is ideal if you’re using a controller and want to avoid navigating a full desktop UI.
⚙️ 4. Configure Stream Settings
Here are some settings you might consider tweaking:
- Resolution: Match your client device.
- Frame rate: 60fps is ideal for smooth usage.
- Encoder: Force NVENC, AMF, or Quick Sync depending on your GPU.
- Quality: Start with defaults, then raise bitrate or enable HEVC if your client supports it.
📱 Connect with the Moonlight Client
Now that Sunshine is set up, let’s pair your client device.
✅ Step-by-Step Moonlight Setup
- Install Moonlight from https://moonlight-stream.org on your device:
- Available for Windows, macOS, Linux, Android, iOS, Steam Deck, Raspberry Pi, even Homebrew Smart TVs.
- Find Host IP Address on the PC:
- Open CMD and type:
ipconfig(Windows) - Or use:
ip a(Linux)
- Open CMD and type:
- Open Moonlight and enter the host’s IP.
- You’ll get a PIN on the client—enter it in Sunshine’s web interface.
- Now the devices are paired. You should see all the advertised applications or desktops.
🧪 Real-World Use Case: Editing Video on a Weak Client
One impressive use of this setup? Running DaVinci Resolve on a Windows 11 VM using a passthrough GPU, and editing remotely from a Surface tablet.
Since the Surface can’t handle high-end editing, Sunshine+Moonlight stream the GPU-accelerated session with barely any delay. This is a game-changer for remote creatives.
🧱 Using Moonlight on Headless Systems (No Monitor Plugged In)
If you plan to use Moonlight on a headless server, you’ll run into a problem: no display means nothing gets rendered.
💡 Solution: Use a dummy HDMI plug. It tricks the system into thinking a monitor is attached, enabling GPU output.
🐛 Known Issues and Troubleshooting
Before we wrap up, here are some quirks and workarounds:
- Mouse lag on desktop only: Moonlight doesn’t render the cursor locally, so there may be visible lag during desktop use. In-game? No problem.
- Video stutters with cursor movement: Some users noticed frame dips while moving the mouse on the desktop. No fix yet—could be an intentional behavior to reduce overshooting.
- Linux issues: On Fedora or Ubuntu, Sunshine may need additional tweaks. The Flatpak version is buggy. Use
.debor AUR packages instead. - Hardware encoding on Linux: Not always reliable for AMD/Intel. You may need to switch to software encoding temporarily.
❓ Frequently Asked Questions
Q1: Does Moonlight work over the Internet?
Yes, with proper port forwarding and a fast network, it works beautifully. You’ll need to forward UDP ports like 47984–47989.
Q2: Can I stream in 4K or 120FPS?
Yes, but only if your host GPU and client device support it. Make sure to increase bitrate and enable high-resolution encoding in settings.
Q3: What’s better—Moonlight or Parsec?
Moonlight is free, open-source, and generally has better latency for gaming. Parsec offers more built-in enterprise features and remote access options but is closed-source.
Q4: Does it support multiple monitors?
Yes, Sunshine supports multiple desktops, and Moonlight can switch between them if configured.
🧩 Final Thoughts: Moonlight + Sunshine = Remote Freedom
Whether you’re a gamer, video editor, or just want a seamless way to access your desktop remotely, Moonlight and Sunshine are a power combo that rivals paid solutions—and they’re fully open source.
The ability to stream your high-end desktop from any device—without the sluggishness of RDP or VNC—is a huge leap forward. And best of all, it’s relatively easy to set up once you get the hang of it.
If you’re not yet running this on your home setup, you’re seriously missing out.
🔖 Tags and Hashtags
Tags: remote desktop, moonlight stream, sunshine host, low latency streaming, nvidia gamestream alternative, linux remote access, windows remote gaming, stream desktop, parsec alternative, remote GPU editing
Hashtags:
#Moonlight #SunshineStreaming #RemoteDesktop #LinuxStreaming #GameStreamAlternative #LowLatency #OpenSourceTools #RemoteGaming #VideoEditing #TechTutorials
Disclaimer:
Use of Moonlight and Sunshine for remote access is subject to network security best practices. Ensure proper firewall rules and strong passwords to avoid unauthorized access. This guide is for educational purposes.