r/MoonlightStreaming • • 37m 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 • • 14h ago

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

Thumbnail
gallery
62 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 • • 13h ago

Finally fixed my network, comparison of my Pyrowave vs HEVC

Post image
15 Upvotes

r/MoonlightStreaming • • 21h ago

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

44 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 • • 23h ago

UPDATE: Lowest latency wireless controller

181 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 • • 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 • • 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 • • 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 • • 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 • • 11h ago

A Samsung TV moonlight Update.

15 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 • • 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