Short answer
Install Sunshine with omarchy pkg add sunshine, open https://localhost:47990 to set credentials, and pair Moonlight on your phone, laptop, or Steam Deck with the one-time PIN. Your host's GPU encodes the stream in hardware.
Sunshine on Omarchy: your own personal cloud-gaming server
Sunshine is a free, open-source game-stream host that turns your Omarchy PC into your own personal cloud-gaming server — you stream your games to your phone, laptop, Steam Deck, or TV with Moonlight as the client.
TL;DR install
omarchy pkg add sunshine
Sunshine runs on your Omarchy PC (the host). Install it, then grab Moonlight on the device you’ll play on. That’s the whole install — about a minute.
Getting started in 5 minutes
1. Launch it and set credentials
Open https://localhost:47990 and accept the self-signed certificate warning (it’s generated locally on your machine). Set a username and password — you’ll use these to log into the web UI. Enable the user service so it starts with your session:
systemctl --user enable --now sunshine
2. Pair a Moonlight client
This is the only fiddly part, and it’s a one-time thing:
- Open Moonlight on your other device (phone, laptop, Steam Deck, TV — apps at moonlight-stream.org). If your Omarchy PC doesn’t appear automatically, tap the + / “Add Host Manually” and enter your PC’s LAN IP.
- Moonlight shows you a PIN. Four digits, right on the screen.
- Go back to the Sunshine web UI (
https://localhost:47990), click the PIN button in the top bar, type in the PIN and a name for the device (e.g. “iPhone”), and confirm.
Done — the client is paired permanently and you’ll see your Omarchy PC listed in Moonlight from now on.
3. Add a game and stream
In the web UI, go to Configuration → Applications. Sunshine detects Steam and Steam Big Picture automatically; add anything else with a name and a launch command (e.g. name Steam, command steam steam://open/bigpicture). Tap that entry in Moonlight and you’re playing — your host’s GPU encodes the video in hardware.
4. Config location
~/.config/Sunshine/ — Sunshine.conf (all the settings you change in the web UI), apps.json (your app/game list). Everything you need to tweak is in the web UI; the files are for backups or diffing settings.
Common issues & fixes
On Hyprland/Wayland, the stream fails the moment Moonlight connects (Error Code -1)
Fix: This is a known recent regression (issue #5038 — Arch, Hyprland 0.54.3, RTX 4070; bisect points to builds after v2026.323.224448). Until it’s fixed upstream, downgrade to the last working version and follow the issue thread — regression reports with exact bisects get developer attention fast.
Black screen with error code -1 using the wlroots capture method on Hyprland
Fix: Another Hyprland-specific report (issue #5018 — Arch, Hyprland, RTX 3060; last working was sunshine-git 2026.330.150440-1). In the web UI, go to Configuration → Advanced → Force a Specific Capture Method and switch from wlroots to KMS or PipeWire. KMS needs a capability bit set first: sudo setcap cap_sys_admin+p $(readlink -f $(which sunshine)) (official docs). If one capture method blacks out, the others usually don’t — cycle through them before assuming it’s broken.
Moonlight pairs and video works, but there’s no audio in the stream
Fix: Sunshine captures audio from the user’s audio session — if you run it as root, it can’t reach PulseAudio/PipeWire and the logs say Couldn't connect to pulseaudio: Access denied ... There will be no audio (issue #4660). Always run Sunshine as your user (the systemctl --user service), never as root or with sudo. If audio still doesn’t come through, check the web UI logs for the Audio capture format line and make sure your default sink in pavucontrol/wpctl is the one actually playing game audio.
HDR looks extremely dark / black-crushed on the client
Fix: HDR capture on Linux is still experimental and sensitive to compositor updates — issue #3298 documents the stream going near-black after a Plasma 6.2 update. Workaround: disable HDR in your Moonlight client settings and stream SDR until compositor-side behavior stabilizes. HDR needs HEVC Main 10 or AV1 10-bit on your encoder plus HDR enabled in the OS and the client — if any link is off, you get the dark image.
Moonlight can’t see your Omarchy PC, or pairing fails from outside your house
Fix: On your LAN, Sunshine needs these ports reachable — TCP 47984, 47989, 48010 and UDP 47998–48000, 48002, 48010 (current as of Oct 2026). If you run a firewall, open them. Also check your router isn’t blocking mDNS discovery via AP/client isolation — entering the host IP manually in Moonlight bypasses discovery. For playing away from home, skip forwarding your router to the open internet and pair Moonlight over Tailscale instead: install it on both machines, then add your host to Moonlight using its 100.x.x.x Tailscale IP.
Pairs well with / If you hate this, try
Pairs well with
- Moonlight (moonlight-stream.org) — the client. You need it; this is the other half. Steam — its Big Picture mode is the best thing to stream for controller games.
If you hate this, try
- Steam Link — zero-config but Steam-only, no encoder tuning, no out-of-home without a VPN. Parsec — easier internet connectivity, but proprietary and paid tiers gate features.
Comparison: Sunshine vs Steam Link vs Parsec
| Sunshine | Steam Link | Parsec | |
|---|---|---|---|
| Price | Free forever, no tiers | Free | Free for personal use; Warp $9.99/mo; Teams $30/mo |
| Best for | Any-game streaming to any device, with full encoder control | Quick sessions inside the Steam ecosystem | Streaming over the internet with zero network config |
| Omarchy install | omarchy pkg add sunshine | omarchy pkg add steam (Remote Play built in) | Flatpak/AppImage from parsec.app |
| Remote (away from home) | Manual port forward or Tailscale | Needs VPN / Steam’s relay | Built-in relay, works out of the box |
One-line verdict: If you want to stream your games on your hardware with zero feature gates and full control, Sunshine wins — it only asks you to handle networking, and Tailscale makes that a 5-minute job.
How to switch from Parsec (~20 minutes)
- Leave Parsec: nothing to export — Parsec free is tied to your login; sign out on each device. On the host, keep Parsec installed as backup or uninstall it.
- Set up Sunshine:
omarchy pkg add sunshine→https://localhost:47990→ set credentials → enable the user service → add your games under Configuration → Applications. - Set up Moonlight on each client (iOS, Android, Windows, macOS, Linux, TV boxes — all free) and pair each with the PIN flow above.
- Recreate remote access: install Tailscale on host and clients (
tailscale upeach), then in Moonlight use “Add Host Manually” with the host’s 100.x.x.x IP instead of its LAN IP. - What doesn’t transfer: friend-sharing links and Arcade (Parsec-only social features), out-of-the-box drawing-tablet passthrough, and team management tooling. Latency and image quality should be as good or better.
- Time estimate: ~20 minutes, most of it waiting on Tailscale installs.
Open the Sunshine package
See the live version, upstream screenshot, requirements, source and exact Omarchy install command.
Frequently asked questions
Does Sunshine work on Omarchy/Hyprland?
Yes — Omarchy is Arch-based, and the official docs cover Arch installs directly. On Hyprland (Wayland) prefer the KMS or PipeWire capture method; there are recent wlroots capture regressions (#5018), so if you get a black screen, switch capture methods in Configuration → Advanced first.
Is Sunshine free?
Completely. It’s free and open-source (LizardByte, GPL-licensed), with no paid tiers, no feature gates, no accounts, and no telemetry. Everything — hardware encoding, multi-client streaming, virtual displays, HDR — is in the same free build.
Sunshine vs Parsec — which should I use?
For playing your own games remotely, Sunshine + Moonlight is free forever and matches Parsec’s paid tiers on the features that matter (encoders, latency, gamepads). Pick Parsec if you want zero-config internet connectivity and session sharing — its $9.99/mo Warp buys convenience and relay infrastructure, not better streaming quality.
Do I need an NVIDIA GPU?
No. Sunshine uses hardware encoding on AMD (VAAPI), Intel (VAAPI/QuickSync), and NVIDIA (NVENC) GPUs, with software x264/x265 as a fallback. This was NVIDIA GameStream’s biggest limitation; Sunshine removed it.
Can I stream outside my home?
Yes, two ways: forward the streaming ports on your router (TCP 47984, 47989, 48010; UDP 47998–48000, 48002, 48010), or install Tailscale on host and client and connect Moonlight to the host’s Tailscale IP — no port forwarding, works behind CGNAT.
Official sources
- Sunshine official docs — setup (Arch/Linux)
- Sunshine official docs — usage
- Issue #5038 — Wayland/NVIDIA regression (Hyprland 0.54.3, RTX 4070)
- Issue #5018 — broken wlroots capture on Hyprland (RTX 3060)
- Issue #4660 — no audio as root (RX 9070XT)
- Issue #3298 — HDR very dark after Plasma 6.2 update
- Parsec pricing — free vs Warp vs Teams
- NVIDIA GameStream discontinued Feb 2023
- Moonlight — the client apps
Commands and fixes verified against official sources October 2026; on-machine verification pending.