Is there a consensus on how to run Steam and games isolated from the main system? I’ve seen Flatpak mentioned in some Reddit post but I’m not sure how good the separation is. Everything about Flatpak sounds like an early work in progress, but I can be convinced otherwise.
I don’t trust Steam or the closed source games at all. Currently I’ve got a second disk with a separate system for gaming, but I very rarely have the motivation to reboot. I want to game more (and spend less time on social media) but compromising my main OS is out of the question. Stuff in the home directory should be isolated from the games. Ideally no network access too, but Steam will not work in that case.
If someone has seen a ready made guide I’d be happy to read it. Any tips would be nice too.
Intermediate route: pass through your GPU to a virtual machine running Windows or Linux+Proton. This is the strongest isolation aside from dual boot or using a second device, and runs almost as well as native. There are a lot of tutorials online but the archlinux wiki is a good place to start. This usually means you need a second GPU for your main system (an iGPU works if your CPU has it), or you can use janky scripts to switch the GPU between your main system and the VM. You also might need a KVM switch to switch your monitor and keyboard between your main system and the VM.
Expensive route: if you have two PCs you can set up one for game streaming using Sunshine, and stream games to your primary PC. Benefit of this approach is you can also stream to your tablet or android TV.
That is an interesting idea, I was about to buy a GPU for AI, right now I have one whose primary feature is not using a lot od energy. Am I going to need a dedicated monitor for games if I set it up this way?
I did the vfio passthrough years ago, rocking two monitors like I always have.
Top monitor was Linux only via Display Port. Bottom was Linux via HDMI, and Windows via DP. Small cheap AMD GPU for all the Linux, and big boy AMD GPU was only for Windows VM.
I would turn on the VM, and then toggle my bottom monitor from HDMI to DP to game, and then the reverse when finished. Could be done all the same without the top monitor.
A neat trick I figured out, was the Windows VM was actually a bare metal Windows install on a separate SSD that could be booted into normally, but also passed through to the VM when using Linux.
Which hypervisor? I tried booting a physical install this year with VirtualBox and two decades ago with VMWare Player and both times ended up with damaged bootloader that was unable to boot from bare metal
My memory isn’t the best on this, as it was close to 10 years ago, I just now had to look up some YouTube’s and images to see which things I recognized.
I was using Arch and I’m pretty sure I managed everything with Virtual Machine Manager.
I know 100% I used vfio, and I wanna say qemu as well.
The one thing I remember most, was I couldn’t use Virt Manager’s GUI to just straight up add the Windows SSD. I had to use the GUI to add something similar, but then had to go and directly edit the XML. It took me forever through trial and error, but I wanna say I finally was like fuck it, and changed the XML entry to just straight up /dev/nvme and it worked.
Never had any bootloader issues. I think I let Windows have its own EFI boot partition it installs automatically, but also gave my arch install its own EFI boot partition as well. When I wanted to boot Windows bare metal, I would just press F8 on boot and select the Windows Boot manager entry, as opposed to booting into systemd-boot and selecting Arch or Windows.
KVM switch is the easiest way, you just plug both GPUs into your monitor, and switch between the two depending on if you want to see your main system or your VM. The Archlinux wiki also talks about “Looking Glass” which passes through the VM’s display to the main system. I haven’t tried this so YMMV. Alternatively you can run Sunshine inside the VM and stream to the main system. Maybe overkill if you are only using a single PC, but if you’ve got other devices you can stream to those too.
As a veteran to VFIO and GPU passthrough, I would recommend the KVM option first. It’s often worth buying cheap workarounds to start with, before diving into complicated software and networking setups like Looking Glass or Sunshine.
Sunshine sounds pretty decent but yeah, one step at a time. Thank you.
Sunshine in general sounds very tempting, I don’t play AAA games so an old laptop may be sufficient for most games, and the desktop clients are free.
Sunshine is actually pretty easy to set up. Just install it on the PC, and connect from a Moonlight client on the same LAN. The complicated part is if you want to get fancy with the networking, for example if you want to access it securely from outside the home, or if you run Sunshine inside of a VM and want to access it from outside the host. But if your laptop can handle the games you want to play, turning it into a game streaming server should only take an hour tops. Definitely easier than messing with passthrough and virtualization.
Yes/no. The KVM solves that. When I did it I just connected my monitor’s second input to the second video card.
you won’t need a dedicated monitor if you use Looking Glass
https://looking-glass.io/ nice!