Tends to work better with nVidia graphics on an Intel CPU, even when an AMD CPU or graphics chip would normally perform better than the given equivalent part from Intel/nVidia
Many older titles (10-15 years or more) are no longer supported and thus require much manual tinkering to run properly on windows 10, requiring digging though forums and trying many things. Compare that to GoG where these titles often run out-of-the-box.
Linux support is generally overlooked. It is recommended to disable in-game overlay and to use a real browser to interact with steampowered's website. Basic library access works usually without a hitch.
Also do not expect real tech support on Linux. Forum questions of bugs often go unattended and unanswered.
Tends to work better with nVidia graphics on an Intel CPU, even when an AMD CPU or graphics chip would normally perform better than the given equivalent part from Intel/nVidia.
For the most of the modern games that's easily achievable but for old games (such as Need for Speed 2) this can be a problem since nowadays almost no one keeps their original CDs.
Also, the improved performance over virtual box in games is mostly gained in the advanced settings, meaning in depth tinkering, nearly negating any advantage over vfio
VirtualBox is available for free with source code available here. A "VirtualBox Extension Pack" that includes virtual USB 2.0, VirtualBox RDP & PXE boot support is available only under a commercial license. VirtualBox is available on Windows, Linux, OSX and Solaris.
Since the hardware is attached to the virtual machine, it cannot be used outside of it, meaning two GPUs are required if using a graphical environment. IGPUs (integrated GPUs, usually included in consumer grade CPUs) can of course also be used.
Since your GPU will not be usable outside of the virtual machine, (unless this process reverted of course) getting it to be "hot swapped" between your host system and the virtual machine can prove difficult.
While a VFIO virtual machine can be run in windowed mode, it does not perform at near native performance while doing so, a second monitor output is required in order to display the GPU output with near native performance. This can for example be achived using a secondary monitor, or by plugging both your host and virtual machine video output into the same monitor and switching between them with a button if it supports it.
One game, in particular, Counter-Strike: Global Offensive, does not allow its users to play the game using a VFIO setup. This could, however, be overcome by playing it on your host machine, since the game runs on Linux. Then you could either rely on your secondary graphics card to run the game on your host machine or rebind your primary GPU to the host machine.
Since the hardware is directly linked to the virtual machine, only the virtual machine has to install GPU drivers for the GPUs linked, leading to less GPU drivers required on the host machine that without VFIO.
The goal of ReactOS (when complete) is full compatibility with all Windows software. This would allow a FOSS alternative to Windows without needing leaving behind the programs that one uses.