After my PC broke last year, and trying to repair it (socket 1150 is dead), I decided to build a new one. Originally I planned on waiting a few more years for VFIO to mature, but Microsoft’s decisions with Windows 10 regarding tracking and whatnot convinced me to run Linux as my main operating system, and Windows in a virtual machine.

Requirements

I contacted a local custom PC builder with the requirements below, but unfortunately he did not have any experience with similar setups and could not source parts required. I did however take his advice on motherboards, which seems to have been a mistake. Custom watercooling loop was high on my list, partially because I could re-use parts from my old PC, and to avoid fans sounding like jet engines. Aesthetics were largely ignored.

  • CPU compatible with XSPC RayStorm
  • CPU at least comparable with Intel i7 4770K
  • PCIe 3.0 x16 slot for GPU
  • PCIe 3.0 x4 slot for SSD
  • 4+ USB3 ports
  • 10+ USB ports
  • 6+ SATA3 ports
  • Bluetooth nice to have

Parts list

Purchased
Salvaged

Hardware installation

Let’s be real - putting together a PC is like playing with adult Legos – in other words, easy. Custom loop was a little more work - I took great care to make sure there were no leaks, running leak tests for a few days and I think it’s pretty good now.

Unfortunately, Alphacool mistakenly told me that the GPU (not listed above) I had was compatible with their waterblock, which it was not. EVGA thankfully allowed me to return the card and get a compatible one, although I had to pay postage to return the card. I also ended up switching swapping a 750W PSU to the 1000W one listed above.

Software installation

This was my first time installing (Arch) Linux on my own PC, only having experience with some servers and virtual machines before. I felt pretty confident, though. Arch Linux wiki was a great resource, and people on VFIO Discord were exceptionally helpful. Getting Arch running took maybe a day, and setting up a Windows 10 virtual machine with GPU passthrough took maybe a day more.

I decided to use my old 780 for the Linux, and gave the new 2070 to the Windows VM. Main issues with the current setup are caused by the motherboard: there are no Linux drivers available for controlling the fans, and the motherboard only has a single USB hub (passing through USB devices is very tricky). Thankfully the 2070 has a USB-C port, which I can use for the few devices that can’t be passed through normally.

Closing notes

  • If you go for some highly specialized build, it’s better to trust the people with that kind of builds than the guy with no knowledge of the build whatsoever
  • I might end up swapping the motherboard to something better
  • People praise EVGA’s customer support, but my experience wasn’t as great. Maybe it’s because I’m in EU?
  • Alphacool doesn’t care
  • As much as people talk about their VFIO setups breaking all the time, my experience has been very different