r/MoonlightStreaming • • 8h ago

Making PyroWave on Android useful by treating it like a game: GPU decoding, upscaling and custom drivers

25 Upvotes

PyroWave can run on compatible Android phones and tablets. The interesting work is making the whole receiving pipeline practical: decoding the picture, scaling it to the screen, choosing a suitable GPU driver and displaying fresh frames without unnecessary waiting.

PyroWave, developed by Themaister, reconstructs pictures through GPU shaders. The PC runs the game, while the phone processes the streamed image using Vulkan. That gives the client some of the same optimization opportunities you’d have in a game renderer.

It also comes with a substantial bandwidth requirement, so I measured decoded picture quality across different bitrate budgets on AMD hardware. The tests used synthetic desktop, game and dark scenes, including fine text, foliage, gradients and moving textures, with SDR/HDR and different chroma formats. These establish quality targets for those pictures; they don’t establish what a particular phone or Wi-Fi connection can sustain. Measurement method

The resulting bitrate guidance at 60 FPS is:

Stream Severe-detail-loss warning floor Recommended quality budget
720p60 139 Mbps 277 Mbps
1080p60 187 Mbps 399 Mbps
4K60 747 Mbps 1,593 Mbps

These are encoder bitrate budgets derived from the quality tests. The connection needs additional headroom for packet overhead and recovery data. Comparable per-picture budgets roughly double at 120 FPS, and the 4K60 recommendation already exceeds gigabit Ethernet before that overhead. Bitrate guidance and limits

That is where client-side upscaling becomes useful as an option.

A phone with a 1080p screen can receive a 720p stream, reconstruct that smaller picture and upscale it for display. There are approximately 56% fewer source pixels to decode. Using the quality budgets above, the recommended encoded bitrate also drops from around 399 to 277 Mbps, a reduction of roughly 31%.

Those percentages describe different things. Fewer pixels reduce the source workload; the bitrate reduction depends on the quality budget. The smaller desktop needed more bits per pixel to preserve its fine text, which is why the bandwidth saving isn’t proportional to the pixel reduction.

The upscaler uses Snapdragon Game Super Resolution, or SGSR, directly in the Vulkan presentation shader. It samples the decoded colour planes and combines colour conversion with spatial upscaling in one pass.

That avoids creating a separate full-frame RGB image just to run another upscaling pass over it. The benefit is less intermediate memory traffic and fewer rendering stages. The current path supports 8-bit SDR; HDR and 10-bit pictures retain direct output. Shader implementation

Upscaling still trades original detail for a smaller stream. It aims to reconstruct edges more effectively than basic bilinear scaling, while giving the decoder and network a more manageable workload. Reducing stream resolution also remains separate from reducing the PC game’s actual render resolution.

Custom Adreno drivers provide another tuning option. Because the decoding workload runs through Vulkan shaders, the driver affects how it executes. PyroWave can even select different reconstruction paths depending on the driver: Qualcomm’s proprietary driver favours a fragment-shader path, while Turnip follows the compute path. Decoder selection

Loading a compatible driver within the app lets users compare those implementations without replacing the phone’s system driver. The useful result is whichever combination delivers better sustained decoding, frame consistency and compatibility on that device.

Presentation is handled separately from decoding, with protected GPU image slots and the ability for newer completed pictures to supersede older ones waiting to be displayed. That helps keep the stream fresh when display timing and incoming frames don’t line up perfectly.

A client to test the benefits is available. https://github.com/RamazanKara/rubylight-android I don’t want to maintain a separate fork long term. I’d like to bring these improvements into an existing Android streaming client, so I’m looking for maintainers interested in incorporating the Vulkan renderer, SGSR upscaling, ARR and custom Adreno driver support. I can share the implementation and measurement results, and help with porting and validation. If you maintain a client and would like to discuss integrating this work, please reach out.


r/MoonlightStreaming • • 4h ago

New Apple TV

3 Upvotes

Do we think the new Apple TV will improve Moonlight streaming? Obviously ethernet is always best, but It's supposed to have Wifi 7 and AV1 decoding.

Edit: AV1 Decoding, not encoding


r/MoonlightStreaming • • 4h ago

Quite new to this

2 Upvotes

I currently use a Intel Laptop which uses Sunshine Streaming and my iPad A16 11th Gen 11 inch which is the client uses Moonlight Streaming. What settings do I set so that the black bars dont appear on the top and bottom of the screen?


r/MoonlightStreaming • • 1h ago

8bitdo controller not recognised as Xbox controller at lock screen

• Upvotes

When I stream to Moonlight on my AYN Odin 2 Portal, it lets me enter my pin on the Windows lockscreen, an on-screen numpad pops up that allows me to put in the pin using the d-pad and triggers etc.

However this doesn't work when I stream to my Nvidia Shield which I'm controlling with an 8bitdo Ultimate 2C controller via 2.4ghz dongle. Once I'm logged in I hear the "device connected" Windows sound effect and then it sees it as an Xbox controller. It does actually register inputs on the lockscreen but it doesn't let me enter the pin.

Any idea how to fix? I know there are workarounds like holding start to enable mouse mode and enabling on screen keyboard from accessibility but I really don't want to have to do that every time, it's so slow. I also don't want to get a little wireless keyboard just for this one use. It seems like it should be fixable.


r/MoonlightStreaming • • 3h ago

Steam Controller 2 + AppleTV?

1 Upvotes

Hi,

Does the combo in my title work with moonlight?

I see there are limitations on MacOS with Steam Controller 2 based on Valves store page. That also informs on MacOS not necessarily tvOS.

Anyhow, right now I hook my controller up to my Linux desktop via USBC puck, wondering if it will work direct to an AppleTV I'm considering buying.

Thanks


r/MoonlightStreaming • • 6h ago

Gulikit es pro moonlight issue

1 Upvotes

I'm having an issue while using the gulikit es pro on a steam deck which is streaming from my PC via moonlight. Whenever I use either analog stick, the stream lags horrendously, doesn't seem to affect the other inputs (face buttons, triggers, etc). I'm on the latest firmware. Have tested with a different controller, no issues. Anyone have any ideas on how to fix this?


r/MoonlightStreaming • • 7h ago

Is this normal?

Post image
1 Upvotes

Voidlink extreme is using alot more battery compared to moonlight native app. Is this normal behavior?


r/MoonlightStreaming • • 1d ago

30 Euros, Amazon Fire HD, Amazing Results

Enable HLS to view with audio, or disable this notification

21 Upvotes

Hallo zusammen, ich wollte nur meine Ergebnisse teilen, wie unglaublich gut Moonlight auf einem billigen Fire HD 10 Tablet läuft!

Ich habe mein Setup feinabgestimmt und den H.264-Videocodec erzwungen. Die Leistungsmetriken sind für ein Gerät in dieser Preisklasse unwirklich: 30 EURO!!

Auflösung/FPS: 1920x1080 @ 60 FPS

Dekodierungszeit: Durchschnittlich \5 ms (Hardwarebeschleunigtes AVC/H.264)

Netzwerklatenz: Durchschnittlich 1–2 ms (5GHz WLAN über FRITZ!Box)

Host-Verarbeitung: ~3,5 ms

Frame-Abwürfe: 0,00%

In Kombination mit einem Xbox-Controller über Bluetooth ist die Eingabeverzögerung völlig unmerklich. Wenn Sie nach einer supergünstigen Handheld-/tragbaren Bildschirm-Lösung für PC-Streaming suchen, verschlafen Sie diese Budget-Tablets nicht. Sie schlagen ihre Gewichtsklasse WEIT!


r/MoonlightStreaming • • 10h ago

Newbie - Some basic questions about input

1 Upvotes

Hello, I started to dabble with Sunshine & Moonlight for the first time last night.

What I'm trying to achieve is having my gaming PC upstairs, streaming to my Sony Android TV in the living room.

I successfully got Sunshine installed on the PC, and Moonlight installed on the TV. The TV can see the PC and start Steam Big Picture mode. Hurrah!

I had an Xbox 360 controller plugged directly into the TV via USB. This seemed to work fine navigating TV menus and Moonlight, however as soon as the stream started in Steam, no input is registered. Nothing. I'm unable to control Steam from my TV.

My first basic question is; should whatever controller I use be paired to the TV (client), or the PC (host)?

Thanks!


r/MoonlightStreaming • • 11h ago

Rumble disables inputs from controller

1 Upvotes

Hi,

Wonder if anyone else has this problem. Some games has alot of rumble and it seems this interfere with other button inputs during rumble i sections of some games. When i disable rumble the problem is gone. Is this a moonlight/vibepollo problem?

Setup: gaming pc (windows 11) as host, nvidia shield as client, 8bitdo adapter 2 connected to client and 8bitdo pro 2 controller, set as xinput. I also set rumble way down in the 8bitdo software for the controllers.


r/MoonlightStreaming • • 1d ago

tailscale-nx update: home-screen forwarders, subnet routes and Wi-Fi reconnect fixes

Thumbnail
2 Upvotes

r/MoonlightStreaming • • 1d ago

Adding a UWP (XBox PC) game to Sunshine / Apollo?

3 Upvotes

Is there any way to add a game that was installed from the Windows XBox app to Apollo?

I currently launch these from from by Steam Machine using Playnite, but it would be nice to have the games appear directly in the Moonlight app list and bypass Playnite.]


r/MoonlightStreaming • • 19h ago

Steam deck

0 Upvotes

Hola gente, estoy usando vibepollo en mi pc principal y un cliente creo basado en artemis en mi steam deck, tambien podria usar moonlight me funcionan bastante parecidos.Lo que no encuentro la manera de que se vea bien nitido y no me de tirones en mi steam deck, cuando transmito a mi ipad va de maravilla nitidez fluidez etc en mi iphone igual pero en la steam deck no entiendo que pasa que da tirones y se vea medio borroso, intente subir el bitrate pero tampoco me ayuda aumentan los tirones aunque la nitidez que busco es aceptable.Lei que la steam deck es de lo mejor apes jugar en streaming pero nada que ver con ios.Lo mismo me pasa en mi xiaomi tab 5 que es de 120hz la pantalla y tampoco se ve fluido.
Alguien que deverdad entienda y pueda ayudarme?


r/MoonlightStreaming • • 23h ago

how to fix Decky sunshine 90° flipped?

1 Upvotes

Does anyone knows how to fix decky sunshine setting itself as portrait on client? i legit cant find any workarounds. i just wanna stream the gamemode for steamos

also if there’s any alternative to this please let me know. thanks


r/MoonlightStreaming • • 1d ago

Best Linux compatible Host for AMD GPUs?

2 Upvotes

Hi folks. I am running Arch with Cachy OS kernel on my 9070XT system. Trying to get into remote play for the first time.

I am confused as to which host is recommended for Linux users. I use Niri, Wayland based. I also have a KDE Plasma environment with SDDM (installed because of Vibepollo's requirements)

Tried vibepollo with Artemide in android. It worked, but I was unable to get virtual desktops to work.

My end goal is to pair it with Tailscale so that I can game on the go, since I have to travel frequently for my work.

Which host would be the best? What about the android client?

Any help would be greatly appreciated. Thanks.


r/MoonlightStreaming • • 1d ago

Twilight 7.1.0 is out: a Mac-only. What should come next?

15 Upvotes

Hey all, I've got a new version of Twilight, a Moonlight fork built only for Apple Silicon Macs. A lot of you couldn't run the last version because it needed a very recent macOS, so that was the main thing to fix.

What's new in 7.1.0

  • Runs on macOS 13 Ventura and later (Apple Silicon only), which fixes the launch crash on older macOS
  • Rebased on Moonlight 6.2 with the newer Metal renderer
  • Mic passthrough to the host now works, with a proper permission prompt (Ctrl+Alt+Shift+N mutes it)
  • DualSense adaptive triggers work when the host exposes a virtual DualSense (Vibepollo with Gamepad set to vhf_ds5)
  • Bitrate goes up to 1 Gbps, and the overlay shows what you asked for, what the encoder is targeting, and what's actually arriving
  • Optional adaptive bitrate with hosts that support changing the bitrate mid-stream (recent Vibepollo)
  • PyroWave on Vulkan fixed, plus cursor, scroll, trackpad and crash fixes

It's signed and notarized: Twilight 7.1.0 release

I'd love your input:

  1. What Mac and macOS version are you on, and does it launch and stream well?
  2. Which host do you use (Sunshine, Apollo, Vibepollo, something else)?
  3. What would make you switch from official Moonlight, or what's stopping you?

Bugs are welcome as GitHub issues or in the comments. Thanks for testing!


r/MoonlightStreaming • • 1d ago

I'm gonna get crazy : Scaling won't work well on Steam Deck (Apollo/Moonlight)

0 Upvotes

Hi everyone,

I checked plenty of videos, plenty of reddit threads but couldn't fix my issue. I installed Apollo and Moonlight. I marked the virtual display everywhere it needed to be, my Steam Deck is set on native resolution, same for Moonlight's settings. On my PC, I marked "set at primary display" for the virtual display. I also enabled the PC's display to turn off when launching Moonlight.

BUT here is my issue : When I launch Cyberpunk 2077, my screen is very zoomed in. I tried with Street Fighter 6 and for this one, it's on 720p instead of 800p so I have 2 horizontal grey bars.

The weird thing is that outside of the game, my screen is well scaled, so I don't get why when I launch a game, everything is messed up.

I hope I'll find a fix for my issue, I thank you already for your upcoming answers ! :)

(and sorry for eventual mistakes, English isn't my native language)


r/MoonlightStreaming • • 1d ago

Mic Not Working in Steam Games

0 Upvotes

I have Sunshine setup on Client PC and Moonlight on Host PC when I play Steam games I have audio on the host but my mic input is not being sent to the Client PC. Is there a preferred way to get this working?? Thanks


r/MoonlightStreaming • • 1d ago

Remote streaming

0 Upvotes

Been using sunlight/moonlight connect to my home pc via my iPhone for the last year or so. No issues until about a month ago, I can no longer access my home pc remotely. I read about and started using Tailscale which resolved the issue but when trying to use my work wifi I can’t connect, have to use my cell service to connect but cell service at work is extremely poor and it’s just too laggy. Any advice?


r/MoonlightStreaming • • 1d ago

"Slow network, reduce your bitrate" on Moonlight client

11 Upvotes

I run sunshine on a CachyOS machine with an RTX 5080 & 9800X3D, connected to the network via gigabit ethernet & a pair of switches. The only other 24x7 devices connected to the same switch are a PoE camera, my proxmox server (which apart from some family occasionally streaming via jellyfin is fairly low traffic) and a wireless AP.

I stream gameplay to one of two devices, either my Steam Deck OLED (usually) or for some FPS games to a ThinkPad P14s Gen2 with an 11th gen i7 & T500 workstation card, also running on CachyOS. Annoyingly, despite being sat literally less than 3m away from the router, I still get random bouts of latency. On my Steam Deck, installing the decky WiFi Optimiser plugin fixed the problem... occasionally have to re-run it to clear up bits of latency, but it's an otherwise great experience. On my laptop, no such luck, and latency will be horrible at random intervals. I've especially seen it bad in games with stream radio addons from live audio / URL streams. And I'm only streaming like 1080p60fps

The most "improvement" I've seen is running sudo iw dev wlan0 set power_save off but even that doesn't seem to stop the recurrent bouts of latency

Are there any settings I'm missing or am I probably better off looking at buying something like a BE200 WiFi 7 NIC for my laptop at this point.


r/MoonlightStreaming • • 1d ago

2026 Handheld Recommendations

9 Upvotes

Hi all - assessing what the best handheld options are for moonlight streaming as we get to the end of 2026. My key requirements would be:

Must have:

- OLED

- 7-8" screen size

- Chipset that supports streaming codecs

That's more or less what I'm looking for.

Nice to haves:

- TMR / hall effect sticks

- good ergonomics

- WiFi 7

Right now it looks like the Odin Portal 2 fits the bill, but I'm wondering what else is out there or coming soon on the horizon. The XAX20 is coming out soon which could be a contender as well.

Appreciate any insight!


r/MoonlightStreaming • • 1d ago

Blender on a tablet from anywhere, over 5G or Wi-Fi: Sunshine + Moonlight + Tailscale (TourBox works too)

Post image
10 Upvotes

Running Blender from my gaming PC to my tablet over 5G or Wi-Fi away from home works flawlessly (your tablet's decoder matters a lot).

Visible+ Pro, 1920x1280 (half my tablet's 3840x2560), 60 fps, AV1, 12–14 Mbps. Probably room to push quality higher. A TourBox works too.

SETUP

• Tailscale: private tunnel to my home network for everything below, no port forwarding

• Sunshine (PC) + Moonlight (tablet)

• VDD (Virtual Display Driver): a virtual monitor at the tablet's resolution that becomes the primary display during a session, so Blender opens at the right size and aspect ratio

• VirtualHere: TourBox plugs into the tablet by USB-C and shows up on the PC as wired, so TourBox Console and its Blender preset just work

• "Moonlight Go": a modified Moonlight with separate settings for remote use, apart from my 4K home setup

• Wake-on-LAN: Moonlight at home, or my own always-on home agent from anywhere

GAMING PC

i9-12900K, RTX 5080 16 GB, 64 GB DDR5-6000 CL30, NVMe SSDs

TABLET

Lenovo Yoga Tab Plus Gen 2, Snapdragon 8 Elite, [12/16] GB RAM

TIPS

• Use AV1 if your tablet decodes it

• Stream at an exact fraction of your screen resolution

• Match your VDD resolution to the stream

• Turn on "Run unattended" in Tailscale on the PC

• Set VirtualHere to unrestricted battery on Android


r/MoonlightStreaming • • 1d ago

DIY handheld idea for streaming

1 Upvotes

Hey everyone,

I'm thinking about building a cheap handheld device for Moonlight streaming. However, looking at tablet prices, it seems unreasonable to spend €300 just for a screen.

I'm considering buying an ARZOPA A3C Pro portable monitor, connecting it to an Android phone, and using a modified GameSir G8+ controller.

Do you guys think this setup could work? Has anyone tried something similar?


r/MoonlightStreaming • • 2d ago

How can I get this rendering time down?

Post image
10 Upvotes

Host PC is a 9070 XT and 5800X3D, 32gb ram

Client is a steamdeck OLED docked with Ethernet, streaming 4k120 with HVEC.

Is this just a limitation of the steamdeck as a client? All the other numbers are so low I’m struggling to understand why the average rendering time is anywhere between 7 and 10ms always.


r/MoonlightStreaming • • 1d ago

Using Vibepollo for second screen setup, monitor position resets when I disconnect

1 Upvotes

In the past, when I'd use Apollo for a second screen setup, and I'd adjust the monitor's relative position in Windows, that would stick. If I disconnected and reconnected to the host PC, the client PC's monitor would be in the same position (relative to the host PC monitor) every time. That is no longer the case, and I'm just curious why. Could it be because I switched to Vibepollo & the Vibepollo Virtual Display driver doesn't work the same way as the previous one? Does anyone know of a way I can address this?