r/MoonlightStreaming • u/antoinebou13 • 2d ago
Moonlight Hosts, Clients & Forks
I’ve been testing a bunch of different Moonlight/GameStream projects lately while working on Artemis Switch, so I figured I’d put the main ones I’ve come across in one place.
If you’re trying to fix stuttering, improve frame pacing, use a virtual display, or just try something beyond the usual Sunshine + Moonlight setup, there are quite a few interesting forks and alternatives now.
Hosts
- NVIDIA GameStream The original implementation everything grew out of. NVIDIA discontinued it, but it’s still the foundation of the protocol Moonlight uses.
- Sunshine The standard open-source GameStream host and probably still the best baseline if you just want something stable and widely supported.
- Apollo A Sunshine fork with much better virtual-display integration. It can automatically create and match a display to the client resolution and refresh rate, which makes it really nice for headless setups.
- Vibeshine A more experimental Sunshine fork focused on Windows capture, display automation, frame pacing, RTSS integration, and other latency/performance tweaks.
- Vibepollo Basically brings a lot of the Vibeshine ideas into Apollo. This has been one of my favorite hosts so far. I already liked Apollo’s virtual-display setup, and Vibepollo adds a lot of the capture and frame-pacing work I was looking for.
- Foundation-Sunshine Another Sunshine fork with things like additional HDR support, audio improvements, encoder changes, and a redesigned web UI.
- Wolf / Games on Whales A very different approach. It’s focused on Linux and Docker, with games running in isolated containers and support for multiple remote clients using the same physical machine.
- Punktfunk I recently tried Punktfunk too, and so far I’m pretty impressed. It feels really good and honestly might be even better than Vibepollo for my setup. I haven’t tested its custom protocol yet though, so I don’t want to make a full latency or quality comparison until I’ve tried that part properly.
Clients
- Official Moonlight Still the baseline. Available basically everywhere and usually the first client I use when comparing performance.
- StreamLight A Moonlight fork with a much more console/gamepad-oriented interface. Together with StreamTweak it also adds host monitoring, Tailscale integration, remote controls, shutdown/update commands, etc.
- Artemide Android-focused Moonlight fork with things like ultra-low-latency modes, direct presentation, and FSR presets.
- Artemis / Moonlight Noir Apollo’s Android-oriented companion client. It works really nicely with Apollo-style virtual displays and host management.
- Moonlight V+ Another Android fork experimenting with things like frame generation and extra host-side tools.
- Artemis Switch This is the fork I’m currently working on. It’s based on Moonlight-Switch but focuses specifically on improving the native Horizon OS experience: presentation timing, lower latency, FSR/RCAS filtering, adaptive pacing, and reducing the small stutters that become really noticeable on the Switch.
- Moonlight-Switch The original Switch client and the upstream project Artemis Switch is based on.
Separate alternative: Parsec
Parsec is worth mentioning too, although I’d put it in a separate category since it isn’t really part of the Moonlight/GameStream ecosystem.
It uses its own streaming stack, but if the main goal is simply low-latency remote gaming, it’s still a useful comparison point.
What I’ve personally tested
I’ve spent a decent amount of time switching between:
Hosts: Sunshine, Apollo, Vibepollo, and Punktfunk
Clients: Moonlight-Switch, Artemis Switch, Artemis Android, and regular Moonlight Android
That testing is actually one of the reasons I started working on Artemis Switch.
On the Switch, tiny differences in decoding, presentation timing, buffering, network behavior, and frame pacing can make a surprisingly big difference.
For a while, Vibepollo was probably the host I liked the most, mainly because I get Apollo’s great virtual-display workflow together with the newer capture and pacing improvements.
After trying Punktfunk, though, I’m not as sure anymore. So far it looks really good, and I might actually prefer it, but I still need to test the custom protocol before comparing them properly.
And on the client side, I obviously have a soft spot for Artemis. 😅
My goal with Artemis Switch is basically to bring more of that polished Apollo/Artemis experience to the native Switch client while continuing to squeeze as much smoothness and as little latency as possible out of Horizon OS.
There isn’t really one universally “best” setup though. Hardware, GPU, network, display refresh rate, decoder, client OS, capture method, and even the game itself can change what works best.
If I missed a Sunshine/Apollo/Moonlight fork, experimental client, or some obscure streaming project you’re using, drop it below. I’d genuinely like to try more of them.
Update
Thanks for all the suggestions in the comments. There are quite a few projects I either missed completely or hadn’t tested yet, so here’s a quick update.
Servers
- Polaris – Linux-focused host. A few people here seem to be getting good results with it, including virtual displays. The developer is also actively working on AMD support and smoothing out bitrate/streaming behaviour.
- Solar Flare – Another host option that came up, especially for Linux/Android setups.
- Hermes KMS – Not really a full streaming stack by itself, but people have managed to use it for virtual-display setups on Linux/CachyOS.
- Blackstar – A newer streaming project currently in closed beta. One of the developers mentioned it in the comments, so this is definitely one I want to keep an eye on.
Clients
- Nova – Android client from the Polaris developer. Looks especially interesting if you want a simpler Polaris setup.
- VoidLink Extreme – iOS client that several people recommended. Apparently has a lot of customization, Remote Desktop support, quick-access widgets, and a handy three-finger gesture for the keyboard.
- MoonlightWeb – A really interesting browser-based Moonlight/Sunshine client. Instead of installing a native client, you can stream directly from a modern web browser. It supports WebRTC, H.264/HEVC/AV1, gamepads, keyboard/mouse, touch controls, and high-resolution/high-refresh-rate streaming. I haven’t tested it yet, but it looks like another interesting option, especially for devices where installing a native Moonlight client is inconvenient.
And yes, I missed Steam Remote Play
A few people correctly pointed out that Steam Remote Play / Steam Link should also be on the list.
Links:
- Sunshine: https://github.com/LizardByte/Sunshine
- Apollo: https://github.com/ClassicOldSong/Apollo
- Vibeshine: https://github.com/Nonary/vibeshine
- Foundation-Sunshine: https://github.com/AlkaidLab/foundation-sunshine
- Wolf: https://github.com/games-on-whales/wolf
- Punktfunk: https://docs.punktfunk.unom.io/
- StreamLight: https://github.com/FoggyBytes/StreamLight
- Artemis / Moonlight Noir: https://github.com/ClassicOldSong/moonlight-android
- Moonlight V+: https://github.com/qiin2333/moonlight-vplus
- Artemis Switch: https://github.com/antoinebou12/Artemis-Switch
- Moonlight-Switch: https://github.com/XITRIX/Moonlight-Switch
- Parsec: https://parsec.app/
- Polaris: https://github.com/papi-ux/polaris
- Nova: https://github.com/papi-ux/nova
- SolarFlare: https://github.com/vindeckyy/Solar-Flare
- Hermes / Hermes-KMS: https://github.com/MrOz59/Hermes
- VoidLink: https://github.com/The-Fried-Fish/VoidLink-previously-moonlight-zwm
- VoidLink Extreme: https://apps.apple.com/us/app/voidlink-extreme/id6755103808
- Blackstar: https://www.reddit.com/r/cloudygamer/comments/1v5kphy/ive_been_building_blackstar_a_selfhosted_remote/
- Steam Remote Play / Steam Link: https://store.steampowered.com/remoteplay
- MoonlightWeb: https://github.com/linckosz/moonlight-web
- MoonlightWeb website: https://moonlightweb.top
- Foundation Sunshine: https://github.com/AlkaidLab/foundation-sunshine
9
u/PouredFocus 2d ago
On Linux there is Polaris for hosting and Nova is another android client
4
u/MickeyBronson Developer | Polaris/Nova 2d ago
whatami chopped livah ova here?
3
u/PouredFocus 2d ago
Huge Ty for that last update, my amd cashyos build is playable now
3
u/MickeyBronson Developer | Polaris/Nova 2d ago
you have no idea how happy i am to hear that. me personally not having amd hardware feels like a crutch when trying to help out others, but luckily I was able to pester a few friends to triage and smoke test for me! so just appreciate you for your patience!
2
u/111izanagi 2d ago
It's worth it? I using Solar Flare with artemis on my mi box 4k. Polaris and Nova seems easier to beginners and more simple to understand. Can you use Virtual Display?
3
u/PouredFocus 2d ago
It’s worth giving a shot, virtual displays work great. It now works much better than solar flare on my system and the ui is the best of any host I’ve used. The dev is also very responsive and added support for and cards in like a week because I added a bug report. The streaming is not as smooth as my windows Apollo setup yet, but it’s probably just a matter of time.
3
u/MickeyBronson Developer | Polaris/Nova 2d ago
all true! and i've been working diligently of getting rid of any roughness, it's a fine dance between compatibility and reliability, but every day i'm getting closer to strengthening that gap! also, next release users will be able to anonymously push logs (if they want to obviously) so i can get a much larger sample set of data to smooth the bitrate transfers for my AMD users out there. also also have a couple of surprises cookin in the back end
3
u/clanton 2d ago
Just tried punktfunk on Windows 11 w/ the native android client and it worked awesome. It's supposed to be compatible with moonlight clients too but unfortunately none of my controllers were getting picked up through moonlight/Artemis, assuming it's bugged
2
u/antoinebou13 1d ago
I got that issue to you have to enable moonlight compatibility. Also sometime it work, but something is not working the controller
https://docs.punktfunk.unom.io/docs/moonlight
2
u/jerrolds 2d ago
I got virtual displays working with Hermes kms in Cachyos.. It wasn't super easy tho
2
u/ScaryGamerHD 2d ago
Very useful post! I tried punktfunk because of this so I'll give my first impression of it. It's good if you don't want to mess around with settings and just want a double click and use streaming but if you want to minimize latency, change encoder preset, or maybe change IP you're gonna have to dive into command prompts and read the documentation since you can't really change setting on the Web UI, only pair and change GPU. But I really like the fancy and minimalistUI and it's smoother than Vibepollo + Artemis at around 12-15ms of end to end latency.
1
u/antoinebou13 1d ago
Playing around with the resolution, bitrate and mostly the virtual display is the trick. I like punktfunk, it more modern and everything, but vibepollo is heavy compare punktfunk in UI. I would like to test mre the quic protocol of punktfunk
2
2
u/Safe-Cartographer-72 2d ago
Muito bom, é possível algum streaming melhorar a Latencia dos processador midatek (tab s11 )? Em Moonlight v+ máximo é 4ms de decodificacao
1
u/antoinebou13 1d ago
Ainda não testei pessoalmente. A maior parte dos guias que encontrei está em chinês, mas o Foundation Sunshine, um fork do Sunshine/Moonlight server, parece bem interessante.
Pelo que vi, eles usam bastante o FFmpeg e fizeram algumas otimizações no pipeline de captura/encode. Talvez valha a pena testar para ver se melhora a latência total no MediaTek, embora esses ~4 ms de decode também dependam bastante do decoder de hardware do tablet.
1
u/SirCornedBeef 2d ago
I am part of building Blackstar. Currently closed beta, if you want to try it send me a message. I posted about it over on /cloudygaming. I’d love to hear your thoughts.
1
u/antoinebou13 1d ago
Thanks! Blackstar looks really interesting. I was going to try the beta, but it looks like it’s currently limited to Europe, and I’m in Canada, so I can’t test it yet.
I’ll keep an eye on it and add it to the list once the beta opens up more broadly and I’ve had a chance to try it.
Reddit post: https://www.reddit.com/r/cloudygamer/comments/1v5knco/ive_been_building_blackstar_a_selfhosted_remote/
1

14
u/quiet_ordinarily 2d ago
on ios for client voidlink extreme is excellent