Here's the goal: One Ryzen 7 1700X machine running the unRaid base, with two virtual machines: Ubuntu Desktop, and Windows 10, each with their own passthrough GPU, mouse, and keyboard. I want all 16 cores available to both VMs - they will be for software development, and some VR gaming on the Windows VM. The GPUs are a 1060 for the Windows VM and a 1050ti for the Ubuntu VM, and there is a GT 710 for unRaid to hold onto because it fits into a PCIEX1 slot... yes, three NVIDIA cards. I know, I know. MOBO is an MSI Gaming Carbon Pro X370.
After wrestling with PCIE slots, IOMMU groups and the ACS patch, I have successfully been able to pass through the 1050ti to a new Ubuntu VM and install it. However, I was met with weird functional issues once inside Ubuntu, such as being unable to open the "Displays" GUI to change the resolution. I installed the latest NVIDIA drivers in the VM and was met with a colorful, pixelated screen of GPU agony, which unfortunately persisted after multiple VM reboots. That and further attempts at different VM configurations revealed the following:
CPU must be Host Passthrough. If using QEMU64, Ubuntu won't install.
Bios must be SeaBIOS.
I was using Q35-2.9 because that's the default in the Ubuntu template and frankly, I have no idea what it means.
So here's the actual question:
Are there things I've misconfigured, or steps I've omitted? Or, is Ryzen support not quite there yet? Or is this just not possible? I'm a software engineer and reasonably seasoned Linux user, but totally new to KVMs and all this virtualization magic. The relationship between virtual machines and drivers when doing passthrough is a relationship I don't understand either.
Any advice or ideas on things to try is much appreciated! And I will of course post my results back if (when) it does work.