One day in 2020, a friend of mine sent me a link to this subreddit called r/VFIO. That was the first time I heard about playing games in a virtual machine, and I couldn't believe that was even possible. This wasn't really a necessity for me at the time, since my top games were Overwatch (which runs flawlessly with Proton) and Minecraft (which only needs Java). We watched video showcases, read tutorials and joked about it every once in a while, but the need for a spare GPU was a fairly major drawback.
Six months later, I got a deal on an Nvidia 1060 6GB from another friend who was upgrading his PC. I swapped it with my existing 1050 Ti in the top PCIe slot, plugged an extra display cable, and went on a little adventure.
The idea behind this project is to run Windows in a virtual machine with close to bare-metal performance, to be able to run modern games from the comfort of a Linux desktop without the various compatibility issues. The Linux kernel has a module called KVM which allows it to act as an hypervisor. On top of that, on CPUs and motherboards that support IOMMU, a QEMU/KVM virtual machine can "passthrough" a PCIe device to the guest system for direct access. This can be an NVMe SSD, a network card, or more importantly, a graphics card. With near-native CPU performance, a raw disk image on an SSD for storage, and GPU passthrough, the guest system feels like a normal full-blown PC, while running at the same time as the host.