Hello. I’m new in the community. Thank you for having me.
I’m looking to build a system for everyday general computing on GNU/Linux and also some 1080p@60hz VFIO gaming on a single Windows VM with PCI-E passthrough. I really look forward to having the opportunity to delve into the world of this wonderful new virtualization technology.
By “everyday general computing” I mostly mean web browsing and media playback (movies, etc.) on GNU/Linux (I do most office work on my laptop). (However, now that I think of it, I also used to dabble a bit in music production so I may be interested in low-latency ASIO audio signal processing and recording with virtual instruments (VSTi), but I haven’t really taken this into consideration while planning the build. Maybe emulating a Mac might be a good option for this? The possibilities VFIO tech opens up bring me much excitement. Suggestions in this and any other regard will be very welcome).
A good friend of mine will help out by providing me with some components, namely the case, fans, 16gb’s of DDR4 RAM and a 1000W PSU. I also already have two 1080p monitors and a Crucial BX300 128gb SATA SSD that I plan to initially use as a boot drive for the host. For the rest, after some doing research I settled on buying the following:
Ryzen 5 5600x (Stock cooler for now, no OC)
Gigabyte X570 Aorus Elite Wi-Fi (I don’t need Wifi but it’s the only version of the Elite that my choice of retailer carries)
boot drive (Ubuntu Budgie 20.04 LTS): Crucial BX300 128gb SATA SSD
VM dedicated drive: Kingston SA2000M8/1000G 1TB (on topmost CPU NVME x4 lane)
home folder drive: WD Blue 4tb
Host GPU: Asrock RX 550 2gb Phantom Gaming (mounted on x16 chipset lane)
Guest Gpu: Radeon RX 5500 XT 8GB GDDR6 PULSE (on x16 CPU lane; yes, I realize it’s limited to x8)
I’m from South America (so please excuse my english) and I am on a budget (I’m a high-school teacher) so I must settle for budget components mostly, but spending this much seems reasonable and a good investment at the moment. The upcoming release of CP2077 may or may not have anything to do with it.
I’m going with an all-AMD build for the GNU/Linux compatibility and open drivers. I try to be privacy conscious and I like to avoid propietary software whenever I can. I pledged to myself never to run Windows on bare metal ever again.
I’m going for the Gigabyte X570 Elite because it seems to be a good all around board that’s relatively inexpensive and has all the features I need. I read here and elsewhere that it offers good virtualization support with IOMMU groups, etc. I also like that the chipset fan is positioned in a way that will not be blocked if I ever installed a larger GPU on the topmost PCI-E slot (I realize this may be nitpicking).
It’s important for me to have room to eventually upgrade this platform in the future: eventually replace the 5600x with a 5900x, eventually buy a bigger Navi to pass through and demote the 5500xt to host GPU, eventually get a better SSD to act as boot drive and demote the Bx300 to a laptop drive, etc.
Anyways, I love tinkering but I would like to have as much of a hassle-free VFIO experience as possible and I have tried my best to plan my build accordingly (for example by choosing to buy a dedicated drive for the VM instead of resorting to partitioning). Ideally I would be passing through the following:
4 CPU cores
the CPU lane’s Nvme drive
the guest GPU on the topmost PCI-E slot
USB ports for mouse, keyboard and sound card.
The onboard NIC? I honestly have no idea how to deal with providing network connectivity to the VM.
Anyway, this is my preliminary build. I would really appreciate any suggestions you guys might have for improving it without going overboard with the budget, mostly in order to make the VFIO experience as smooth as possible. Feel free to make any corrections or suggestions on anything. In any case, thanks again for taking the time to read this.