Punktfunk vs Sunshine + Moonlight: an honest comparison
Sunshine + Moonlight is the beloved open-source self-hosted streaming stack. Where Punktfunk differs — virtual displays, HDR, native clients, a Rust transport — and where Sunshine still wins.
Sunshine (the host) and Moonlight (the client) are the de-facto open-source self-hosted game streaming stack: mature, free, and genuinely loved. So why build Punktfunk at all? This is an honest, specific comparison for anyone weighing a switch — no bashing, because that stack is excellent.
What Sunshine + Moonlight get right
- A huge, active community and years of battle-testing.
- Moonlight clients on nearly everything — phones, TVs, consoles, browsers, old devices.
- A solid, well-understood protocol (NVIDIA's GameStream, reverse-engineered).
- Free, open source, and — once set up — it just works for most people.
If your setup already runs great on Sunshine and Moonlight, there's no urgency to change anything.
Where Punktfunk is different
Setup and virtual displays
Sunshine has no first-class virtual display on Linux, so a headless or resolution-mismatched host means dummy plugs, EDID overrides, and hand-written modelines. Punktfunk creates a virtual display on demand, per compositor (KWin, gamescope, Mutter, Sway), at the client's exact resolution — see virtual displays and headless streaming on Linux.
HDR
HDR over Sunshine/Moonlight is often washed out (tone-mapping mismatches, 10-bit pipeline gaps). On Windows hosts, Punktfunk runs a real 10-bit HDR path — negotiating the client's HDR capability up front, and even injecting HDR into Vulkan games through a layer we wrote ourselves. Linux-host HDR is still in progress. See HDR that actually looks like HDR.
Native clients vs one cross-platform client
Moonlight is a single cross-platform client — great reach, but a lowest-common-denominator UX. Punktfunk ships a native client per platform: iPhone/iPad/Apple TV/macOS (Swift + VideoToolbox), Linux (GTK4), Windows (WinUI 3), Android, and the Steam Deck via a Decky plugin — each integrating native controllers, HDR, and suspend/resume.
Protocol and transport
Moonlight speaks NVIDIA's GameStream protocol. Punktfunk speaks GameStream too (so stock Moonlight works), and its own punktfunk/1 protocol: a QUIC control plane plus a hardened data plane with GF(2¹⁶) FEC and AES-GCM. It's built to push past GameStream's ~1 Gbps ceiling and to stay resilient on lossy Wi-Fi.
Codecs and resolution
Both stacks do H.264, HEVC, and AV1 — there's no codec edge here. Where Punktfunk pulls ahead is the display itself: validated, arbitrary resolutions up to 5120×1440 at 240 fps, built per session to match your client exactly — see streaming ultrawide and 32:9.
Security and pairing
Sunshine pairs over the legacy GameStream scheme. Punktfunk's native protocol uses SPAKE2 PIN pairing, so the PIN itself never crosses the wire; it then pins each device's identity and encrypts every stream with AES-GCM. LAN hosts appear automatically over mDNS, and trust-on-first-use is strictly opt-in.
Controllers
Because every client is genuinely native, controllers come through in full. On a DualSense that means gyro and motion, the touchpad, rumble, the lightbar and player LEDs, and adaptive triggers — passed end to end rather than flattened to a generic gamepad.
Nice extras
A few quality-of-life touches: your installed Steam games are detected straight from local files — no API key — with artwork and ready to launch; a built-in speed test bursts filler over the data plane so the client can pick a sensible bitrate; and you can pass your microphone through to a virtual mic on the host for voice chat.
Where Sunshine + Moonlight still win
Maturity and reach. The community is enormous, the Moonlight client list is unmatched (including old and niche hardware), and the whole thing is proven across millions of setups. Punktfunk is younger and Linux-host-first. If breadth of client support and battle-tested stability are your priorities, Sunshine + Moonlight are hard to beat.
Who should try Punktfunk
If you're fighting virtual-display hacks on a headless Linux host, want HDR that actually looks right, want a properly native client on the Steam Deck or Apple TV, or want a modern Rust transport that holds up on flaky networks — Punktfunk is built for exactly those friction points. Otherwise, Sunshine + Moonlight remain a great default.