Fractional HiDPI scaling of GNOME Boxes host + Windows 10 or Windows 11 guest + Red Hat QXL = wrong draw size resulting in way worse perf
Using Red Hat's QXL Windows driver with gnome-boxes and a Windows 10 guest has left me with a resizable window where the guest reports a ridiculously way too large draw size (probably 1.5x to 2x both width and height?). I need to set draw scale to 200% in the Windows guest to have readable fonts at roughly normal size, and currently Windows reports 2104x1238 resolution on a gnome-boxes window that is not fullscreen on a host display that is just 1920x108 in total. This means the guest is obviously drawing at a way higher resolution than the actual visible pixels. Sadly, this seems to wreck draw performance, and the guest feels very laggy unless I keep its window tiny.
Any ideas for a workaround for this bug appreciated, mainly due to the lag. Also, let me know if I need to file this bug against QXL, Qemu, or KVM instead.
Version: 40.2, 45.0
Steps to Reproduce:
-
Install Windows 10 or Windows 11 guest in gnome-boxes, install red hat guest extensions, enable QXL and virtio (you may need to add in second few megabytes virtio disk, check for drivers in device manager, reboot to see it's working, then shut it off and remove second disk again and convert main disk to virtio. otherwise windows may complain it can't access the boot volume)
-
On the host, run gnome shell with a wayland session, enable GNOME's experimental unrestricted DPI-scaler that unlocks 150% (otherwise it just allows 100% or 200%), and set to 150%
-
Launch windows 10 in gnome boxes. It should have a resizable window and adapt to it, but everything is likely way too tiny. Go into display settings (inside Windows) to check on resolution.
Actual results: VM reports way larger size than the resolution of the native display it is shown on, even though the window isn't even fullscreen, resulting in sluggish performance and unusable UI unless it is set to 200%
Expected results: VM renders at correct size, not wasting all that draw perf
Additional info: I use GNOME 3 desktop/display scaling of 150% (the experimental true 1.5x DPI scale that affects everything, NOT the 1.5x font scaling that half of all apps will ignore). I wouldn't be surprised if this is what makes gnome-boxes, or whatever is breaking, so completely bananas on being confused with what the actual window size is. Definitely not 2104x1238 though, I can tell you that much.