Using KVM, you can use do full GPU pass through to any OS from your host without a need for a second GPU (including integrated graphics).
Works with AMD and nvidia cards, I’ve even done this with a macOS VM.
Here’s a guide that’s the easiest I’ve found to follow. It includes some automated scripts.
github.com/BigAnteater/KVM-GPU-Passthrough - this guide is for Arch Linux, but the scripts and configs should work the same on any OS, you’ll just need to make sure the correct packages are installed.
Like you mentioned, there are some hardware requirements to do this, but most modern hardware supports it. Also, if you are running the VM then using SSH to control your host is probably your only option, but shutting down your VM should take you back to your display manager so there’s no rebooting.
I used this set up to play warzone for a while, performance was just as good as windows on bare metal.
Some notes from my experience:
if you upgrade your host’s kernel, then reboot before trying to start your VM.
2 There are 2 scripts that will be built for you, vfio-startup and vfio-teardown. They will unload and reload kernel modules as needed so you’ll want to check if they are needed. My nvidia drivers are built into the kernel, so I couldn’t unload them, which stalled the VM startup.
It might take some trial and error, if your VM doesn’t start after you attach the GPU then check the logs under /var/log/libvirt (or wherever your libvirt logs to)