Thanks for the kind works! It’s really appreciated
Thanks for the kind works! It’s really appreciated
Is each “game entry” in moonlight a shared instance?
Quite the opposite, at the moment each Moonlight client will have a completely isolated session and they can play different games. This obviously defeats co-op which is something that I’d like to work on by adding proper user management and a remote UI in the next release.
How would I go about making a generic linux desktop from a given Linux distro?
In our latest images we have default support for Sway, you could easily expand that base Dockeer image with all the apps you need or make a different image with the DE that you’d like to use. The project is very open ended and only a few base components are needed in order for any image to be streamed to a remote client.
Yep, this is one of the main reasons why I started this project in the first place: I wanted to stream games from the same VM where Jellyfin is running.
Yep that’s perfectly possible, the sessions that will run under Wolf will be completely isolated from the host. Besides, that’s how I run it on my desktop dev machine!
Thanks mate! It has been a long road but we’ve finally got something that seems to work across a lot of different HWs, so it was time to pin it down into a release.
Yeah we definitely overlap a little with Kasm, our main focus is gaming with out of the box support for Steam, Proton and proper joypad with Rumble, Gyro and Acceleration (a first in Linux!).
Plus, as you said, we are 100% open source and community based, there’s no company behind us and no monetization whatsoever. 😉
I’m glad you like it! Have fun!
No worries! Let me know how it goes, any feedback is highly appreciated!
Sounds like this is exactly what this is capable of: you run Wolf on one beefy machine, and then you connect to it from multiple clients to play games or run a full desktop remotely!
It’s fairly simple actually, the basic idea is to create multiple desktops from a single host; fully HW accelerated and isolated from each other. So for example I could stream a game to my couch TV whilst someone else is playing a different game on the very same computer.
Personally I use this on my homelab: the same machine that has got Jellyfin (and other containers) installed can share the GPU with Wolf so that I can both transcode with HW acceleration when needed and play a game or open up a remote desktop all from one single machine.
Well said! That’s exactly the idea!
I’m not sure what you are referring to but in the chart Mesa
and Kernel
layers are shared between the running applications and Wolf in a single host, no VMs involved. One of the main reasons behind the project was to allow exactly this so that you wouldn’t incur in the big penalty hit that incurs in GPU splitting
As others have pointed out below it’s going to run multiple separated instances of Steam with the limitations that Valve impose (there’s not much we can do there). This project is not limited to Steam though, you could easily run another session from a different device with something like Lutris or Pegasus.
The patches aren’t included by default because I’m not sure about the legality of them and I really don’t want to get into troubles over this. I should research a bit more into this though.
Not yet, but we are working on it!
It does! It’ll automatically create new virtual displays on demand when a new client connects and it’ll match the client resolution and framerate.
Thanks! Let me know how it goes!
Great questions!
Did you look into memory deduplication?
For the Steam library I suppose? There’s been some discussions around it both in Discord and Github #83 #69 It’s something that I should definitely research further but I’d really like to address it even if it’s just something that might be done outside of our container… Would you like to help us?
Is client software sunshine or custom software?
Wolf is an implementation of a full Moonlight backend from scratch; there’s has been many reasons for this but mostly it’s because Sunshine has a lot of global and intertwined state and it would be very hard to add support for multiple independent users. I try to contribute upstream where possible; for example I’ve helped merging our custom library for virtual inputs so that users of Sunshine could also benefit from the new virtual joypad implementation and support for Gyro, Acceleration and so on…
Not fully open source and trying to get paid subscriptions even before having a product doesn’t sound too good to me…
Might be worth to open up an issue on Github or a thread on Discord. I haven’t tested
pipewiresrc
but there’s probably some clue in the Wolf logs. Besides, have you mounted the host XDG_RUNTIME_DIR, passed the right env variables and so on?For streaming the host desktop Sunshine might be a better fit btw…