I’m happy to report successful GPU passthrough with some benchmark scores. While I already had some VM experience, I only heard about GPU passthrough 2 years ago and tried it for the first time last week for my new rig. It was an amazing experience and I’m satisfied by the results as well as the learning process
Most relevant HW
Gigabyte Z390 Aorus Elite
Intel Core i9 9900K
Zotac GeForce RTX 2080 SUPER Twin Fan
MSI GTX 1050 TI
My intention was to put an actual number on performance loss due to virtualization and learn as much as I can. i9 9900k has 16 threads, vm uses 14 threads (no isolcpus). I did some 14t win10 baremetal benchmark to have two points of comparison. Also evaluated benchmark perf with LookingGlass.
“Dual boot” use case loss (ie. 14 threads VM vs 16 threads baremetal)
LG : ~6%
HDMI : no diff on avg, barely more than 4% diff on 3DMark Firestrike
Needless to say, I’m impressed.
LookingGlass vs 16t "dual boot"
6622/7104 = 0.932 superposition
3431/3655 = 0.939 heaven
5567/5657 = 0.984 valley
10227/10858 = 0.942 timespy
21903/24041 = 0.911 firestrike
HDMI vs 16t "dual boot"
7019/7104 = 0.988 superposition
3651/3655 = 0.999 heaven
5917/5657 = 1.046 valley oO
10986/10858 = 1.011 timespy oO
23031/24041 = 0.958 firestrike
1.0004 avg oO
LookingGlass vs 14t "fair"
6622/6976 = 0.949 superposition
3431/3607 = 0.951 heaven
5567/5556 = 1.002 valley oO
10227/9252 = 1.105 timespy oO
21903/22589 = 0.970 firestrike
"HDMI vs 14t "fair" (is it ?)
7019/6976 = 1.006 superposition
3651/3607 = 1.012 heaven
5917/5556 = 1.065 valley
10986/9252 = 1.187 timespy
23031/22589 = 1.019 firestrike
1.057 avg oO
A long and messy post with more details and some scripts there :
I wrote the reddit post after some basic gaming tests and benches and was kindly reminded to have a look at latency there. Worked it out so that Latencymon now stays in the green with spikes around 400µs “pretty much whatever I throw at it”. With the notable exception of evdev passthrough which often (but not always) throws a ~90ms spike when I switch but that’s not an issue for me. I can trigger it forcefully by hitting both Ctrl keys like a madman