I’ve been wanting to make a proper switch over to Linux for a while now. I’ve currently have a dual-boot setup but still mostly use Windows. The majority of my games should work without fuss, but I’d like to have a simple solution for running the handful of things that don’t work in Linux, such as my WMR VR headset and a handful of Steam games.

Linked is a video on Single GPU passthrough with KVM/VFIO, which I’d like to try.

Before I try this, I’d like a sense of how likely it is to work, and I’m wondering if there might be a better solution I don’t know of. I’m also open to any tips you might have about speeding up the transition between Host/Guest OS.

Here are the specs of my machine:

Motherboard: MSI B550 A-Pro

CPU: AMD Ryzen 7 3700X (no integrated graphics)

GPU: Nvidia GeForce RTX 3070

RAM: 32GB DDR4 3200MHz

Host OS: Manjaro

Guest OS: Windows 10 Pro

  • cyanarchy
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    1 year ago

    I currently have a VFIO setup and it works great. There’s just almost nothing I need it for with how great Proton has become. I have an AMD APU and GPU. My Linux desktop runs on the APU and only offloads to the discrete GPU when invoked with the DRI_PRIME=1 environment variable.

    Virt-Manager has the ability to run scripts at certain points in the VM startup and shutdown process. This is what I use to reassign the GPU to the VFIO stub driver so it can be handed to Windows, remove half of my CPU cores from the process scheduler so Windows isn’t suffering constant cache misses, and open looking-glass which uses a shared memory device to render the GPU output in a window on my desktop with minimal latency. Scream starts on login to handle audio, and you’re going to want to use a shared memory device for that because it has latency problems over network.

    I’ve been told I have one foot in each bucket labeled “single GPU passthrough” and the other labeled “dual GPU passthrough”. If you’ve only got one you’ll have to exit your X or Wayland session to use the VM because your GPU cannot abide two masters. Nvidia has a functional equivalent to Prime, I think, but I don’t think it just works out of box. I understand Nvidia isn’t happy about their consumer cards being handed to VMs as it’s usually an expensive enterprise trick, so there might be a workaround process there.

    The Arch wiki has a great tutorial on GPU passthrough using VFIO and OVMF, that’s probably your best bet on an arch based system like Manjaro.