6

I'm going to trample on well-travelled jargon here, so please don't get too hung up on the exact words.

I have a desktop that I use in a multiseat configuration. Two graphics cards, two monitors, two sets of peripherals and two seats. This allows me to do work on my side, and the kids and better half can slum it on the other screen. This actually works really well, up to the point where there is contention over the other seat.

We need to find a better way to switch users on their seat. The following options don't work well.

  • The "Switch User" feature works but it's not automatic and it leaves everything active in the background. Not great when it's minecraft that's using 400% CPU.
  • Logouts can be automated but they close everything and destroy state. You can restore running applications but it's up to them to preserve their state.
  • Session sharing (ie one login to rule them all) has caused physical fights and doesn't guarantee that what you were doing before, won't have had a toddler smashing her mucky little hands over by the time you return.

I want to sleep or hibernate sessions so that they use no CPU while they're away and when they came back, it was like they'd never left. The main system has to stay on. My seat has to stay on.

I am open to alternatives away from traditional desktop paradigms. The only way I can even dream of hacking this up is via a series of VMs that spin up and hibernate as required. Aside all the glue required to make this work, it also means a performance penalty and me maintaining multiple installs.


There are so many questions around these words that have nothing to do with what I actually want, but I also can't imagine that this isn't a desirable feature in a network of roaming profiles (no we don't have this - yet). Everything I find is either about system-wide hibernation, or biology.

vanadium
  • 82,909
  • 6
  • 116
  • 186
Oli
  • 289,791
  • 117
  • 680
  • 835
  • 3
    This is an interesting idea. VMs are the simplest way I can think to offer these features but, if that’s suboptimal, then a bit of session trickery will be necessary. Swap files are not user-specific, so hacking together a pseudo-hibernation would be tricky and bug-prone – matigo Apr 02 '22 at 22:33
  • One can set a VM to use only a subset of CPU threads. But that may not completely solve Minecraft using 400% of CPU. – user68186 Apr 02 '22 at 22:37
  • Yeah, I don't expect to be able to use proper hibernate for this. And I'm happy with their stuff staying memory resident. I could "just" suspend their processes, but that's still an amount of grunting without an easy way to detect their return (ie who is it?) – Oli Apr 02 '22 at 22:39
  • I'm not sure if you can hibernate an entire session. Is there a reason it really has to be 0% CPU? Would you be open [to setting a CPU limit per-user](https://serverfault.com/q/1036316/870242)? Minecraft is single-threaded, so a simple CPU limit might be sufficient, assuming you have at least, say, four cores. You could (theoretically) write a script to adjust that based on whichever user is logged in. Would that work for you...? If you really want zero CPU usage, you're probobly going to have to use a VM that you can pause, and use GPU passthrough. – cocomac Apr 03 '22 at 05:32

0 Answers0