I’ve got an HP Reverb G2 headset. Amazing VR headset, questionable controllers.
I’m in the process of migrating my daily driver PC to my own Arch install that looks a lot like stock Garuda. No problems here. Windows 11 can bite me.
My plan is to have two VM images on tap (probably VMWare Workstation Player) running Windows with my primary GPU passed through to them and something like a little R5-340x to handle displaying the Linux desktop and basic productivity. One will be for gaming, the other for serious development work (FPGA synthesis, board layout/simulation, etc). I have so much crap that I really need two separate PCs or VMs.
My question/problem is with VR gaming on Windows in a VM. Has there ever been anyone in the wild that’s attempted to pass a WMR headset+controllers into a VM?
I’m expecting I’ll need a separate PCIe USB controller to give it, but hopefully not since I’m out of PCIe on the current motherboard. Even if that works, are there any oddities that I should be aware with regarding the GPU drivers/etc?
Assuming this isn’t exactly a common use case, so I’ll document the adventure here as I go through it, but I’m open to any thoughts. Not really looking for an ‘answer’ here, I just have no idea what kind of a rabbit hole I’m looking into. I’m also seriously lacking the spare hardware to do this, but that’s easier to deal with.
VMs are a great way to setup your work environment and keep it separate from the rest of your system. I am sure that VR can work from within a VM and I have seen posts of users using it that way.
GPU Passthrough:
As far as I know, you can’t pass through a GPU in VMware player. It supports some GPU HW acceleration within a VM but it’s pretty basic and not suitable for VR or much gaming at all. The only VMWare product which supports PCIe and GPU pass through are VMware vsphere / ESXi Hypervisor - which you’ll most likely do not use ;). On Desktop Linux you are “stuck” with the native KVM/qemu/virt-manager combo. Please note, If you pass through a GPU you’ll cannot access the output on your Linux Desktop by default. You’ll need a remote connection like RDP or programs like looking glas to access the output, or a directly connected screen and passed through input devices so you can interact with the VM.
USB:
I highly recommend passing through a whole PCIe USB controller. You might have luck with your IMMO groups tha you can pass through one or multiple of your onboard USB controllers (some mainboards, especially older models have multiple). Virt-Manager can pass through single USB ports / devices but you’ll run into issues sooner or later. Basic devices like mice, keyboard, most flash drives or basic storage work fine, but I started encountering problems with SATA to USB bridges (frequent disconnects, device not recognized, multiple replugging needed etc.) and I’ll think there will be more issues with even more specialized / niche devices. You will want to eliminate as much barriers as possible for seamless VR.
Performance:
My experience with Desktop Linux, virtualization, gaming on the VM and GPU pass through was so-so. Lots of little issues, micro stutter, lots of stuff breaking during updates that needed fixing. It doesn’t mean you have the same results - you are basically running your own distro.
I switched to Proxmox which is a Linux/Debian based Hypervisor Plattform for running VMs and I am running a Linux VM and a Windows VMs side by side as daily driver.