Game streaming to other Android devices or PCs with Moonlight and GeForce Experience

doveman

Senior Member
Dec 14, 2012
317
22
0
London
Are there particular advantages to Moonlight over SteamLink?

I've had some issues with SteamLink, such as my wireless Xbox360 controller not working with a lot of games when connected to the SL. Buying the VirtualHere for SteamLink software might solve that problem but at £11 it costs over twice what I paid for the SteamLink, so I've just plugged my wireless dongle directly into my PC on a long USB extension instead.

I also have issues with some games being too laggy to play, especially Assassin's Creed Unity and Syndicate. They were actually working OK with my old AMD 6950 2GB but since I recently upgraded to an Nvidia 1070ti 8GB I find that over the SL it's very laggy when panning. MSI Afterburner's OSD shows a constant 60fps (capped) but the SL overlay shows lag of up to 60ms and the FPS dropping to the 40's or even 20's. Watching the game on my PC monitor it's not lagging, so it's something specific to the streaming. I'm using a wired connection to my router at both ends, I cleared out all the AMD drivers before installing the Nvidia ones and I have Steam set to encode using NVFBC and only NVIDIA hardware encoding is selected.

I had a spare RPI 2 so I installed Raspian and Moonlight on that. I run a dual boot Win 8.1/Win 10 system and connecting to the Win 8.1 system automatically launches Steam in Big Picture Mode, as the SL does, so isn't Moonlight just receiving the same Steam-encoded stream that the SL receives? I don't understand what the difference is and why I have to enable Gamestream in GFE and why it refers to GameStream ready games and allows me to add more. Can't I just stream-play anything in my Steam library, even non-Steam games that I've manually added?

Win 10 is my "cleaner" gaming system but when I try to Moonlight to that it launches Steam on my PC monitor but I just get a black screen on my RPi/TV until I manually quit Moonlight with the keyboard shortcut. The SL connects fine, although I have the lag problem with some games.

Obviously the SL is more user-friendly, with a nice UI and the performance overlay is useful for debugging problems and it only cost £5 compared to about £40 for the RPI+PSU but at the end of the day, if I can't use it to play games it's not much use.
 

nk33

Senior Member
Jun 24, 2009
1,134
84
0
Try it and see bro. I been using moonlight for years and never have any lag, as long as I Never use a bluetooth gamepad and a 2.4 wifi network at the same time
 

cgutman

Senior Member
Aug 14, 2010
485
427
0
Are there particular advantages to Moonlight over SteamLink?

I've had some issues with SteamLink, such as my wireless Xbox360 controller not working with a lot of games when connected to the SL. Buying the VirtualHere for SteamLink software might solve that problem but at £11 it costs over twice what I paid for the SteamLink, so I've just plugged my wireless dongle directly into my PC on a long USB extension instead.

I also have issues with some games being too laggy to play, especially Assassin's Creed Unity and Syndicate. They were actually working OK with my old AMD 6950 2GB but since I recently upgraded to an Nvidia 1070ti 8GB I find that over the SL it's very laggy when panning. MSI Afterburner's OSD shows a constant 60fps (capped) but the SL overlay shows lag of up to 60ms and the FPS dropping to the 40's or even 20's. Watching the game on my PC monitor it's not lagging, so it's something specific to the streaming. I'm using a wired connection to my router at both ends, I cleared out all the AMD drivers before installing the Nvidia ones and I have Steam set to encode using NVFBC and only NVIDIA hardware encoding is selected.

I had a spare RPI 2 so I installed Raspian and Moonlight on that. I run a dual boot Win 8.1/Win 10 system and connecting to the Win 8.1 system automatically launches Steam in Big Picture Mode, as the SL does, so isn't Moonlight just receiving the same Steam-encoded stream that the SL receives? I don't understand what the difference is and why I have to enable Gamestream in GFE and why it refers to GameStream ready games and allows me to add more. Can't I just stream-play anything in my Steam library, even non-Steam games that I've manually added?

Win 10 is my "cleaner" gaming system but when I try to Moonlight to that it launches Steam on my PC monitor but I just get a black screen on my RPi/TV until I manually quit Moonlight with the keyboard shortcut. The SL connects fine, although I have the lag problem with some games.

Obviously the SL is more user-friendly, with a nice UI and the performance overlay is useful for debugging problems and it only cost £5 compared to about £40 for the RPI+PSU but at the end of the day, if I can't use it to play games it's not much use.
GameStream and Steam IHS are completely different software with nothing to do with each other (in fact, GameStream existed long before Steam IHS did). The host software for GameStream is directly from Nvidia and uses the frame-buffer capture and encoding hardware available on their GPUs that is nearly zero-overhead on the host system. Nvidia has the advantage of knowing exactly the right ways to extract the best performance from their specific hardware. As a result, GameStream performance can exceed most other streaming solutions, streaming even up to 4K 120 FPS. Steam streaming uses its own capture and encoding system that is totally separate from GFE and works on non-Nvidia cards but doesn't always perform as well.

GameStream-ready games are games that NVIDIA has validated for streaming which can be launched directly from Moonlight/Shield Hub. Other games and apps can be added manually. Steam Big Picture will also be available for streaming via GameStream and any games can be launched from there.

The black screen issue you're probably running into is that irtimmer's apt repository for Moonlight hasn't been updated for GFE 3.16. There's a user-built package for it on our Discord server that you can use though.

The Steam Link hardware you're referring to is discontinued though, and the new cheapest way to use Steam Link is via the Pi app Valve released similar to how Moonlight is used on the Pi.

Try it and see bro. I been using moonlight for years and never have any lag, as long as I Never use a bluetooth gamepad and a 2.4 wifi network at the same time
Also this. Game streaming has so many moving parts and interoperability intricacies with network, host, and client software. Some people say Moonlight sucks for them and Steam Link is better. Other people say Steam Link is horrible and Moonlight is perfectly in the same environment. Ditto with the other game streaming solutions out there.

There's no substitute for testing it on your own hardware.
 

doveman

Senior Member
Dec 14, 2012
317
22
0
London
GameStream and Steam IHS are completely different software with nothing to do with each other (in fact, GameStream existed long before Steam IHS did). The host software for GameStream is directly from Nvidia and uses the frame-buffer capture and encoding hardware available on their GPUs that is nearly zero-overhead on the host system. Nvidia has the advantage of knowing exactly the right ways to extract the best performance from their specific hardware. As a result, GameStream performance can exceed most other streaming solutions, streaming even up to 4K 120 FPS. Steam streaming uses its own capture and encoding system that is totally separate from GFE and works on non-Nvidia cards but doesn't always perform as well.

GameStream-ready games are games that NVIDIA has validated for streaming which can be launched directly from Moonlight/Shield Hub. Other games and apps can be added manually. Steam Big Picture will also be available for streaming via GameStream and any games can be launched from there.
Ah I see, thanks for the explanation. So I can't currently Moonlight to the desktop and just launch games by clicking on their icons (as I can with the SteamLink) but have to either launch them via the Moonlight command line (if they are either already validated or I've added them in GFE manually), or I use Steam Big Picture (which launches by default with Moonlight) to launch any game that's in my Library? Using the SteamLink the Big Picture power menu has quite a few options, such as Exit Big Picture Mode which takes me to the desktop, whereas with Moonlight the only options are Quit Streaming and Stop Controller, so there doesn't seem to be any way to get to the desktop. I only care because I found that in Big Picture Mode Steam was using as much as 20% of my CPU when the SteamLink was connected but if I dropped out to the desktop this dropped to about 2% even though I was still streaming. That might not happen with Moonlight though, I'll have to see.

The black screen issue you're probably running into is that irtimmer's apt repository for Moonlight hasn't been updated for GFE 3.16. There's a user-built package for it on our Discord server that you can use though.
It's a weird one, as I just get the black screen when trying to connect to Windows 10 but with Windows 8.1 I see Steam Big Picture launch before the stream freezes, although it's all working normally on my PC. I've actually got GFE 3.15.0.186 installed in Win 8.1, I'll have to check Win 10. I'll try the package from your Discord server, thanks.

The Steam Link hardware you're referring to is discontinued though, and the new cheapest way to use Steam Link is via the Pi app Valve released similar to how Moonlight is used on the Pi.

Also this. Game streaming has so many moving parts and interoperability intricacies with network, host, and client software. Some people say Moonlight sucks for them and Steam Link is better. Other people say Steam Link is horrible and Moonlight is perfectly in the same environment. Ditto with the other game streaming solutions out there.

There's no substitute for testing it on your own hardware.
Yeah, I'm keen to test it, just need to sort out this black screen/freezing stream problem. As Moonlight doesn't have a performance overlay like SteamLink, is there another way to check the lag, fps, etc. so I can compare to the results I get with the SteamLink?
 

Ghengis042

Senior Member
Nov 21, 2007
111
9
0
In case you missed it, there's actually a third option -- running Link software on your Pi. So, you can run a comparison between the hardware Link, the software Link client (on Pi), and Moonlight. IIRC, your original concern was problems connecting an Xbox controller to the Link, right? Well, if you can get your pad connected to the Pi successfully, maybe running the new Link client there would provide your best experience.

That said, I tend to expect a little bit better performance out of Moonlight. Like @cgutman said, your streaming tech is optimized by the GPU manufacturer so you can expect the lowest overhead on the host device. The main advantages of using Steam IHS are that a) you probably already have the host software installed and running, b) it works on any GPU, and c) it was easy to get a cheap hardware client (and is currently relatively easy to set up on a Pi, from what I hear). Some might argue the Link is slightly more user-friendly, but both require a little up front configuration for best experience. If you already have an Nvidia card, the advantages of Moonlight are that a) performance cost on the host is minimal, b) the client is open so you can hack it if you feel so inclined, and c) it runs damn near anywhere, including places you can't get a client for IHS like Chromebook.

One tip I didn't see mentioned recently: Moonlight connects to one program on your computer at a time, selected from the stuff you've configured in GFE. You can use this feature to stream Windows Terminal Services (Remote Desktop) to get the effect you were asking for, akin to "Exit Big Picture" with IHS.
 

doveman

Senior Member
Dec 14, 2012
317
22
0
London
In case you missed it, there's actually a third option -- running Link software on your Pi. So, you can run a comparison between the hardware Link, the software Link client (on Pi), and Moonlight.
Yeah I'll probably try the Steam Link client on RPi as well to compare, once I've got Moonlight working properly.

IIRC, your original concern was problems connecting an Xbox controller to the Link, right? Well, if you can get your pad connected to the Pi successfully, maybe running the new Link client there would provide your best experience.
Not exactly. The Xbox360 wireless controller and dongle work fine with the Link, it's just it isn't mapped properly in a lot of games, so for example in GTA V I couldn't move with the left stick. I know there's an option in Steam which enables manual config of the mapping but I found that broke some other games that worked with it disabled, so the only option to make it work properly via the Link seems to be to buy the VirtualHere software. I tested a free version from here https://steamcommunity.com/app/353380/discussions/1/2549465882922214788/?ctp=2 which did prove that it works but that created other issues, like the Link not being able to see the controller so that I could use it to navigate the UI after stopping streaming, until I power-cycled the Link (which probably doesn't happen with the paid version). So I decided to just plug the wireless dongle into the PC on a long USB extension, which is a bit inconvenient and messy but at least works reliably.

That said, I tend to expect a little bit better performance out of Moonlight. Like @cgutman said, your streaming tech is optimized by the GPU manufacturer so you can expect the lowest overhead on the host device. The main advantages of using Steam IHS are that a) you probably already have the host software installed and running, b) it works on any GPU, and c) it was easy to get a cheap hardware client (and is currently relatively easy to set up on a Pi, from what I hear). Some might argue the Link is slightly more user-friendly, but both require a little up front configuration for best experience. If you already have an Nvidia card, the advantages of Moonlight are that a) performance cost on the host is minimal, b) the client is open so you can hack it if you feel so inclined, and c) it runs damn near anywhere, including places you can't get a client for IHS like Chromebook.
I think most people would have to admit that the Link is significantly more user-friendly. It's got a UI designed for TVs that shows big buttons to click on for each host you've set it up to stream from and changing any settings is done via menus in that UI which can be navigated with an Xbox360 (or other) controller. With Moonlight on the RPi you have to use the command line and a keyboard to run it and try different settings and even once you've determined what settings to use and created a shortcut to run it with those settings, you still need to use a mouse to click the shortcut. Plus there's no performance overlay.

User-friendlyness isn't everything of course and doesn't help much if the Link doesn't manage to stream games well enough to be able to play them. From the explanations in this thread about Gamestream/Moonlight, it does sound like it should perform better than Steam IHS.

One tip I didn't see mentioned recently: Moonlight connects to one program on your computer at a time, selected from the stuff you've configured in GFE. You can use this feature to stream Windows Terminal Services (Remote Desktop) to get the effect you were asking for, akin to "Exit Big Picture" with IHS.
Cool, thanks. That's a good tip.

So I tried Moonlight again yesterday and it worked with Win 8.1 this time, even before updating with the user-built package from Discord. The only thing I can think of that I changed is that I enabled experimental features in GFE 3.15.0.186 the night before.

Whilst the stream didn't freeze anymore after Steam loaded and Assassin's Creed Unity seemed fine when panning the view, with no sign of the lag/stutter I was seeing with the Link, and the Xbox360 wireless controller and dongle were connected to the RPi and worked in-game fine (I don't actually recall if ACU was one of the games it didn't work with properly via the Link), the sound was distorted and kept breaking up/cutting out so I'll need to try and solve that. I didn't have time to test on Windows 10 yet. I've updated Moonlight now anyway, so I'll test again when I get a chance.
 

doveman

Senior Member
Dec 14, 2012
317
22
0
London
I tried again yesterday with the updated Moonlight and Windows 8.1 and the sound seemed to be fine with that. I haven't tested extensively yet so I can't say if the streaming was entirely smooth/low-latency.

I also installed the SteamLink software. I saw they recommend a RPi 3B/3B+ for that, so I swapped my SD card into my 3B+ (I was originally using my 2B). Sound was OK but it there seemed to be more stutter from time to time compared to Moonlight. The UI is rather more limited than on the SteamLink hardware, with far less options but the performance overlay works and showed a display latency of around 20ms.

I still need to test with Windows 10 as I have a lot less stuff installed on that, so something I've got installed in Windows 8.1 might be negatively affecting the streaming.
 

doveman

Senior Member
Dec 14, 2012
317
22
0
London
I've found it a bit fiddly to get Moonlight streaming without Steam but when I have it's definitely better than Steam streaming, which tended to have a lot of lag or latency (possibly connected to the 20% CPU used by Steam in Big Picture mode). I'm having a problem with the audio though. It constantly sounds like there are quantisation errors, making it sound like it's underwater sometimes, or skipping like a scratched CD and sometimes the sound just cuts out briefly. Is there anything I can do to fix this?

Also is there a way to have my PC running at 1080p but streaming at 720p? The Steamlink does this and it results in a better quality picture than running the game at 720p whilst reducing the streaming overhead but with Moonlight if I don't use -1080 then it switches my desktop monitor to 720 (or something close) which my monitor doesn't like and results in weird green interference appearing down the left side, so even aside from the quality issue I don't want to run like that in case it damages my monitor.
 

SO333

Member
Aug 14, 2008
11
1
0
Any information on how to enable rumble support in the new version, and which devices are actually supported? I have an XBox One S Wireless Controller connected to a Sony Android TV that runs Moonlight, but no rumble.
 

Rutjan

Senior Member
Dec 12, 2010
212
59
0
Any information on how to enable rumble support in the new version, and which devices are actually supported? I have an XBox One S Wireless Controller connected to a Sony Android TV that runs Moonlight, but no rumble.
I tested it on my Samsung Galaxy S9+ running Android Pie 9.0 which has native Xbox One gampad support and I can confirm rumble is indeed working when the pad is connected via OTG (though the vibration is rather faint, wish there was a way Moonlight would allow to adjust that, like with a slidebar or something).
On the other hand, rumble doesn't work via Bluetooth, but from what I read it only works on Xbox and Windows 10.

Sent from my SM-G965F using Tapatalk
 

SO333

Member
Aug 14, 2008
11
1
0
OK, maybe Bluetooth is the problem then. Would be awesome if there would be any kind of "testing method" for the controller rumble directly in Moonlight.
 

Rutjan

Senior Member
Dec 12, 2010
212
59
0
Actually, the best thing would be for Microsoft to release an Xbox controller Android app to add full gamepad support with specific drivers for rumble and chatpad and other accessories.

Consequently they can provide updates when necessary and not rely on Google's integration of the driver.

Considering Android is a growing platform for gaming, Microsoft would totally benefit from full gamepad support to Android.

Sent from my SM-G965F using Tapatalk
 

zediiiii

Senior Member
Jul 4, 2014
92
50
0
I think you need to do more research mate.

I use tridef and moinlight and trinus all at the same time and it works extremely well.

Sent from my Phone using XDA Free mobile app
Sounds great! Unfortunately, Tridef's parent company went belly-up a while back and doesn't validate licenses anymore. There are multiple SBS github forks of Moonlight, but none of them are updated. I've been told this one works, but there are dependency issues that have prevented me from building it.

Other forks include this one which works with older GFE installs but doesn't allow customizing the IPD or other VR lens settings, and this one, which has a lovely Google carboard implementation (allows VR setting customization), but doesn't actually stream the picture in any combination of settings I could find for SBS mode.

I'm guessing you used Tridef ignition and tridef 3D?
 

nk33

Senior Member
Jun 24, 2009
1,134
84
0
Sounds great! Unfortunately, Tridef's parent company went belly-up a while back and doesn't validate licenses anymore. There are multiple SBS github forks of Moonlight, but none of them are updated. I've been told this one works, but there are dependency issues that have prevented me from building it.

Other forks include this one which works with older GFE installs but doesn't allow customizing the IPD or other VR lens settings, and this one, which has a lovely Google carboard implementation (allows VR setting customization), but doesn't actually stream the picture in any combination of settings I could find for SBS mode.

I'm guessing you used Tridef ignition and tridef 3D?
Hi Mate,

Yes - i still use tridef to get the SBS - and it works alongside another piece of software called "Trinus" - this gives you the headtracking - it links the mouse with the phones gyro sensor. I was not aware the companby went under. It works on most games and i am generally happy.

So all in all i use 3 pieces of software which all work well together and options for eachothers apps built in to their software:

Moonlight
Trinus
Tridef

You can find a guide here as to how to set them up prefectly (choose the moonlight option in trinus)

https://www.reddit.com/r/GoogleCard...ial_on_how_to_setup_trinus_vr_with_tridef_3d/
 
Last edited:

zediiiii

Senior Member
Jul 4, 2014
92
50
0
Hi Mate,

Yes - i still use tridef to get the SBS - and it works alongside another piece of software called "Trinus" - this gives you the headtracking - it links the mouse with the phones gyro sensor. I was not aware the companby went under. It works on most games and i am generally happy.

So all in all i use 3 pieces of software which all work well together and options for eachothers apps built in to their software:

Moonlight
Trinus
Tridef

You can find a guide here as to how to set them up prefectly (choose the moonlight option in trinus)

https://www.reddit.com/r/GoogleCard...ial_on_how_to_setup_trinus_vr_with_tridef_3d/
You are very kind to explain things, thank you.

TL:DR No current solution I'm aware of allows me to stream 2D SBS to my android device with reasonable latency and native android controller support and without mucking about in setup for each new game.

I'm hoping for a simple, 2D SBS stream that doesn't take tons of finicky setup - which used to be possible via any of the moonlight forks (those forks are different than the main branch). These would still work if updated for the current GeForce Experience application, but my efforts to do so have not been successful (I'm not experienced enough with Android app development). I was hoping a dev might consider either teaching me how or updating it themselves.

Tridef still works if you've already installed and registered it, but since the company is dead, one can't install licenses (new or old) anymore. The biggest issue, though, is that Tridef only supports directx games.

I own both Trinus Cardboard and Vridge (Riftcat 2.0), and they both have their pros and cons. Trinus cardboard does SBS conversion, but you can't use the SBS conversion with moonlight (eg, no android controller support and lower quality stream). Riftcat can use moonlight with VR (using their gamestream.exe program) and that works well for HMD-only games, but this doesn't allow the use of any other kind of game as you'll get an infinite loop between the desktop and the streamer.

In the Tridef free trial, I found that I have to mess around with settings and profiles to get games to work, and some games (CEMU for instance) don't work at all - also, setting up injection seems to screw up the ability for my games to launch from other sources (eg steam). There may be workarounds for this, but there is still the directx limitation.

Is there a simple way to apply 2D SBS to a whole PC stream (or screen)? Bonus for the ability to change lens settings? I'll be someone could make that program pretty easily.
 
Last edited:

johnnobts

Senior Member
Oct 3, 2008
237
13
0
quick question on game streaming. I have an NVIDIA Shield Portable and also have a Shadow.tech Shadow Blade Cloud Computing subscription. I can get Shadow to run great on my Sony Android TV, all my Windows laptops, and my Ipad. however, my NVIDIA Shiled portable, it doesn't work. Anyone else had any luck? It would be a great Cloud gaming PC device. I can say Shadow works better for me that Steam or NVIDIA Geforce gaming.
 

nk33

Senior Member
Jun 24, 2009
1,134
84
0
quick question on game streaming. I have an NVIDIA Shield Portable and also have a Shadow.tech Shadow Blade Cloud Computing subscription. I can get Shadow to run great on my Sony Android TV, all my Windows laptops, and my Ipad. however, my NVIDIA Shiled portable, it doesn't work. Anyone else had any luck? It would be a great Cloud gaming PC device. I can say Shadow works better for me that Steam or NVIDIA Geforce gaming.
Hey buddy - this forum is for Moonlight Gamestreaming. Nothing to do with your question...

your question is about an app (shadow) being incompatable with your android device (Nvidia Shield Portable)....you need to first contact Shadow's own support or forums ...OR a forum for Nvdia Shield...

However i would recommend Shadow's support first as they will tell you what the pre-requisites are for the app to work.

good luck mate!
 

Virtualchemist

New member
Apr 19, 2019
1
0
0
Scrolling

Hello there,

I love using Moonlight with games entirely playable by mouse, so I can play just with touch controls on my phone, in my bed, very comfy.
I know how to do a left-click, a right-click, however I still have issues with scrolling. I know that the manual page says it's "iOS only for now", but it has been saying that for a while now, plus I actually managed to scroll sometimes, I'm just not sure how I did it...
Can anyone tell me how to scroll with touch controls on Android ? I think when I managed to scroll I started like a right-click, and then hold my second finger on the screen. But I can't replicate it somehow.
 

H4kk3

Member
Mar 7, 2019
10
0
0
Hello everyone!

I love this app and Moonlight as a whole, but im so bummed out its impossible to play anything with mouse and keyboard on my phone because of the mouse acceleration.

I have a Oneplus 7 pro running latest OS with moonlight 7.3.1, and outside the app the mouse and keyboard works perfectly via OTG without any acceleration. But as soon as i start any game the mouse gets a HUGE mouse acceleration which makes any game impossible to play.

Is there a way around this? I cant find any setting for raw mouse input in the moonlight app settings :(

Please help!

Edit: So hypeeed! If i just get mouse acc working i'd be able to play classic wow on my phone lol :D
 
Last edited:
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone