STREAMPILOT

the cornerstone guide

Sunshine + Moonlight setup, explained properly

Everything below is what the free wizard automates. Read it to understand why the settings are what they are — or skip straight to the wizard and get your config in two minutes.

What Sunshine and Moonlight actually are

Sunshine(by LizardByte) is an open-source streaming host that runs on your gaming PC. It captures the screen, encodes it with your GPU's hardware encoder, and sends it over the network. Moonlight is the client — it runs on your phone, TV, laptop, or Steam Deck, decodes the stream in hardware, and sends your inputs back. Together they replicate what NVIDIA GameStream did before it was discontinued, except they work on any GPU and every platform, for free.

The result, tuned correctly, is 30–60 ms of end-to-end latency on a local network — indistinguishable from native play for everything short of competitive shooters.

Encoder and codec: the decision that matters most

Your GPU generation determines which hardware encoder you use — NVENC on NVIDIA, AMF on AMD, Quick Sync on Intel. You never want software (x264) encoding: it adds latency and steals CPU from the game.

  • H.264 — the universal fallback. Every client decodes it, but it needs ~40% more bitrate than HEVC for the same picture.
  • HEVC (H.265) — the default answer in 2026. Hardware-decoded by every phone, TV, and the Steam Deck; markedly better quality per megabit.
  • AV1— best quality per megabit, but only if BOTH ends support it: RTX 40/50, RX 7000+, or Intel Arc encoding, plus a recent flagship phone or RTX/RDNA3-class client decoding. TV sticks mostly can't.

On NVIDIA, set the NVENC preset to p1 (fastest). Slower presets buy compression efficiency at the cost of encode latency — the wrong trade for real-time streaming. Picture quality should come from bitrate, not preset.

Bitrate: match the network, not the marketing

The most common self-inflicted stutter is a bitrate the network can't sustain. Reasonable starting points at 60 fps: 20 Mbps for 1080p, 32 Mbps for 1440p, 50 Mbps for 4K — add ~25% for 90 fps, ~50% for 120 fps. Then cap by link: Ethernet carries anything, good Wi-Fi 6 sustains ~80 Mbps in practice, Wi-Fi 5 ~50, and 2.4 GHz is where streams go to die — it can theoretically carry 15 Mbps, but interference makes it stutter anyway. Move the client to 5 GHz or a cable.

On Wi-Fi, also raise Sunshine's FEC (forward error correction) to ~20%: it spends bandwidth to hide packet loss, which reads as smoothness.

Client settings that fight you silently

  • V-Sync: off.Moonlight's frame pacing replaces it; leaving V-Sync on adds a frame of latency for nothing.
  • Frame pacing:"lowest latency" on Ethernet, "balanced" on Wi-Fi — balanced absorbs jitter at the cost of roughly one frame.
  • Match refresh rates. Streaming 60 fps to a 90 Hz Steam Deck OLED? Either stream 90 or set the Deck to 60 — mismatches cause judder.

Ports and firewall

Sunshine defaults to TCP 47984, 47989, 47990, 48010 and UDP 47998–48000, 48010. On Windows the installer usually adds firewall rules; when it doesn't, one PowerShell command per protocol fixes it. On Linux it's two ufw lines. The wizard emits the exact commands for your OS.

Remote play: do not port-forward

Nearly every old guide says to forward Sunshine's ports on your router. Don't. You'd be exposing a game-stream host and its web UI to the whole internet, and CGNAT breaks it for many ISPs anyway. The 2026 answer is a mesh VPN: Tailscale(free tier is plenty) on both host and client, then point Moonlight at the host's 100.x address. Encrypted end to end, zero router config, works behind CGNAT. Your bitrate ceiling becomes your home connection's upload speed — set Moonlight to ~70% of it.

A 5-step stutter triage

  • 1. Wired client stutters too? → host-side: check encoder overload, GPU at 99% in game (cap fps 5 below refresh).
  • 2. Only on Wi-Fi? → drop bitrate 30%, raise FEC, check the client isn't on 2.4 GHz.
  • 3. Periodic hitching every few seconds? → another device saturating the link, or router channel congestion.
  • 4. Input lag but smooth video? → V-Sync on somewhere, or TV not in game mode.
  • 5. Remote only? → upload saturated; re-run a speed test and cap at 70%.

Skip the manual tuning

The wizard applies everything above to your exact GPU, network, and client — free, no signup, about two minutes.

generate my config ▸