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.

all 19 comments

sorted by: hot top controversial new old
[–] 10 points 9 months ago (4 children)

This is exactly what Wolf is meant for. It works great!

  • source
  • hideshow 4 child comments
  • [–] [S] 4 points 9 months ago (3 children)

    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?

  • source
  • parent
  • hideshow 3 child comments
  • [–] 6 points 9 months ago* (last edited 9 months ago) (2 children)

    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

  • source
  • parent
  • hideshow 2 child comments
  • [–] 6 points 9 months ago (2 children)

    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.

  • source
  • hideshow 2 child comments
  • [–] 6 points 9 months ago* (3 children)

    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.

  • source
  • hideshow 3 child comments
  • [–] [S] 2 points 9 months ago (2 children)

    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

  • source
  • parent
  • hideshow 2 child comments
  • [–] 3 points 9 months ago

    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.

  • source
  • [–] 3 points 9 months ago* (1 child)

    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)

  • source
  • hideshow 1 child comment
  • [–] 2 points 9 months ago (1 child)

    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

  • source
  • hideshow 1 child comment
  • [–] 2 points 9 months ago

    Sunshine/Moonlight works amazing. I use it all the time.

  • source
  • [–] 1 point 9 months ago

    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.

  • source