I'm running a Windows XP guest on a Fedora 27 host, with this command line: /usr/bin/qemu-kvm -hda /var/lib/libvirt/images/MikeOfficeXP.img -usbdevice tablet -usb -device usb-host,hostbus=1,hostaddr=2 -device usb-host,hostbus=1,hostaddr=3 -parallel /dev/parport0 -m 4096 -k en-us -vga qxl -spice port=5931,disable-ticketing -net nic,model=rtl8139 -net user & spicy renders this correctly on a standard lo-dpi monitor, but visible rendering artifacts are visible on the hi-dpi monitor. See the attached screenshots. The hi-dpi screenshot has twice the resolution in each axis, but weird horizontal lines appear in the central white space.
Created attachment 137030 [details] correct lo-dpi screenshot
Created attachment 137031 [details] corrupted hi-dpi screenshot
Using spice-gtk3-0.34-1.fc27.x86_64 qemu-kvm-2.10.1-2.fc27.x86_64
I assume you are using a Fedora 27 as a client too. Which resolutions are you trying? Which environment/window manager are you using on the client? Seems to be some issue with Gtk rendering.
Yes, the lodpi client, hidpi client, and server are all Fedora 27 with stock gnome-shell/wayland. (The hidpi client used to have a lodpi monitor, and it worked fine.) All reasonable resolutions seem to exhibit the problem. The screenshots are for the 1440x900 Windows guest resolution. The hidpi client is at 3840x2160 (4k).
Easy reproduction steps: - launch a Windows machine (tried with XP and 7); - set "export GDK_SCALE=2"; - launch remote-viewer; - drag a window. Note that forcing client redraw fix the issue, so it seems that when we redraw an area of the screen the border are not redrawn. Note that the setting cause the remote machine to have half the size in pixel.
Any chance of having this looked at? It is crippling on a hi-dpi monitor.
This patch works: diff --git a/src/spice-widget.c b/src/spice-widget.c index 1e7add4..820509c 100644 --- a/src/spice-widget.c +++ b/src/spice-widget.c @@ -2598,10 +2598,10 @@ static void invalidate(SpiceChannel *channel, int x1, y1, x2, y2; double s; GdkRectangle rect = { - .x = x, - .y = y, - .width = w, - .height = h + .x = x - 1, + .y = y - 1, + .width = w + 2, + .height = h + 2 }; #if HAVE_EGL seems a Gdk bug to me.
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/spice/spice-gtk/issues/19.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.