r/MoonlightStreaming • • Aug 17 '26

A Comprehensive Guide to Moonlight/GameStream Servers, Clients, and Forks (2026 Edition)

357 Upvotes

If you are looking to tweak your streaming setup, fix stuttering, or find a headless virtual display solution, you don't have to stick strictly to the baseline Sunshine + official Moonlight setup.

Here is a breakdown of the active forks, alternative hosts, and FFmpeg-powered clients currently in the ecosystem based on what the community and developers are running right now.

🖥️ Hosts & Servers (The Senders)

  • NVIDIA GameStream: The original foundation that started it all. Officially deprecated by NVIDIA, but the bedrock of the protocol.
  • Sunshine: The modern, open-source standard GameStream compatibility baseline that replaced NVIDIA's official host.
  • Apollo: A Sunshine fork featuring capability-gated extensions and built-in virtual display support using SudoVDA. It is great for headless setups and auto-matches the resolution/framerate of your client.
  • Vibeshine: A highly active, AI-enhanced Sunshine fork focusing heavily on display automation, Windows Graphics Capture running as a service (which allows full framerate capture of frame-generated titles without VRAM crashes), and strict RTSS frame pacing integration.
  • Vibepollo: An Apollo fork that integrates Vibeshine's features (like the native virtual display driver and HDR handling) right into the Apollo architecture. This is highly recommended if you already use Apollo but want tighter frame pacing.
  • Foundation-Sunshine: A fork by AlkaidLab that adds HDR10/HDR Vivid, advanced audio support, optimized encoders, and a modernized control panel.
  • Wolf (Games on Whales): A completely different streaming server built from the ground up for Linux and Docker. It allows you to share a single host machine with multiple remote clients simultaneously by running games inside isolated containers.
  • Punktfunk: A newer, highly experimental low-latency streaming host/client protocol if you want to test out a completely different capture approach.

📱 Clients & Receivers (The Players)

  • Official Moonlight PC / Mobile: The standard baseline client for PC, macOS, Linux, iOS, Apple TV, Android, etc. (The PC Qt version heavily utilizes FFmpeg and libplacebo for decoding and rendering).
  • StreamLight: A massive Moonlight fork that completely overhauls the UI for gamepads. When paired with "StreamTweak" on the host, it unlocks deep integration like built-in Tailscale, live host metrics/NIC speed matching, remote pause, and the ability to remotely trigger Windows Updates and shutdown.
  • Artemide: Highly recommended for Android users. It features ultra-low latency (ULL), direct presentation, and built-in FSR presets (Performance/Balanced/Quality).
  • Artemis / Moonlight Noir: Apollo’s dedicated Android companion client, offering excellent host UX and virtual display integration.
  • Moonlight V+: An alternative Android fork that adds frame-generation support and extra host tools.
  • Artemis Switch: A Moonlight-Switch fork focusing on Switch-specific video presentation, FSR/RCAS filtering, and adaptive low-latency pacing.
  • Moonlight-Switch: The original upstream Switch client that Artemis is built on.

A little about my setup and testing: I actually work on the Artemis Switch fork, looking at multiple optimizations to eliminate stuttering and improve low-latency pacing on the console. Because of that, I’ve personally tested almost all these major combinations to see what actually works. My testing stack includes:

  • Hosts: Sunshine, Apollo, and Vibepollo.
  • Clients: Moonlight-Switch, my Artemis Switch fork, the Artemis companion client, and standard Moonlight Android.

I like vibepollo and Artemis

Let me know if I missed any niche forks or experimental branches you guys are using!

(Note: I had an AI help format this post to make sure links were laid out clearly!)


r/MoonlightStreaming • • Sep 21 '25

Guide/Tutorial Ultimate Guide to Configuring Moonlight + Sunshine for Remote Play

531 Upvotes

Edit: A lot of people are asking why not use Apollo. You can definitely use it and still follow this guide, it’s completely up to you. With Apollo, you need skip the Configuring Video Signals section and for the Sunshine Priority part just change the script to prioritize Apollo instead.

After running lots of tests and reading many posts to find the best configuration, I’ll try here to share the setup that works best for me and also compile some of the information I’ve gathered.

This test was conducted from a distance of 550 km (341 miles)

My specs:

  • Internet Service:
    • Host: 300 Mb connected via Ethernet
    • Client: 600 Mb connected via Wifi
  • Spec PCs:
    • Host: R5 2600 - RX 6600
    • Client Macbook Air M1

System Configuration

Host:

This setup is specifically for Windows, but the goal is the same if you’re using other operating systems:

  • Reduce FPS drops
  • Minimize the gap between the FPS set in the Moonlight client and the host’s FPS
  • Reduce latency
  • Configure the video and audio signal you want to stream

Reducing FPS Drops

  • Close background apps: Only keep the essentials to minimize unnecessary processes and network calls. Task Manager → Startup Apps → disable non-essential programs.
  • Disable Game Mode: Prevents Windows from prioritizing the game over Sunshine. Settings → Gaming → Game Mode → OFF
  • Disable Dynamic Refresh Rate (DRR): Keeps FPS synchronized between host and client. Settings → System → Display → Graphics → Optimizations for windowed games (Alternatively: Windows Registry or CRU — Custom Resolution Utility)
  • Enable High-Performance Power Mode: Control Panel → System and Security → Power Options → High Performance
  • Disable Energy Saver: Settings → System → Energy Saver → OFF

To optimize Windows 11 performance, consider using Win11Debloat or AtlasOS
Additional powershell script to improve performance

Enable: https://pastebin.com/42YBtx6T

Disable: https://pastebin.com/bKpmmFQC

FPS Capping

Once FPS drops are minimized, cap the FPS to keep it in sync with Moonlight’s client settings.

There are three ways to do this: using the NVIDIA Control Panel, AMD Adrenalin, or RTSS. In my case, I used RTSS and it works well for me, but you can try your GPU’s software if that’s sufficient. The advantage of RTSS is that it allows more precise configuration for greater stability.

Another thing I do is also limit the FPS within the game itself.

Reducing Latency

The most important step is to have your host computer connected via Ethernet. In terms of configuration, you can disable the Rx/Tx buffers on your network card, along with a few other tweaks that may slightly improve stability.

Device Manager → Network Adapters → Properties → Advanced →

  • Flow Control Disable
  • Advanced EEE Disable
  • Energy-Efficient Ethernet Disable
  • Gigabit Lite Disable
  • Green Ethernet Disable
  • Power Saving Mode Disable
  • Interrupt Moderation Disable
  • Large Send Offload Enable

Configuring Video Signals (avoid this step when using Apollo)

There are two scenarios:

  1. You have a monitor connected with the same resolution and refresh rate on both the client and the host.
  2. You have a monitor on the host that is different from the client.

For the first case, congratulations! You don’t need to do anything and can skip this part.

For the second case, you have two options:

  1. Install a Virtual Display Driver to Windows, and optionally a Virtual Audio Driver.
    1. With the Virtual Display Driver, you can simulate any resolution and refresh rate your screen supports.
    2. I don’t recommend the Virtual Audio Driver because it can cause issues with BattleEye anti-cheat. It’s better to just use a wired headset you already have.

Microphone Streaming

For those who need to use in-game voice chat, there are two main options for passing the microphone through streaming:

  • AudioRelay
  • VoiceMeeter

I haven’t personally tested either since I don’t need this feature, but they’re worth trying if microphone input is important for your setup.

Sunshine Priority (Windows Only)

Finally, for Windows users, one important step to do every time you connect from the client is to change the priority of the sunshine.exe process to Realtime. You can do this manually from the Task Manager or by using the following .bat script:

@echo off
powershell -command "Get-Process sunshine -ErrorAction SilentlyContinue | ForEach-Object { $_.PriorityClass = 'RealTime' }"
pause

Always remember to run it as administrator.

Windows Adaptation for Handheld Devices

For those using a touchscreen device as a client, such as a smartphone, tablet, or handheld, the Windows interface—originally designed for desktop use—can be quite uncomfortable. With the new release of the ROG Xbox Ally, Windows has introduced a more suitable adaptation for handheld devices, which can be enabled through the following repository: XboxFullscreenExperienceTool

Client:

The main goal on the client side is to reduce Moonlight’s decoding time and minimize latency.

In my case, I’m using a MacBook with an M1 chip, and the only way to reduce decoding time is by testing which codec works best—in my case, HEVC (H.265).

To reduce latency on macOS, the only (but very important) thing you can do—since it can cause micro stutters—is disabling Location Services:

System Preferences → Security & Privacy → Privacy → disable Location Services

Another important change to make on macOS is to disable the long key press for special characters. This prevents issues during streaming when holding down a key for example, the W key so it doesn’t get stuck or stop repeating.

defaults write -g ApplePressAndHoldEnabled -bool false

More info about shuttering in Mac OS

If you’re using a PC, you can improve decoding time by upgrading your hardware, and reduce latency by disabling the Rx/Tx buffers and tweaking your network card, following the same steps as on the host.

Moonlight & Sunshine Configuration

Moonlight Configuration:

Set Moonlight to use your monitor’s resolution and an FPS value that matches your internet connection. Leave some headroom compared to your client’s max download speed and your host’s max upload speed.

For example, my monitor is 1440p and 180 Hz, but I have it set to 1440p at 120 Hz. Higher resolutions and refresh rates consume more bandwidth on both the client and host, and require greater decoding and encoding power.

Note: Higher compression codecs (like H.265 or AV1) → less bandwidth needed → more CPU/GPU power required for encoding/decoding.

Codec Compression Bandwidth CPU/GPU
H.264 Lower High Lower
H.265 Medium Medium Medium
AV1 High Lower High

More info: https://www.reddit.com/r/MoonlightStreaming/s/MqoI9LVQ4C

Recommended Settings:

  • Display Mode: Full Screen
  • V-Sync: Unchecked (Recommended in single-player)
  • Frame Pacing: Unchecked (ONLY single-player may add delay)
  • Video Decoder: Force hardware decoding

Note: Both V-Sync and Frame Pacing are highly recommended for single-player games since they provide a much smoother experience. However, in multiplayer games, V-Sync may cause screen tearing, and Frame Pacing can introduce a bit of input lag by delaying frames to improve synchronization.

Enable HDR (Experimental): I keep this enabled even though my monitor isn’t HDR because it can bring out better shadow details. I recommend trying it—you might see an improvement or no noticeable difference.

Unlock Bitrate Limit (Experimental): Enable this if you have enough upload bandwidth on the host and download on the client. Otherwise, leave it off and increase the video bitrate slightly if you notice small lag spikes.

Sunshine Configuration

I mostly keep Sunshine/Apollo at its default settings, except for the GPU options. Below, I’ll share what works best for AMD GPUs. If you’re using NVIDIA or Intel, you may need to experiment to find the optimal configuration for your system.

Note: My goal is low latency for online gaming. If you’re playing single-player games, you can prioritize quality over latency.

  • AMF Usage: ultralowlatency
  • AMF Rate Control: vbr_latency
  • AMF Hypothetical Reference Decoder: unchecked
  • AMF Quality: speed (may add artifacts)
  • AMF Preanlalysis: unchecked
  • AMF Variance Based Adaptive Quantization: checked
  • AMF Coder: cavlc

Client-Host Connectivity

LAN (Local)

For players who want to play over LAN, there’s little to worry about since latency will be very low. In my tests, I observed only about 5 ms of extra delay.

If you want the absolute best performance, you can connect both devices directly via an Ethernet cable. This can reduce latency to around 1 ms, making it almost like playing directly on the host.

You can turn on the host remotely using the motherboard’s Wake-On-LAN feature. Moonlight even allows you to power on the host directly from the client.

WAN (Remote)

For those who need to play over WAN, there are a few additional steps required. It can be more challenging if you want the lowest possible latency, but if you can tolerate 15–20 ms, it’s not too difficult.

There are several ways to achieve this, but I’ll explain the three main approaches:

  1. Using a service like Tailscale, ZeroTier, or Netbird
  2. Opening ports on your network to access the host externally and setting up a VPN
  3. Setting up a private service (similar to the first option) with Headscale or another program, possibly using a cloud server like AWS

Option 1: VPN-like services

These applications are simple to install and configure, making them accessible to most users:

  • Tailscale: Free
  • ZeroTier: Free
  • Netbird: Free (uses WireGuard directly through the Linux kernel—potentially a great option for Linux users)

For the other options, I won’t go into detail because they are more complex and require technical knowledge. However, they are certainly the best options for users who need the absolute lowest latency.

To power on your PC over WAN, a simple Wake-on-LAN (WoL) won’t work unless your host has an internet-facing connection. In my setup, I use a TP-Link smart plug to turn the PC on remotely from my phone. Make sure to enable “Restore Power after AC Loss” in your BIOS/UEFI so the PC powers on automatically when the smart plug is switched on.

I hope this guide helps you and gives you everything you need to get these amazing tools running without too much hassle. The post is open to improvements, so if you have any suggestions or tips, don’t forget to share them in the comments!

Shoutout to everyone working on these open-source tools mentioned in this post.

Note:

After the launch of the Steam Deck and Steam Machine, Steam has worked quite a bit on improving Steam Remote Play, which now supports Virtual Display Driver and performs much better than before. I'm leaving this comment here for those of you who aren't too demanding or don't want to overcomplicate things, so you feel encouraged to give it a try.

Update 13.10.25: MacOS client settings

Update 23.10.25: New scripts for Windows host and Windows handheld mode

Update 13.04.26: Windows optimization recommendation

Update 17.07.26: Steam Remote Play alternative


r/MoonlightStreaming • • 14h ago

I tested Moonlight and PyroWave (via recent Steam release) at 4K - tested with Lag/image quality/gameplay tests!

Thumbnail
gallery
59 Upvotes

I tested PyroWave now that it's on the stable Steam client! I compared it to Moonlight's HEVC (Vibepollo/nonary moonlight fork) I tested it by streaming from PC to my Steam Deck and outputting to a 4K monitor. I used a custom 240 fps lag test timer, a sustained gameplay test, and an image quality test. It's a lot of data, but here are the results!

Lag test (4K60 → Steam Deck LCD, median)

Link Moonlight (HEVC) Steam (PyroWave)
HDMI cable, no streaming 0 frames 0 frames
Ethernet 17 ms ¡ 1 frame 17 ms ¡ 1 frame
Wi-Fi 6E 17 ms ¡ 1 frame 50 ms ¡ 3 frames

Gameplay test (FF7 Remake Intergrade, host logs ingested/aggregated)

Link Moonlight (HEVC) Steam (PyroWave)
Ethernet ~59 fps ¡ 86 Mbit/s ¡ stutter at ~2 min 60 fps ¡ 330 Mbit/s ¡ no stutter
Wi-Fi 6E ~58 fps ¡ 89 Mbit/s ¡ stutter at ~2 min 60 fps ¡ 329 Mbit/s ¡ no stutter

Image quality test (VMAF 0–100, capture control = 94.5, same on both links)

Score Moonlight (HEVC) Steam (PyroWave)
Overall 81 80
Gameplay 82 82
Gameplay, worst 1% of frames 58 78
Desktop text 80 73

Opinion based on the data and the "feel"

For ethernet - I prefer PyroWave even though the frame lag was close - the picture just looked a little smoother and a little better to me! But I was impressed by Moonlight's latency optimizations for HEVC.

For wifi - unless you're really confident in your wireless setup I'd recommend Moonlight's HEVC (or Steam's) for most people you're going to have a better time. I put a lot of effort into improving my wireless network, but I still couldn't get the latency as low as I'd like. But I still prefer the PyroWave picture on wifi

For gameplay / slow motion video and more details check this out if you're interested: https://www.youtube.com/watch?v=5VHGS0-4Fik


r/MoonlightStreaming • • 23h ago

UPDATE: Lowest latency wireless controller

177 Upvotes

Update on my original post.

First: THANK YOU!!! - So many of you responded with issues and feature requests, so thank you! I've been taking feedback and implementing what this community has asked for and what it has been talking about:

Sunshine, Apollo and Wolf support

You can now connect to your Sunshine/Apollo/Wolf hosts directly. Satellite (the receiver app) is still the faster/more reliable path, and you need it for most of the DualSense stuff below.

DualSense

  • Rumble in games that do it the quirky way, like 007 First Light, God of War and Horizon
  • HD haptics
  • Adaptive triggers
  • Mic and speaker
  • Plus light-bar, player lights, mute light, touchpad, gyro, battery, and PlayStation button prompts!

Note: I don't own a DualSense... So I'm really relying on feedback as much as possible. Also: the first four, plus player lights and the mute light, need Satellite on Windows. Satellite on Linux and the Moonlight hosts get most of the rest, plus normal rumble.

Steam Controller

Now supported. Use USB direct. Note: Also don't own this one, so please give me feedback.

More clients

What's coming

Apple costs money and there is no guarantee that they will give me access to the APIs I need. If you want to see it happen faster, feel free to donate

  • iOS client. I've sunk a bunch of money into this, and I'm saving up for the iOS version. Feel free to speed it up with a tip.
  • Mac client, In progress
  • Mac host, starting on it soon. Same deal as last time: I only own a handful of controllers, so tell me what breaks. If you have a DualSense and a Windows PC, I'd especially love to hear how 007 First Light, God of War or Horizon feel. If something is broken, a screenshot of the Diagnostics screen would be super helpful. Fingers crossed you like it!

Edit: the lag you are seeing is because I left it on 4k - 150mbps after doing some stress testing. I'll post a video where that isn't the case to really showcase the real time feel of the whole thing.


r/MoonlightStreaming • • 11h ago

A Samsung TV moonlight Update.

16 Upvotes

Hi all, it has been some time since my last post of moonlight on Samsung TVs. since then a lot has improved over time and multiple forks of it are available.

Currently, moonlight-Tizen by brightcraft is what is recommended to use as it is maintained as best as it can, and features that are added.

There are also other previous builds of moonlight forks on the Samsung TVs for some users that wants them.

All of which infomation can be found at the link below.

See here: https://github.com/OneLiberty/moonlight-chrome-tizen/discussions/121

thanks for reading.


r/MoonlightStreaming • • 13h ago

Finally fixed my network, comparison of my Pyrowave vs HEVC

Post image
16 Upvotes

r/MoonlightStreaming • • 21h ago

Nightjar: an Android streaming client with automatic bitrate, Android 16 adaptive refresh, tuned hardware decoding and GPU-decoded PyroWave

43 Upvotes

I used to stream my PC to my phone with Artemis clients, and the same things kept bugging me. I had to pick one bitrate up front and hope it held: too high and it stuttered the moment someone used the Wi-Fi, too low and everything turned to mush. When it did stutter, the overlay showed numbers but never said whether the network, the phone's decoder or my PC was to blame. A 50 fps game juddered on a 120 Hz screen. My phone got hot and throttled halfway through a session with some of its settings, and nothing in the app reacted. Fast phones were treated like any other phone, so the decoder in a recent Snapdragon never got pushed. And the extras I liked worked with one host and quietly did nothing on another.

So I built Nightjar, with one goal: get the best stream your phone or android handheld, your network and your host can actually deliver, measure instead of guess, and tell you plainly when something is holding it back. It's a free, open-source (GPL-3.0) Android client for Sunshine, Apollo, Vibepollo, Rubylight and any other Moonlight-compatible host.

Demo (69 s): https://ramazankara.github.io/nightjar/#demo Download (APK) and source: https://github.com/RamazanKara/nightjar

1. Automatic bitrate and quality You don't pick a bitrate and hope. Nightjar watches packet loss, jitter and how much headroom your phone's decoder has left, and moves the bitrate anywhere up to 2000 Mbps where the host allows it. It drops fast when the link gets worse and climbs back slowly once it's healthy, so it doesn't bounce. Automatic quality goes a step further and changes resolution and frame rate mid-stream toward the goal you pick: smooth motion, sharp detail or battery life. Both back off before your phone gets hot enough to throttle. On any host you can still set the bitrate yourself, also up to 2000 Mbps.

2. Android 16 adaptive refresh (ARR) On phones with Android 16's adaptive refresh, the screen follows the game's actual frame rate instead of a fixed 60 or 120 Hz. A game running at 50 or 72 fps is shown at that cadence, without the judder of frames landing between refreshes. Hosts that support VRR (Rubylight, Vibepollo) are asked to pace frames to the game too, and also told how long each frame waits for your screen so it can time them. Other phones fall back to their maximum refresh rate.

3. Decoding tuned for your phone's chip Nightjar asks the hardware decoder which low-latency settings it really supports and turns those on, across Qualcomm, Samsung Exynos and Google Tensor, MediaTek, Kirin and NVIDIA. On Snapdragon 8 Gen 2 and newer, frames are released through a faster fence instead of waiting on the default one. Once per phone it benchmarks each codec on a short game-like clip, so Automatic picks the one that decodes fastest on your device, not just the one it supports. At very high bitrates the decoder gets input buffers big enough for the largest frames, so the stream doesn't fall over at 1 Gbps. The overlay shows which settings the decoder accepted and its decode time, so you can see the effect yourself.

4. Upscaling on the phone Stream at 720p to a 1080p or 1440p screen and let the phone's GPU rebuild the detail with AMD FSR or Qualcomm's Snapdragon GSR. Fewer pixels go over Wi-Fi and through the decoder, so you get a lower bitrate, less decode time and less heat for a picture that still looks sharp. Sharpening is adjustable, and if the GPU gets overloaded it switches back to plain output instead of dropping frames.

5. PyroWave, decoded on the GPU (Only with PyroWave enabled Hosts). PyroWave is a wavelet codec built for the lowest decode time at high bitrates on a fast LAN. Nightjar decodes it in Vulkan, including full 4:4:4 colour for sharp desktop text. Decoding and display run on separate threads, so a new frame never waits behind one the screen hasn't shown yet. A lost packet only affects its own part of the picture instead of smearing the frame until the next keyframe. Upscaling runs in the same pass, and on Snapdragon phones you can load a newer Adreno driver for extra speed, with an automatic fallback to the system driver. Nightjar also tells the host your wired link speed and can calibrate a loss-free frame pace, and it warns you when the bitrate is below what PyroWave needs. Needs a 64-bit phone with Android 10+ and Vulkan 1.3.

6. Host telemetry, and why it stuttered (only on supported hosts). The overlay can show your PC's CPU load and GPU usage, temperature and power next to your phone's numbers, so when frames drop you can see whether the PC was maxed out. The default overlay is one line: FPS, round trip, loss and a dot that turns amber or red. A "why did my stream stutter?" view points at the network, the decoder, the host, the display or heat.

Also in there:

  • Controllers and voice. A USB DualSense gets adaptive triggers, rumble, lightbar and Edge paddles on any host, plus waveform haptics and its own speaker and mic (only on supported hosts). Your android's mic can go to the PC for voice chat. Xbox USB controllers, Switch Controllers work through a built-in driver. Integrated Keyboard with combined trackpad fully customizable and includes shortcut function like task manager.
  • Configure your Virtual Display Pick per PC whether the stream gets its own virtual display at your phone's resolution. You can also choose what happens to your monitors: the virtual display alone, extended beside them, made primary, or the physical display. Remote Monitor watches a PC without taking over its input, and Input-only controls it with no video. Clipboard sync, host commands and one-time-PIN pairing.
  • Touch and on-screen controls. A natural trackpad with acceleration and glide, a Local cursor drawn on the phone, or touch off for controller play. Per-game on-screen controls with keys, buttons, sticks, triggers and a D-pad, in an editor with grid snapping, and you can import your Artemis layouts.
  • Stream it your way. Fit, Fill, Stretch or 1:1 scaling, portrait streams and rotate-with-device. Named profiles that switch by network, per-game settings and a mobile data bitrate cap. Quick resume from the PC list, and an opt-in setting that rides out network drops of up to 60 seconds instead of ending the stream.
  • More controllers. A controller test page, an opt-in USB driver for the Switch Pro Controller, and rumble off.
  • play away from home. A built-in Tailscale guide that tests the connection and shows whether it runs direct or through a relay.
  • Tools for tinkerers. An input-to-screen latency test, a decoder benchmark that runs without a PC, frame timings as CSV, and device results you can share to a public table of how phones perform. The stream doctor also spots stutters that repeat on a steady beat and shows your Wi-Fi band, signal and link speed.
  • 15 languages.
  • No switches that do nothing. Nightjar reads what your host supports and only shows options that work there. If something needs a host setting or update, it says which one.
  • Updates itself. It checks GitHub for new releases and installs them after verifying the checksum, so a sideloaded install doesn't go stale.
  • Launcher Support. supports ES-DE, Daijisho and many other launchers! Configure it once on your launchers and never see it again.
  • wide range of compatibility. TV Aware Interface Android TV integration and Remote Control navigation, Handhelds, TV Boxes, Fire TV Sticks, Phones.. you name it. Made for all Androids.
  • Lightweight 30 MB Disk usage and nearly no RAM when idling. On max GPU Clocks on and Pyrowave it will sweat your GPU though.

No ads, no analytics, no accounts.

About the Host-only parts: I don't want the best features to depend on which host you run. I'm reaching out to the other host projects about supporting automatic bitrate, host telemetry, the mic and PyroWave-specific optimizations, and about one shared way for hosts to report what they support, so any client can use these extras with any host. Until then, Nightjar works with whatever your host offers today.

“Great, another Android client.” I get it. But this isn’t a reskin with a new icon. The six things at the top don’t exist in the other clients, and I’m not trying to lock anyone in: where a host can do more, I’d rather it become a shared standard every client can use. If your current client already does everything you want, keep using it. If you’ve hit the same walls I did, give it ten minutes.

It's an early release, so expect some rough edges. If something breaks, Settings → App → Report a problem creates a log you can attach to an issue, and I read every one. I'd especially like to hear how ARR, upscaling and the decoder tuning work on your phone. If there's a feature you're missing, tell me here or open an issue, and pull requests are welcome.

Input latency demonstration and Stats example are in the comments!


r/MoonlightStreaming • • 38m ago

Hey guys, im new to this and need some guidance <3

• Upvotes

Hey, so my Pc is downstairs and i always wanted to play some games on my Tv thats upstairs, but didnt want to buy something expensive. I already have a 5080 in my pc, so i wanted to use that.

I read about Steam link, but that seems to be discontinued and then i stumbled across Moonlight + Sunshine.

My question would be: What would be the best device for me to stream onto? I Have a mediocre Laptop and a Switch i could use. The Tv doesnt have the App accessible.

I heard with a switch you need to root it, so i would want to keep it as simple as possible with minimum input lag.

Would it work for me to connect my laptop with lan, then use Moonlight on it + Sunshine on the gaming rig and connect the laptop to the TV? What about image quality?

Im a bit confused about all of that and hopefully some one can help me out with that. ^^ Thanks alot!


r/MoonlightStreaming • • 6h ago

Introducing Nightfall Meteor v0.8.1

3 Upvotes

Hi everyone, I'm excited to share the next evolution of my VR gamestream client Nightfall.

For those of you who do not recall, Nightfall is a VR first gamestream client developed primarily for the Quest 2/3/3s. What's special about it is that it does 2d-to-3d conversion on the headset, allowing you to watch 2d media and games in 3d.

Doing depthmap inference on the Quest is quite taxing on the hardware and it comes with a lot of limitations in order to get it to work at an exceptable level.

The obvious and easiest solution would be to move the processing to the host, however this means changing the code for Sunshine, Apollo, Vibepollo etc. etc. and every host under the sun. The amount of forks makes it difficult to really unlock the possibilities of what can be done.

So I have made Meteor - a small unintrusive app that you install next to your chosen gamestream host. It doesn't do anything too special right now, it acts as a proxy, takes the frames and create depthmaps out of them, on the fly. The Nightfall client automatically detects that Meteor is available and would use it for inference. This allows doing depthmaps at 120fps (or more...) and using much more powerful models.

At this time I have only added Video Depth Anything, as this is really fantastic for stability as well as image quality, but I will be investigating many more models.

This isn't too unsimilar to other host based realtime 3d services, but I think for flexibility and ease of use, I think it will be hard to beat.

This also opens the door to add more host based enhancements that would be extremely difficult to get matching changes into every host, so stay tuned.

This is a big update, and it's packed full of fixes and improvements. You can visit the release page for more info, but here is a summary.

  • USB link
  • Pyrowave codec
  • Custom trained EdgePad (ZipDepth) models with improved image stability and quality.
  • Microphone Passthrough (With Meteor)
  • 21 Language Translations
  • Improved hand tracking

Some caveats: - I honestly wouldn't use Pyrowave on the headset, since it's GPU intensive and takes away from Passthrough and AI 3d, but I can see a use for it by going the USB/Passthrough off/Meteor route, depending what you are doing with it. - Hand tracking is useable in order to get you into a stream/game, but I wouldn't really use it to try navigate a desktop.

Would really love people to try it out and give feedback, thanks for reading!

GitHub: https://github.com/tB0nE/nightfall

Release: https://github.com/tB0nE/nightfall/releases/tag/v0.8.1

PS. If you are feeling extra spicy, keep an eye out for (buggy)pre-release versions. The current dev version introduces a BROWSER. This means you can use Nightfall without a computer, watch youtube with the 3d effect, or even play XBox Gamepass! It's functional, but still in development!

Preview Release: https://github.com/tB0nE/nightfall/releases/tag/v0.8.2-preview.1


r/MoonlightStreaming • • 2h ago

Mejor forma de jugar con Steam link en portatil

Thumbnail
1 Upvotes

Moonlight va mejor?


r/MoonlightStreaming • • 10h ago

Is it possible to stream from my PC to my macbook Neo, then connect the laptop to my TV?

2 Upvotes

I'm pretty sure you can and it's more powerful than just buying a stick or installing the app on my TV, but I was wondering how well it does.

I'm trying to get a 4k60hz stream going, but not too sure if I need to adjust anything or the Neo simply can't do 4k60.

Also, I do need a dongle to connect it from usb-c to hdmi right?

Host: 9600x and 5070 ti. Running apollo.

Client: Macbook neo base

Technically the real client which is my TV: Some big ass roku tv


r/MoonlightStreaming • • 6h ago

Opinions please: Xiaomi Pad 8 vs Lenovo Idea Tab Pro (Gen 2)

1 Upvotes

Hi everyone,

I'm looking at getting a new tablet, and my main use case is going to be Moonlight streaming, primarily at home.

I have narrowed it down to the Xiaomi Pad 8 11.2” 128GB (AUD$550 / ~USD$380) and Lenovo Idea Tab Pro Gen 2 13” 256GB (AUD$750 / ~USD$500). Both run a Snapdragon 8s Gen4 and ~3k 144hz displays, but the Lenovo has 12GB RAM vs 8GB in the Xiaomi.

Besides my PC, I typically use Apple devices, and will be swapping out my iPad mini for this new tablet, so I don’t have much real world experience with Xiaomi as a brand (Quality?) or Lenovo/android tablets in general.

This will mostly be for streaming while I’m on the lounge/in bed, so I can spend more time around the family and not be stuck in another room if I’m in the mood to play a casual game.

I initially looked at the Legion Gen 3, but decided I wanted something bigger given I’ll be at home and using a stand/mount most of the time with a controller.

I’m leaning towards the Lenovo at present, mainly because of the additional RAM and ability to extend storage via SD card, so it feels more future proof to me.

Wondering if anyone here has experience with either device and its overall + Moonlight performance?

Appreciate any and all opinions/recommendations/suggestions for viable alternatives in this price range. Based in Australia for reference/device availability.

Thanks in advance!


r/MoonlightStreaming • • 17h ago

VRR optimization - RTSS Front Edge Sync

2 Upvotes

I just found this video ( G-Sync & FreeSync: The Problems Nobody Talks About - YouTube ) and I wanted to understand if this could be a nice setup in streaming too.

He's saying to set RTSS on frame presentation, using front edge sync and disabling the passive waiting. This is boosting the 1% and 0,1% to get the VRR not fluctuating, this should give a perfect pacing.

Is this going to work streaming from the host to the client? Is it going to add some latency? (But maybe removing the frame queue and vsync latency?)


r/MoonlightStreaming • • 1d ago

Pyrowave vs AV1

Post image
5 Upvotes

Hey everyone! I was testing out the new versions of Vibepollo 2.0.1 and Moonlight vrr18 yesterday. My client is a Steam Deck OLED, connected over a 1 Gbps network.

  • Pyrowave was set to 750 Mbps
  • AV1 was set to 150 Mbps

I have a few questions regarding Pyrowave:

Is 750 Mbps enough for 4K @ 60 FPS? I've seen some info stating that it can peak up to 1.5 Gbps, and that a 2.5 Gbps network is recommended.

When Pyrowave updates, do we have to wait for new releases from Nonary?

Has anyone else tried Pyrowave? What are your results and impressions?

At a normal viewing distance from the TV, I notice some blurriness at 300 Mbps, but at 750 Mbps, the image looks crisp. However, compared to AV1, Pyrowave offer 4:4:4 when it comes to text readability.


r/MoonlightStreaming • • 16h ago

Mod Managers

1 Upvotes

This may be a dumb question, but ive set up Sunshine on a VM on one of my proxmox nodes, to have a headless remote gaming option in the living room, but I want to run the exe in Vortex. (A mod Manager if your unaware).

For example, Stardew Valley, I wanted to play it with Mods, but I need to run SMAPI to make the mods work, but I cant just open SMAPI on its own, I need to launch it through Vortex as far as I can tell. So I cant just give sunshine the filepath to SMAPI's exe as it doesnt open anything. Has there been any consideration for this? Or is this not something I can solve easily?


r/MoonlightStreaming • • 1d ago

Thoughts on the new Steam Link software?

4 Upvotes

I love moonlight and use it daily, but sometimes Steam Link just kinda works, especially outside the house. There was an update recently that supposedly improves it a bunch. I tried it and it does seem better. Anyone have any info on it and how it compares to moonlight?


r/MoonlightStreaming • • 1d ago

I ran Ethernet cables throughout my house and got disappointed for streaming

41 Upvotes

Hey guys, I just finished wiring up the rooms in my house so I could stream games to my living room, and it was great... for a little while.

I was playing over 5GHz Wi-Fi and things were OK, but I decided to switch to a wired connection. The difference was HUGE in terms of image quality, but I feel like something is causing occasional lag spikes. My network latency stays at around 1ms, but every now and then it suddenly spikes and the image becomes extremely blurry for about 30 seconds.

Here's my FULL SETUP:

  • Modem in bridge mode > Redmi AX5400 router > TP-Link LS1005G switch
  • Vibepollo on my wired PC (Ryzen 7 5700X3D, 32GB RAM, RTX 4070 Super)
  • Moonlight QT on Steam Deck, connected via a wired Baseus dock to play on TV 1440p 60fps
  • I'm using PYROWAVE

TL;DR: Most of the time, network latency is around 1ms. Every few minutes, it spikes to 20, 30, or even 50ms, the image gets blurry, and everything starts stuttering for about 20–30 seconds. Then it goes back to normal.

Has anyone experienced anything similar or have any idea what could be causing this? Any help would be greatly appreciated!

EDIT. Testing the speed between Host and Steam Deck with OpenSpeedTest, I noticed that the Steam Deck was only able to reach 300 Mbps download speed, while upload speed on the local network reached 990 Mbps.


r/MoonlightStreaming • • 23h ago

Nonary's moonlight app vrr setup instructions?

3 Upvotes

is there anywhere to actually have a guide for proper set up? i have a legion go 2 so vvr is capable.


r/MoonlightStreaming • • 1d ago

Website dedicated for finding touchscreen or controller friendly games on mobile?

3 Upvotes

Sorry if this has been posted already, but is there a searchable database for finding games good for playing on a phone (via Moonlight)? Touchscreen friendly?


r/MoonlightStreaming • • 23h ago

Dedicated 6ghz WiFi AP suggestions

2 Upvotes

Currently I have a little travel TP-Link being used as a dedicated streaming router between my PC and my ISP box. Unfortunately I’ve used WiFiman to scan my surroundings and because I’m in an apartment, the 5ghz band is completely congested, and I still get a small amount of packet loss.

The only time I don’t get packet loss is when using a DFS channel, but that only lasts about 10 minutes until it picks up a radar signal and has to switch back to one of the congested channels.

I’m looking for a 6ghz WiFi AP that is hopefully not too large, and also not 500 dollars. Any help would be appreciated. 🙏


r/MoonlightStreaming • • 1d ago

PSA or maybe not

2 Upvotes

Could just be me being dumb and this was already general knowledge but Artemis has the ability to do picture in picture mode which is great for multitasking when streaming to an android handheld and even better a phone.

It's under UI Settings > Advanced > Enable Picture-in-Picture observer mode.


r/MoonlightStreaming • • 1d ago

Has there been any fix for using Moonlight with Apple TV?

4 Upvotes

I tried a while back on my 2 different Apple TV/TV setups. Xbox controller connected to both. Both times unplayable due to input lag.

I know when I was looking into this a year or two ago this was a known issue. But has there been any updates? It seems nothing has moved or changed, is that correct? Is it Moonlight side? TvOS side? Searching around still see the same claims of “it’s busted” and “it works perfectly!” which is similar to what I was seeing last time. But guessing no change?


r/MoonlightStreaming • • 2d ago

Finally found my endgame cloud/gaming setup

Thumbnail
gallery
152 Upvotes

After trying out multiple handhelds and tablets. I finally found my endgame. This Lenovo Y700 Infinite is the ultimate entertainment machine. It can handle everything from native gaming to eye popping pc streaming with the oled screen.

Haven’t seen people reviewing/posting this tablet. Feel free to drop your questions if you have.


r/MoonlightStreaming • • 1d ago

Vibepollo - Controller gamepad enabled but not working

2 Upvotes

So i just installed vibepollo because i see so many people talking about it. I cannot get the damn controller working. I didnt have this issue on Apollo. Installed apollo, added playnite and thats it. I have the controller enabled for the client, not sure why its not working. Any input as to what im doing wrong?


r/MoonlightStreaming • • 1d ago

Will this work for games with anticheat.

2 Upvotes

Im going to use moonlight and sunshine to stream games to my ipad one its convenient two better display (atleast i think). Will this work for games like call of duty fortnite or rainbow six seige with anticheat?

Kudos!