Help with upgrading my Linux machine for VFIO
I have been using primarily linux for 2,5 years now, with virtualized windows 10 for gaming. My specs are:
3900X overclocked, 32GB DDR4 ram, ASUS PRIME X570-PRO mobo, custom loop water cooling for cpu,
1060 6gb for linux, 2060 super for windows, two usb 3.0 cards for windows, 10gbe nic for connecting to nas,
2TB nvme ssd (pcie 3.0), 1TB sata ssd, 750W seasonic PSU, custom case,
two 50" 4k TVs as monitors (i like big text, and do more work than gaming)
Things to note:
-I previously had a motherboard which only had 4 lanes to the second pcie x16 slot. This was noticeably limiting the performance of the 2060 super, since it only supports pcie 3.0. Current mobo is "SLI compatible" and runs the two pcie x16 slots in x8 + x8 which solves the problem.
So you will probably need a X670 motherboard, or a secondary gpu that supports pcie 4. (3.0 at x8 = 4.0 at x4)
-Rather annoyingly the card in the top slot is always the primary gpu, and while you can configure xorg to use the second card for linux the primary GPU wouldnt display anything when attached to a VM. It was detected, but windows could not use it. There may be ways to fix/workaround, i could not find them.
-The top GPU will likely be starved for air unless the bottom GPU is mounted vertically with a riser. I modified a rather large old case to support vertical mounting a second GPU while providing sufficient airflow to it. There is around 30mm between the side panel and the GPU, which seems to be enough. Airflow in the case is going bottom-to-top, with the cpu radiator outside on the top of the case.
-Highly recommend a dedicated usb controller for windows, the VR-compatible pcie-cards are less than 30€. I have two because the first one did not work well with my valve index and i had space for two cards. I got them from amazon.de
-I have 4 usbs on the front panel, 2 for linux and 2 for windows. This has been exactly enough in my experience. There are 6 more for windows on the back of the pc, and however many the mobo has for linux.
-A cheap usb "switch" is used for mouse+keyboard. The non-mechanical ones seem to work better. Cost direct from china is something like 10-15€. I am currently using a 2in, 4out model.
-I use two inputs on the TVs for switching displays. I fortunately have an older remote with a dedicated HDMI button, so i just need to push one button to switch between linux and windows. Looking glass is cool, but i was too lazy to try setting it up.
-There is something not-smooth about using VR in the virtualized windows. Not sure what it is. Using native windows is better for VR applications. Although i think i played ETS2 in vr on linux and it was running stably. Of course a 1060 isnt fast enough so it was potato quality visually.
-I could not get pulseaudio to cooperate with QEMU/KVM and used a usb audio card instead for windows. I use an external mixer anyways so this was not a problem for me.
-Pulseaudio in general has only given me problems, I have been using pipewire instead for over a year now and it has gone smoothly after initial configuration.
-I did measure the power consumption under full load, but i forget what it was. I think i was almost disappointed by how low it was, though.
-I use samba to share folders between linux and windows. This is not optimal and i wanted to try other things but got lazy when looking into it. Other options seemed rather complicated for simultaneous access.
This took a while to write, hopefully it is even partially useful
I can provide more details on the running config tomorrow if needed.
Your upgrade seems reasonable, i would recommend a motherboard with better suited pcie though.
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now