Hello everyone! 👋

For the past year I had fun messing around with Docker containers, Moonlight/Sunshine and HW acceleration; so much so that I’ve ended up building a Gamestream server from scratch!

The basic underlying idea is to allow the followings:

  • Share a single server (possibly headless but doesn’t have to be) with multiple users
  • by creating virtual HW accelerated desktops
  • whilst keeping remote mouse, keyboard and controllers completely separated
  • with low latency

It’s still rough around the edges, and it needs more testing from the community; if you want to check it out, here you can read the docs and here’s the Github repo.

2 points

Very cool indeed!

permalink
report
reply
2 points

Whoa, what a cool project! It seems like way more than I need for single-user purposes, but I’ve been relying on Moonlight, Sunshine, and Chiaki quite a lot more than I ever expected to since I ended up taking quite a liking to using the Steam Deck as a pseudo thin-client. Kind of the best of both worlds letting another machine do the heavy lifting somewhere else in the house, so any advancements in the local game streaming space are extremely welcome to see.

permalink
report
reply
3 points

Yeah the Steam Deck is such a perfect target for Moonlight I use it for all the demanding games that I can’t run properly natively or when playing on the couch with a big screen.

permalink
report
parent
reply
1 point

This looks promising! How’s k8s compatibility/support? As I understand k8s doesn’t officially support splitting the GPU between pods, but there apparently some workarounds.

permalink
report
reply
1 point

I don’t have a lot of experience in k8s but the basic principle should work; at the moment Wolf connects directly to the Docker socket in order to spin up and down apps on demand.

I guess there might be some issues in passing the required socket files to the pods, but the whole running model can be changed in theory. Instead of having a single Wolf process you have one front instance that deals with clients and the Moonlight protocol which in turns starts new Wolf pods with the app running that then feed audio and video stream directly to clients.

Definitely do-able, just needs some proper thinking and probably a proper REST API

permalink
report
parent
reply
1 point

Damn that’s cool

permalink
report
reply
1 point

Wow, this is impressive. Already seems quite stable, I got it running straight away on a headless machine with an Intel i5-7400T running Ubuntu 22.04. I think I need to do some optimising, but I can already use it as a somewhat convoluted way to get proper adblocking on an iPad!

I noticed a small mistake in the docs - the docker run command in the quickstart is missing a backslash.

The PulseAudio container also doesn’t stop when the main wolf container stops - not sure if that’s expected behaviour or not.

I’m excited to see where this project goes, I can see a bunch of uses for this running graphical application remotely.

permalink
report
reply
2 points

Thanks for trying it out and for the feedback, I’m glad it works!

You are right, we should probably stop and remove the pulse container; I’ll add it to the things that needs to be improved.

permalink
report
parent
reply
1 point

ingenious idea, but for having adfree youtube on the ipad the easiest way is to use invidious :)

permalink
report
parent
reply

Selfhosted

!selfhosted@lemmy.world

Create post

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!

Community stats

  • 5.1K

    Monthly active users

  • 3.6K

    Posts

  • 81K

    Comments