this post was submitted on 24 Jul 2023
70 points (100.0% liked)

Selfhosted

39435 readers
3 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

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.

top 38 comments
sorted by: hot top controversial new old
[–] [email protected] 30 points 1 year ago (2 children)
[–] [email protected] 26 points 1 year ago (1 children)
[–] [email protected] 12 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago

Oh boy here I go adjusting my streaming setup again.

[–] [email protected] 4 points 1 year ago (1 children)

Shameless plug: Wolf is an alternative to Sunshine that allows you to run multiple simultaneous stream via Docker

[–] [email protected] 1 points 1 year ago (1 children)

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?

[–] [email protected] 1 points 1 year ago (1 children)

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..

[–] [email protected] 1 points 1 year ago (1 children)

How does it work with a Windows host? Docker isn't as smooth an experience off Linux unfortunately.

[–] [email protected] 1 points 1 year ago

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.

[–] [email protected] 15 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 2 points 1 year ago (1 children)

What does dummy HDMI plug mean?

[–] [email protected] 4 points 1 year ago (1 children)

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

[–] [email protected] 5 points 1 year ago

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.

[–] [email protected] 10 points 1 year ago (2 children)

Doesn’t steam do game streaming from your own computer? It definitely used to around 10 years ago when I used to do it.

[–] [email protected] 3 points 1 year ago

It's a good solution for most, but if you are like me and need desktop access or anything else it isn't enough

[–] [email protected] 1 points 1 year ago (1 children)

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

[–] [email protected] 5 points 1 year ago (1 children)

You can definitely stream at least some non steam games, I did it with Cyberpunk 2077 after buying it on GOG

[–] [email protected] 1 points 1 year ago

Moonlight simplifies the process is all. Or I guess just makes people feel that it's simplifies.

[–] [email protected] 10 points 1 year ago (1 children)

Sunshine and moonlight. Works amazing.

[–] [email protected] 2 points 1 year ago (2 children)
[–] [email protected] 6 points 1 year ago

Works fine with amd

[–] [email protected] 1 points 1 year ago (1 children)

Hmm. Not sure. Sunshine is a reverse engineered version of Nvidia gamestream. Prolly have to rely on steam for remote streaming with amd I'm not sure sorry. :(

[–] [email protected] 5 points 1 year ago (1 children)

Just FYI for anyone that sees this comment, sunshine supports AMD, in fact it was one of the original motivations for it's creation :)

[–] [email protected] 4 points 1 year ago (1 children)

As an additional FYI, sunshine also works on MacOS/Linux so don't be scared to try it

[–] [email protected] 2 points 1 year ago (1 children)

I have it installed on Arch (running an Nvidia GPU) and it works flawlessly connecting to my main Windows machine.

[–] [email protected] 2 points 1 year ago

I am trying it in a Windows VM with it's own GPU as a host and a guest will be the PC at my work because there's hardly anything I do here. Though I might have overvalued my internet connection perhaps xD

[–] [email protected] 6 points 1 year ago* (last edited 1 year ago) (1 children)

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.

[–] [email protected] 2 points 1 year ago (2 children)

I'd be interested in hearing more about that.

[–] [email protected] 10 points 1 year ago* (last edited 1 year ago)

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 had 2 issues.

  1. The streaming quality was good but it only worked with Nvidia GPUs.
  2. 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.

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 1 points 1 year ago* (last edited 1 year ago)

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.

[–] [email protected] 4 points 1 year ago (1 children)

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.

[–] [email protected] 4 points 1 year ago (1 children)

Hamachi? I used that to remotely play LAN games with a friend, must have been around 2006/2007 or so.

[–] [email protected] 2 points 1 year ago

Hmm no I used Hamachi as well but that was for playing Halo 2 like on LAN :)

[–] [email protected] 3 points 1 year ago

I use parsec to play retro games with my mates by streaming from my pc. Works really well!

[–] [email protected] 0 points 1 year ago

Oh sweet. Good to know!

[–] [email protected] -3 points 1 year ago (1 children)

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.

[–] [email protected] 4 points 1 year ago

Note Jellyfin is not made much for games :)

load more comments
view more: next ›