As the title suggests, I’m interested since I’ve got the hardware, I’d like to have my own on the go streaming nest. Any self hosting suggestions? Anydesk, Rustdesk are not viable at all.
https://github.com/LizardByte/Sunshine Goes hand in hand with moonlight
https://github.com/hansschmucker/NVStreamer1080
If you are like me and have a dummy hdmi and wanna switch to it when streaming this helps as well.
Oh boy here I go adjusting my streaming setup again.
Shameless plug: Wolf is an alternative to Sunshine that allows you to run multiple simultaneous stream via Docker
Wait, can I use this to make a virtual display separate to my normal desktop? Kinda like a sudo-headless setup?
What’s the performance hit?
That’s exactly the use case, virtual HW accelerated desktops isolated from the host.
There’s practically no performance hit apart from a young codebase that probably needs more testing and polishing…How does it work with a Windows host? Docker isn’t as smooth an experience off Linux unfortunately.
Unfortunately Windows is not supported at the moment, I’m not even sure it’s possible to implement what we currently have in Linux.
With time, we can probably explore other platforms as well.
My setup goes like this.
https://github.com/LizardByte/Sunshine - for the streamer on pc
https://moonlight-stream.org/ - for your client apps
https://github.com/hansschmucker/NVStreamer1080 - I have a Dummy HDMI plug that goes up to 4k60fps for streaming to my TV, this allows me to switch to it instead of my monitor when streaming.
https://tailscale.com/ - For remote access. the free plan will work well enough.
This combo works very well for what I need.
What does dummy HDMI plug mean?
It is a display emulator that plugs into your GPU, that makes it think it is a monitor. They can be used for anything that doesn’t need a display, or in my case to turn off my actual display when I stream
Just to add to this, there are also a lot of them that programmable, so as long as they’re pinned out to the correct HDMI standard, you can add arbitrary custom resolutions using something like CRU or an edid writer.
Do you mean streaming the games running on your hardware or just hosting the Geforce streaming client? I know a good chunk about the former but not the latter.
If you’re streaming your own PC games I can quickly run through a Sunshine and Moonlight setup.
I’d be interested in hearing more about that.
Quick history: Nvidia used to provide their own in-home streaming solution called GameStream. This was built right into their GPU drivers and was fairly easy to set up. It has 2 issues.
- The streaming quality was good but it only worked with Nvidia GPUs.
- The streaming frontend however, was shite.
Programmers being programmers decided to make open-source alternatives to both of these. First came Moonlight as a better streaming frontend on PC, Android, Android TV etc. Sunshine was also developed as a version of the backend that was hardware agnostic.
Nvidia then decided GameStream was distracting too much from Geforce Now and removed it from their drivers. This was widely regarded as a ‘dick move’. Thankfully, the previous 2 projects already existed, and the new interest in them hastened development.
This is good to know because coming into this new, you might wonder why both projects’ documentation mentions GameStream a lot. It’s legacy and dictated the goals of the projects.
For actual setup…
Start with Sunshine on your actual gaming PC. The currently maintained version of the project can be found here.
Sunshine has a pretty clean setup so just follow its steps and you should be good to get going initially. I personally set it up as a Windows service so it starts at boot when I WoL my PC. It might also request to install a controller driver which I’d personally let it do to avoid any input headaches.
Moonlight is even easier depending on the device you’re using. It’s straight up on the Google Play Store and I assume other places. The most technical part of the setup is that it might request some specific port-forwards, but I’d assume if you’re on this community, then you won’t have a problem with that. To get your Sunshine and Moonlight to communicate, you’ll need to get ML to ping the IP of your SS PC and produce a link code which you then input into the SS web UI.
If you’re wanting to play on your PC remotely, then that’s also possible! You’ll either want to just expose the requested Moonlight ports publicly and connect to your public IP / domain name, or (what I do) setup a Wireguard VPN on your local network to connect to (I don’t like exposing too many ports).
I didn’t proofread this essay so sorry for any nonsense I’ve written.
Me too :)
/u/Voroxpete /u/Otter linked above. Sunshine is compiled to run on Linux and Windows, streams applications or the desktop itself, runs in the background, and will attempt to leverage gpu hardware to do the heavy lifting.
Doesn’t steam do game streaming from your own computer? It definitely used to around 10 years ago when I used to do it.
Nonsteam games, steam games that don’t play nice with remote streaming (like the surge 2), steam games that sometimes don’t stream using direct IP connections
You can definitely stream at least some non steam games, I did it with Cyberpunk 2077 after buying it on GOG
Sunshine and moonlight. Works amazing.
Steam has built in functionality for streaming games however it wants to be on the same network but that is solveable with a VPN connection. It’s not ideal but it works. Back in 2009 I streamed Sims 3 to my eeePC at Uni using some specific software but I can’t recall the name. That worked pretty poorly. Turn based games did however work nicely.
Hamachi? I used that to remotely play LAN games with a friend, must have been around 2006/2007 or so.
Hmm no I used Hamachi as well but that was for playing Halo 2 like on LAN :)
Steam supports fully remote play, you don’t need to use any wacky vpn workarounds
Oh sweet. Good to know!
You could use Jellyfin and Tailscale. Lots of self-hosters do this. Google for ideas on how to do this. I’ve never tried it myself.
Note Jellyfin is not made much for games :)