Description of problem:
When using Windows 10 on my laptop with 14" 1920x1080 screen as a spice client, Windows scales the mingw-virt-viewer window to 1.5 of the original size so e.g. in fullscreen, the screen size reported to mingw-virt-viewer is 1280x720. This results in blurry display whatever you do: even if you resize the VM display in fullscreen to client window size, the image is scaled twice: FullHD → 1280x720 by remote-viewer to fit the "window" size and back 1280x720 → FullHD by Windows.
The first client-only steps to get acceptable behaviour for HiDPI thus would be:
- update mingw-gtk to 3.22.3 [1] (should be doable, RHEL already has it)
- draw gtk widgets (menus, dialogs) to native DPI to avoid scaling
- tell Windows not to scale spice-gtk widget
- change scaling factor of each step to n-th root of 2 between 1 and 2 (and with similar to get to 3.0 scaling factor) so that we are able to display legacy guests on HiDPI clients using 2x2 or 3x3 superpixels using just virt-viewer scaling
- optionally: add those discrete scaling steps to the menu, allowing direct selection of good mode
In the future, we should also pass the DPI information all the way to the guest to make things transparent to the user but this is IMO what is needed right now to have at least some support of the scenario.
[1] http://news.softpedia.com/news/gtk-plus-3-22-3-brings-gl-improvements-on-windows-adds-hidpi-support-as-well-510065.shtml
Version-Release number of selected component (if applicable):
w10:
VirtViewer v2.0-208
mingw32-spice-gtk3-0.31-6.el7ev.noarch
How reproducible:
always
Steps to Reproduce:
1. on sufficiently smooth display, connect to a VM
2.
3.
Actual results:
the VM display is blurry whatever you do
Expected results:
the VM display should be sharp with good options of scaling to a usable size
Additional info:
I didn't try HiDPI scenario in Linux yet