Hey all, I've got an under powered laptop that I would like to stream Steam games to from my main PC (main PC has an AMD 9070XT, laptop has something like an Nvidia 1660). What I need to do is still be able to use my main PC while streaming to the laptop at the same time.
I've looked at solutions like moonlight, and I don't recall it worked very well or didnt support having a virtual display. I don't know that this is possible on Linux, but seems to be pretty easy to do on Windows.
What are my options here? Is it even viable to have a fully usable desktop while also utilising the GPU to stream games elsewhere?
Edit: ended up using Wolf and seemed to work perfectly. Certainly good enough to do what I set out to achieve, thanks for the recommendation.
19 Comments
maxwellfire@lemmy.world · 10 pts · 213d
This is exactly what Wolf is meant for. It works great!
Matty_r@programming.dev · 4 pts · 213d
Looks confusing to setup. So there is a Wolf container which streams to a Moonlight client, but there also needs an Apps container with Steam preinstalled which is launched through the Wolf container?
maxwellfire@lemmy.world · 5 pts · 213d
You only setup the wolf container and give it access to the docker socket to spawn more containers. Then when a user connects via moonlight, they choose an app via the UI, and it will spin up a container for that app with a virtual desktop just for them. Critically that virtual desktop will match whatever fps/resolution the client requests.
It does require some knowledge about docker to get setup, like how mounts work (so you can have files shared into the containers, etc). But it's pretty simple. You can basically just copy the docker compose file (or I use the podman quadlet file) and modify the paths where you want to save things and you're good to go. If you want to share the game installations with your main computer's steam, that's a bit more work, but also not too much.
There's very good support on the project discord as well if you have questions/issues
Matty_r@programming.dev · 4 pts · 213d
Very cool. I'll give it a shot. Cheers
Matty_r@programming.dev · 3 pts · 212d
This worked great, thanks for this. Very cool project.
RamRabbit@lemmy.world · 6 pts · 213d
I would say: Keep it simple and use Steam's in-home-streaming. Both computers will be busy playing the game (the beefy computer rending and streaming to the thin client). So it doesn't do exactly what you want, but it does let you stream easily.
Matty_r@programming.dev · 2 pts · 213d
I'd probably have to still have a virtual display at the very least because the resolution of my main PC is ultrawide 3440x1440 and the laptop is only 1920x1080
bjoern_tantau@swg-empire.de · 1 pts · 212d
Scaling down or simply running at a lower resolution shouldn't be a problem at all for most games.
Matty_r@programming.dev · 2 pts · 212d
Its was less of a problem with the resolution, and more about the ratio. In the past changing the stream resolution to match would mess up the desktop.
Bryan065@kbin.earth · 6 pts · 213d
instead of sunshine, try apollo.
https://github.com/ClassicOldSong/Apollo
it's a branch of sunshine but supports virtual displays (and some other stuff).
i can launch moonlight on any of my clients (phone - 2316x1080, laptop - 2880x1800, laptop connected monitor - 2560x1440p) and the virtual monitor will spawn and match the client resolution automatically.
when I disconnect, the resolution will revert back to the desktop connected monitor.
this won't let you use your desktop while streaming games elsewhere though. You'll need to do VM's or Docker+wolf for something like that.
Matty_r@programming.dev · 5 pts · 212d
Looks like a non-starter
LiveLM@lemmy.zip · 3 pts · 212d
Oh, the virtual monitor is working on Linux now? Last I checked that was Windows only
HelloRoot@lemy.lol · 3 pts · 213d
Maybe if your cpu has graphics, you could run a VM and pass your dGPU to it and streams from inside the VM.
Otherwise I think the inputs will fight each other, even with virtual displays (one person using the pc and the other gaming via stream)
Matty_r@programming.dev · 1 pts · 213d
Good point, so that would have to be done through a VM or that Wolf app
MrQuallzin@lemmy.world · 3 pts · 213d
Steam's in-home streaming takes up both devices. When you're moving the mouse and pressing keys on your client (the underpowered laptop), it's sending those same key presses and mouse movents to the host (your gaming PC). Computers don't really respond well/aren't designed to have multiple users in the same desktop environment at the same time.
Another user linked Wolf which uses Docker containers, or you'd need to set up a virtual machine inside your gaming PC that would become the host instead.
Is it possible? Sure.
Is it viable? No.
4am@lemmy.zip · 2 pts · 213d
Do you want to still use your laptop for other stuff?
Doesn’t Steam have the SteamLink stuff open sourced? Can you just install that and make the laptop a SteamLink client? I think people do it with Raspberry Pis all the time
Matty_r@programming.dev · 1 pts · 213d
Yea I will use it for other stuff.
luthis@lemmy.nz · 2 pts · 213d
Sunshine/Moonlight works amazing. I use it all the time.
Alloi@lemmy.world · 1 pts · 213d
moonlight/sunlight is an open source option on github. i use it all the time. works pretty well. lets you remote control your pc from a different room with a different computer. i use it to cast my main PC through an old lenovo so i can play games on the projector in our room. or watch our own downloaded collection of movies and shows and stuff.
i have zero complaints.