Windows HVM fix screen tearing, auto resize, cursor, copy files FROM windows VM (not GPU passthrough)

When using a Windows HVM, with Windows 10, the Microsoft Basic Display adapter is in use and there is screen tearing.
When using Windows in QEMU and KVM, installing the QXL driver in the windows vm fixes screen tearing. (Although it still stutters, and the refresh rate last time I tried was 64 Hz, not 60 or 120, and I didn’t find any ways to fix this, I would think that this would be a popular complaint)

I tried using before qvm-pref to set the display adapter to qxl, not the default one, but then the vm didn’t boot at all (qubes error)

Also, there doesn’t seem to be any clear documentation on how graphics are implemented for HVMs. Does the stubdom run an x server with something like the qemu sdl backend and the x server with gui-agent displays it with the GUI protocol?
Or is qemu qubes-aware and makes the vga framebuffer xen shared memory and uses the GUI protocol directly?
It also seems weird that SPICE is generally used with QEMU, with KVM, because from all the documentation it seems to be a network protocol, which I think is an absolutely insane way to view VMs running on your computer, I would expect whatever viewer software is used to just display the vm’s framebuffer in a zero-copy way with no network crap.

Also there is no auto resize, which is quite often very inconvenient, is this possible?

And there is a double cursor, a black non-changing dom0 cursor, and a delayed low framerate vm cursor. There is apparently a registry key to hide it with QWT, but it doesn’t work. I downloaded an empty cursor theme and enabled it, this makes only the dom0 cursor appear, but this doesn’t survive reboot.

And such a solution would still not be ideal. With spice guest tools, there is a hardware host cursor AND the cursor can display arbitrary cursor images set by the VM, which makes the cursor experience good. Maybe there is a way to atleast make named-cursors work? So that instead of the dom0 cursor using an arbitrary bitmap from the VM, it uses the native selection cursor during selection, etc, like Linux AppVMs.

And lastly, I can copy files easily TO a windows VM, but I can’t figure out how to get them out, I can’t find a qvm-copy-to-vm command and the explorer context menu doesn’t have such an option