I have been using Linux in dual boot configurations since 1999. Once the VM clients were developed like VMware and VirtualBox I explored starting out with Windows 7 running in a VM with Linux being the host OS. I quickly found that these would not work for me because all of the PCs hardware was virtualized and of course the graphics was rather anemic and you could not use it for games or any Windows app that needed a good GPU to operate so I gave up using these VMs. Up until recently when I built my PCs I always used Nvidia GPUs because before AMD took over ATIs GPUs Nvidia had much better linux drivers than ATI. Since I was an avid gamer whenever a new driver was released I would down load the driver from Nvidia and compile the new driver into the Kernel. Back before systemd this was easy to do on systems using the traditional init system. Init was set up with different run levels init3 was just a terminal with no x server running init5 was the run level that the x server and the GPU drivers were loaded. To compile a new driver all I had to do was to open a terminal window log in as root and simply type init3 and after hitting enter the screen would go black as the x server was being stopped and then you were quickly presented by just a text based terminal and you could then compile the new driver and once this was finished you could then type in init5 and the x server was restarted that was running the new Nvidia driver. I included all of this info to be able to ask my question.
I am not a hardware expert and I am not a coder just an lowly end user. However I have had this question for a long time and it may be a stupid question but I have decided to ask it anyway. When the x server is not running it allows you to compile a new driver for the system, if you had Windows installed into a VM could the launcher for the VM have a script that ran before it started the VM that killed the x server once the VM was launched couldn’t Windows have access to the GPU to have it run using the Windows driver? If this is possible then people who cannot afford expensive high end Threadripper systems with lots of PCIe lanes for hardware pass through could still utilize a VM running Windows for gaming or the few programs that they will always need to run that only run on Windows.