Playing MSFS 2020 on Windows 10 using GPU Passthrough (IOMMU)

I’ve been running Windows for a long time. I would like to switch to linux as my desktop since developing in Python has less headaches. The only software, off the top of my head, that I need Windows for is games. Currently I am interested in Microsoft Flight Simulator 2020, but I play “the DooMs” and No Mans Sky as well. Basically windows has become my gaming OS.

How close to running Windows 10 on bare metal compare to running it on a libvirt KVM with GPU Passthrough? Particularly how does MSFS 2020 hold up? How close is the FPS?


Fossilized Gamer

In terms of GPU, it is pretty much 1 to 1, since you are passing through the entire GPU. If you are going to use Looking Glass, there is going to be a bit of overhead.

In terms of storage, it is a lot slower if you are running off a disk image, especially if it is qcow2 not raw, and if you are not using virtio storage drivers. If you pass through an entire drive, then it is pretty much the same as normal, but you do loose all the nice checkpoint/rollback features that qcow2 gets you.

Single-core CPU can get within a percent of native, assuming that there is nothing else on the host using that same core a lot. It can be worse, but you can get upto that at least on some systems.
Multicore CPU performance can get close to bare metal, but since it is generally recommended to leave at least one core for the host, you will lose some performance, if you are using all of the core. AFAIK, MSFS 2020 uses only four cores max, so if you have a six core CPU, then that is no problem.

Ram, I am not sure the current status. I think you lose some speed, but I have not looked at benchmarks recently. If you are on Ryzen/Threadripper, you may have to play with CPU core pinning in the VM config to make sure that everything can communicate effectively, what with the CCXs and all.

Best case, it is within margin of error. Worst case, your motherboard has bad IOMMU groups or a UEFI bug that makes passthrough not feasible.

1 Like

That is very encouraging. I guess the best thing to do is to try it out when the I build the new computer and report back.

Thanks!

1 Like

Make sure to inform yourself about the you are going to buy. You need a mainboard with good IOMMU groups and an graphics card that does not have any unsolvable bugs. Generally recommendations and tests people post in a forum like this is what I would go on since this is information you mostly won’t find in any tests or reviews.

Additionally I wanted to point out that on modern system the performance is really good. Even if you don’t optimize anything you maybe loose 7% performance which most people can probably live with if you take the huge performance of modern computers into account.
With a good optimization you can practically get to bare metal performance minus 1Core for the host. There are some things to learn and you can optimize almost every aspect of your virtual machine but you don’t need to.
I for example use a simple QCOW2 image with virtio drivers for my virtual machine storage on a SATA SSD and the performance is more than enough for my gaming needs.