Pass-through Rig Recommendations

Hi, I’m new here, if it isn’t already apparent. :slight_smile:

My current rig is getting a bit old (4+ years), and I’m considering upgrading for a few reasons. Due to the age, and some issues/damage with my case, I’m only going need to replace the case, MOBO, CPU and RAM, I’ll probably get a new GPU while I’m at it.

So for my next rig I thought it’d be nice to have PCI pass-through (and, even better if I can get Looking Glass going). This will be my first time doing pass-through.

For this topic, I’d like some advice on hardware selection, particularly motherboards, with IOMMU groupings suitable for my use case in mind. I’d also like a bit of general feedback on the parts I’ve selected for my rig.

I’ve included some more (probably too much) information in the sections below. Thank you for you time :smile:

Use Case
I basically plan on setting up the VM guest as a Windows version of a “Steam Machine”, “disabling” explorer.exe to reduce overheads, etc.

I have 2 1920x1080 monitors ATM and I don’t plan on upgrading to 1440p or to 4K any time soon.

I use a controller almost exclusively when gaming - so I want the host to retain control over the KB+M 99% of the time, and I’ll “pass” my KB+M when needed using a tool like Synergy. This is a strict requirement.

I’ll also (very rarely) need to use Windows for work/study based on the requirements of colleagues/classmates/etc, but that’s not really a focus.

On the host I will mainly be doing programming work, as well the usual/casual social hubbub. I will occasionally need to swap the GPU back to Linux to tinker with AI but that’s tolerable as long as it’s approximately as easy as normal dual-booting.

Note that I don’t necessarily need maximal specs for my research - for large scale experiments I should be able to use university resources.

Tentative Parts List (UPDATED x1)
Before considering passthrough, I was vaguely looking at these parts for the upgrade:
https://au.pcpartpicker.com/list/c6Xhmq

SFAIK this is roughly a next-gen match for my current/old rig performance wise (with a little bit of extra VRAM for deep learning). I’m always a little uncertain about how much more comfortable bumping up will make my life though.

I don’t have experience with AMD CPUs, but I figure Ryzen’s core/thread count is both more relevant than raw thread speed to my work, and gives more flexibility in splitting resources between host and guest.

I also don’t know if this is a big enough CPU for splitting between the host and guest, and was wondering how much higher I might have to go to achieve better gaming performance than I have now whilst also being able to run my browser tabs etc on the side comfortably?

Notably, I’d like a bit of confirmation on the motherboard choice. Particularly, whether or not the x370 will also work and if/why the x470 is worth the extra money.

Also, for the time being I plan on reusing my GTX 770 for the host in the new rig.

Why so Specific? (Feel free to skip this)
For anyone wondering if I really need pass-through: of course I don’t ‘need’ it. But it would (if working), alleviate a number of pet peeves of mine.

Additionally, I’m not worried about the difficulty of setting it up, or anything (read: everything) going wrong. Nothing would be new about that :wink: E.g. for the first year or two I was using Linux on this rig, switching TTY would hang the entire system due to the Nvidia drivers.

I’m one of those people who only seems to “dual boot” by using one OS exclusively for days on end.

I’m not a streamer but I like try (read: fail) to multitask a lot. E.g. I pause a lot to switch to internet searches/discord/whatever, and sometimes have a video or twitch going on a second monitor. So in that sense I guess I behave like a streamer, without needing as much raw power.

I’ve customised my Linux environment enough now (tiling window manager, hotkeys and workspaces for days, etc) that even when I’m “just” gaming on Windows, I’m constantly frustrated without it - This means that even if I have to reboot to swap the GPU around, being able to run Linux whilst I play Windows games, and not having to deal with tab-out glitchery will be a boon. (I might even be able to finally get through Mirror’s Edge!)

As for the controller: I have a disability and can’t use KB+M simultaneously. I can use one or the other, but prefer to use a controller. Accordingly, when games lock controller over my KB+M, it is pure inconvenience. This also adds to the pain of going without my custom hotkeys.

You’d want a 2700X and a X470 board and split the VM cores and host cores 50/50.

Since you want to boot up Steam Big Picture mode, you first want to do Shutup10 and W10Privacy, do batch scripts for them, then boot straight to Steam Big Picture.

Unless you’re sticking to Nouveau for your 770, watch out when using newer kernels as they may be incompatible with Nvidia drivers.

Okay thanks - and thanks for the kernel warning!

^Regarding this specifically, I was kind of thinking that splitting 25/75 (host/guest) would have been okay as long as I can return the CPU back to the host when not gaming without a reboot. Could you please give me a little info on why this would not be the case?

It’s to do with how many free cores can do IRQ/DMA requests on the host. The less you have, the more likely you will have DPC Latency issues in the guest.

Ah I see. Makes sense!

Someone said ASRock X370/X470 Taichi boards have good power delivery and the ability to split of some USB ports into the VM. (Obviating the need for a USB add-in card or spice emulation drivers and stuff)… verify before buying, there’s folks here with those boards.

For AI work, I’m assuming you’re just using tensorflow. I think you’ll be amazed how much you can learn about NNs just by using the CPU. Once you get the hang of it, enough time will have passed that you’ll want to start looking at how much it costs to buy a new gpu or rent time on some cloud or something. CUDA support can be fiddly to get working too.

You’ll likely need 2 GPUs to start with anyway, one for the guest one for the host.

Thanks, will do!

Actually, you’d be surprised how much AI work does not use Neural Networks, at least at my university! Whilst evolutionary computation/search is less typically/less easily used strictly as a learning model, it is still used quite a lot (e.g. automatic code generation/modification). Additionally, you can combine the two, as I have done in the past.

That aside, and although my current focus isn’t Deep Learning, the projects which I have done in the past and have been considering for the future are actually focused on Computer Vision, and I’ve found that memory becomes a bit of a bottleneck there.

However, I do still agree that it’s pretty much entirely not worth buying a home card for AI work though, and I have considered dropping from the 6GB to the 3GB. I could use a little more feedback on whether or not the extra 3GB is really worthwhile for gaming?

As I mention in my OP, for the time being, my current GTX 770 will be just fine for the non-gaming host.

I initially thought that this would not be the case. However, I’ve realised that my current power supply (Antec NeoECO Classic 650W 80+ Bronze) might struggle to cope with the GTX 770 (which eats 230w) along with everything else.

Now I’m wondering whether or would be better to upgrade my power supply (Which is only ~1 year old) or to get a modern, sub 100/150w, GPU for the host? Seems the price might easily be the same…

I just built myself a 2700X rig with a Asus ROG Crosshair VII Hero Wifi X470 board and its great. I have an RX 560 in the top slot and a 780 Ti in the middle slot that is passed through to a Windows 10 VM. I passed through 4 of my rear USB 3 ports so that is working well. The motherboard is crazy overkill so you may be better suited with the ASRock Taichi boards.

The only bummer I found that maybe someone knows a solution to is with the way the PCIe busses are done on that motherboard, my top M.2 slot is shared with the slot my 780 Ti is in. So if I populate it with a 2nd M.2 SSD, the 780 Ti drops from 8x to 4x. I’d be ok with running the RX 560 at 4x, but not the 780 Ti. I tried to swap the cards around so the passed through 780 Ti is in the top slot on dedicated 8x lanes with the 560 in the middle slot on shared and the passthrough didn’t work. Oh well.

My whole system seems like its twice as fast as my old 4770K on multithreaded tasks. I have a 50/50 passthrough setup right now. I could probably tweak the system to be more efficient, but its working really well as is.

intel HEDT will give you an easier time setting up – you can pick up haswell/broadwell xeons and high end i7’s now for cheap.

for the rest there’s

https://www.passthroughpo.st/vfio-increments/

okay cool, thanks for the feedback/insight!

That certainly seems like a useful link, thanks!

As for the Xeons, where, if you could elaborate? I had a quick search but I’m having a bit of trouble searching for them, and what I have found seems comparable in price to the 2700x.

search ebay, kijiji, aliexpress, craigslist, etc

Ah, second hand Xeons, of course! Thanks

sure, silicon usually outlives all the other parts of a machine and xeons never get overclocked, so you can find some great deals.

I run a Xeon E5-1660 Sandy Bridge-E and can’t be happier. Pair it with a good board and you could actually get sizable overclocks on the E5-1xxx series. The E5-2xxx series is locked though. My E5-1660 runs 4.6Ghz. 1204 Cinebench 15 Multicore.

Thank you both for the feedback, I probably wouldn’t have considered old server processors/setups otherwise. I had kind of assumed that inter-generational processing power varies in multitudes that aren’t reflected by the measurable clock. But I suppose it probably wouldn’t all that much, thinking on how threading works. (outside of certain specific operations baked into one processor and not the other)

If you want your cake and eat it too, the E5-1680 V2 is a 8 core overclockable processor for LGA2011. That processor has a unlocked multiplier.

Here’s a HWBOT submission for that processor just to prove it can be overclocked: