QEMU/KVM windows 10 vvm stuck on 800x600 64hz

so i managed to get a windows 10 vm set up in qemu/kvm using the following specs

1socket 8 cores 8 threads copy host cpu config (i have a threadripper 3960x)
8192mb ram
50gb virtio disk
spare set of usb keyboard and mouse passed through
video set as virtio with 3d acceleration enabled and for heads it says 1
for display i have spice server, listen type none, no keymap, and opengl unchecked

so my issue is i have my radeon 6950 passed through and can confirm it works. i have win10 updated, a win7 key added, and all virtio devices updated/identified. my problem is when i dont have a monitor plugged into the graphics card i only get a default screen 1 with a greyed out option of 800x600 resolution. when i plug a monitor into the 6950 screen 1 stays the same but it adds a 2nd screen with all the resolution options i’m used to seeing. pics i’m sure i’m missing something easy but needed to get screen 1 to have higher resolution. i would like to have the default vm screen work so i dont have to unplug and swap my 2nd monitor to a different gpu every time i try to use windows

not sure if it helps but screen 1 is also very fuzzy and at times has graphical glitches and whatever is on it has slight, but noticeable lag. but it was able to play diablo 2 so i assume its running off cpu?

If you are using virt-manager (gui that many distros use) the CPU topology settings in the GUI are actually sockets, cores per socket, threads per core. So total threads is sockets * cores per socket * threads per core. I’m not sure if you ment it that way, or if it was 8 total threads you have allocated, but if you entered 1 socket, 8 cores, 8 threads in virt-manager the VM would try to allocated 64 threads.

Also it it a good idea to set the same layout as your host CPU, 2 threads per core and as many cores as you feel you need. I would also set “host-passthrough” for cpu model instead of “host-model”

Here is your main problem. virtio video does not have any drivers available for windows. There is no way to get your emulated graphics card to have 3d acceleration in windows. Set it for QXL and you can get more resolution options but it still won’t have 3D acceleration in the spice window’ed monitor.

Also, if you pass through a GPU, only the applications run on the monitor(s) attached to that GPU will use it for 3D acceleration.

If you don’t want to use an additional monitor for your passed through GPU you can use a KVM switch, switch monitor inputs, or check out looking glass.
Looking glass will do what it sounds like you want to do. I have never used looking glass, but there are several threads on here about it and its creator hangs out here as well.