Bug 91219 - Slow mouse movement when using spice agent under Windows 8 and Windows Server 2012 R2 guests
Summary: Slow mouse movement when using spice agent under Windows 8 and Windows Server...
Status: NEW
Alias: None
Product: Spice
Classification: Unclassified
Component: win32 qxl xddm (show other bugs)
Version: unspecified
Hardware: x86-64 (AMD64) All
: low normal
Assignee: Victor Toso
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-07-03 19:37 UTC by Thiago Basilio
Modified: 2017-02-23 13:31 UTC (History)
5 users (show)

See Also:
i915 platform:
i915 features:


Attachments
QEMU's command line (1.74 KB, text/plain)
2015-07-10 19:45 UTC, Thiago Basilio
Details
Spice Client (remote viewer) with debug (18.50 KB, text/plain)
2015-07-10 19:51 UTC, Thiago Basilio
Details
libvirtd logfile (1.12 MB, text/plain)
2015-07-10 19:52 UTC, Thiago Basilio
Details
Virtual Machine's logfile (9.06 KB, text/plain)
2015-07-10 19:52 UTC, Thiago Basilio
Details
libvirtd logfile (1.12 MB, application/octet-stream)
2015-07-10 19:55 UTC, Thiago Basilio
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Thiago Basilio 2015-07-03 19:37:53 UTC
I'm experiencing problems with spice-vdagent under Windows 8 and Windows Server 2012 R2 guests.

The guests are using VirtIO version 0.1.105. The spice-vdagent is version 0.7.3.

When spice-vdagent is running, mouse movement seems very sluggish. Very similar to a 1993-era serial mouse. If I stop the spice-vdagent service, mouse movement gets smooth again.

This situation also happens if:
... 1) The 'USB Tablet' device is added or removed;
... 2) The PS/2 mouse is added or removed;
... 3) The standard mouse (PS/2 mouse) is set-up as a 'USB Generic Mouse'.
Comment 1 Victor Toso 2015-07-10 16:27:16 UTC
Hi, thanks for taking time to report this.

It is really hard to verify the problem without any logs. I'm more interested in the log of the client with SPICE_DEBUG=1 and QEMU as well.

Also, What is the QEMU version? Could you please share the QEMU command line?
Comment 2 Thiago Basilio 2015-07-10 19:45:24 UTC
Created attachment 117038 [details]
QEMU's command line
Comment 3 Thiago Basilio 2015-07-10 19:51:14 UTC
Created attachment 117039 [details]
Spice Client (remote viewer) with debug

Connect to Spice Server --> Logon (type stuff) into Windows VM --> Move mouse around --> Close Spice Client window.
Comment 4 Thiago Basilio 2015-07-10 19:52:03 UTC
Created attachment 117040 [details]
libvirtd logfile

Complete libvirtd logfile (start libvirtd, VM starts, VM is shut down, libvirtd is stopped).
Comment 5 Thiago Basilio 2015-07-10 19:52:34 UTC
Created attachment 117041 [details]
Virtual Machine's logfile
Comment 6 Thiago Basilio 2015-07-10 19:53:55 UTC
(In reply to Victor Toso from comment #1)
> Hi, thanks for taking time to report this.
> 
> It is really hard to verify the problem without any logs. I'm more
> interested in the log of the client with SPICE_DEBUG=1 and QEMU as well.
> 
> Also, What is the QEMU version? Could you please share the QEMU command line?

Victor, thanks for your input.

Please check my attachments. If there is anything missing, please let me know.

QEMU/libvirtd version:
... virsh # version
... Compiled against library: libvirt 0.10.2
... Using library: libvirt 0.10.2
... Using API: QEMU 0.10.2
... Running hypervisor: QEMU 0.12.1
Comment 7 Thiago Basilio 2015-07-10 19:55:46 UTC
Created attachment 117042 [details]
libvirtd logfile

Complete libvirtd logfile: libvirtd started --> VM started --> VM shut down --> libvirtd stopped.
Comment 8 Victor Toso 2015-07-13 16:28:48 UTC
Hi Thiago,

From the logs is also not clear what is happening. But it does look like client or host issue, not guest.

I have two windows 8.1 VMs with almost same configuration running in two different hosts: One is f22 with almost everything from git master and the other is a f23. 

- Using client from master does not have the issue (connecting in both hosts)
- Using client from f23 we can reproduce the problem in both hosts.

I'll dig in a little more in the meanwhile can you provide the spice and remote-viewer versions that you are using?
Comment 9 Thiago Basilio 2015-07-13 19:22:01 UTC
(In reply to Victor Toso from comment #8)
> Hi Thiago,
> 
> From the logs is also not clear what is happening. But it does look like
> client or host issue, not guest.
> 
> I have two windows 8.1 VMs with almost same configuration running in two
> different hosts: One is f22 with almost everything from git master and the
> other is a f23. 
> 
> - Using client from master does not have the issue (connecting in both hosts)
> - Using client from f23 we can reproduce the problem in both hosts.
> 
> I'll dig in a little more in the meanwhile can you provide the spice and
> remote-viewer versions that you are using?

Hi Victor,

Thanks for your input!

My system is running CentOS 6.6 x86_64.

Here it is:
... Versions:
...... spicec: 0.8.3 (package spice-client-0.8.2-15.el6.x86_64).
...... remote-viewer: 0.6.0 (package virt-viewer-0.6.0-11.el6.x86_64).
Comment 10 Victor Toso 2015-07-13 19:47:56 UTC
> My system is running CentOS 6.6 x86_64.
> 
> Here it is:
> ... Versions:
> ...... spicec: 0.8.3 (package spice-client-0.8.2-15.el6.x86_64).
> ...... remote-viewer: 0.6.0 (package virt-viewer-0.6.0-11.el6.x86_64).

I would like to know the spice-gtk and spice-server packages.

PS:
* spicec is a spice client but it is deprecated and it isn't maintained anymore.
* your remote-viewer looks quite old (0.6.0 was released on 24/Jan/2014. Current remote viewer is above 2.0
Comment 11 Thiago Basilio 2015-07-14 11:52:23 UTC
(In reply to Victor Toso from comment #10)
> > My system is running CentOS 6.6 x86_64.
> > 
> > Here it is:
> > ... Versions:
> > ...... spicec: 0.8.3 (package spice-client-0.8.2-15.el6.x86_64).
> > ...... remote-viewer: 0.6.0 (package virt-viewer-0.6.0-11.el6.x86_64).
> 
> I would like to know the spice-gtk and spice-server packages.
> 
> PS:
> * spicec is a spice client but it is deprecated and it isn't maintained
> anymore.
> * your remote-viewer looks quite old (0.6.0 was released on 24/Jan/2014.
> Current remote viewer is above 2.0

Hi!

My spice-server package is spice-server-0.12.4-11.el6.x86_64, and the spice-gtk package is spice-gtk-0.22-7.el6.x86_64.

I didn't realize that my remote-viewer package was so old...!
Comment 12 Victor Toso 2015-07-14 13:29:54 UTC
Hey,

So, looks like there are a few things that could lead to this mouse slowness.

First, lack of QXL driver on windows 8. In a machine without SSD mouse became slow on a windows 7 when changing the video device to VGA instead of QXL.

Second, I've tested on two hosts, both using Fedora 22 but with spice components + qemu from git master. The machine with SSD doesn't show the mouse slowness.
 
> My spice-server package is spice-server-0.12.4-11.el6.x86_64, and the
> spice-gtk package is spice-gtk-0.22-7.el6.x86_64.

So, there were improvements related to drawing on both spice-gtk and spice-server. Current spice-gtk is 0.29 and current spice-server is 0.12.5 (but we should have a new release soon)

I'll keep the bug open and move it to windows driver component which should fix the problem (in the future!)
Comment 13 Victor Toso 2015-07-14 14:34:13 UTC
Additional information: Reporter has installed qxlwddm driver from:
http://people.redhat.com/vrozenfe/qxlwddm/
Comment 14 snoopyf 2016-01-20 07:56:50 UTC
Hello everybody,

are there any news about this issue?

I've got similar problems with a Windows 10 Gust. 

First these are the Versions on the KVM Host:
 - qemu-2.3
 - spice-0.12.5
 - spice-protocol-0.12.7
 - libvirt-1.2.7

This is what I've done:
 - Create a new VM in virt-manager with:
   - Video QXL
   - Display Spice
   - Channel Spice
   - VirtIO Storage / Network
 - Freshly installed current Win 10 Pro
 - Installed VirtIO / QXL drivers from here: https://fedoraproject.org/wiki/Windows_Virtio_Drivers

When connecting to the VM with virt-manager the mouse movement in the Windows 10 Guest is a bit laggy.

When installing Windows 7 Pro in the same VM and installed the corresponding drivers from the link above, mouse movement is absolutly perfect.

Any ohter idea?
Comment 15 Victor Toso 2016-01-20 08:24:10 UTC
> Any ohter idea?

Which client and its version are you using?

Besides comment #12 info, I can recommend checking if disabling vdagent helps. If you don't have it installed, you could check if installing it helps (on your windows VM)
-> http://www.spice-space.org/download.html

Please note that we don't have any supported video drivers for windows 8 and windows 10. You could check if changing from QXL to VGA helps as well.
Comment 16 RK 2016-04-19 03:12:12 UTC
Hi,

I am experiencing same situation with my Windows 8.1 and Windows 10 guests running under oVirt 3.6 with the following spice components,

virtio-win-0.1.110
spice-guest-tools-0.100

When I use windows 7 guests the mouse movements and other video activities are like water flow. but under Windows 8/8.1/10 guests I am facing very sluggish mouse movements and window opening and closing activities.
Comment 17 snoopyf 2016-05-24 11:14:30 UTC
(In reply to Victor Toso from comment #15)
> > Any ohter idea?
> 
> Which client and its version are you using?
I'm using virt-manager 1.3.2 / virt-viewer 1.00


> Besides comment #12 info, I can recommend checking if disabling vdagent
> helps. If you don't have it installed, you could check if installing it
> helps (on your windows VM)
> -> http://www.spice-space.org/download.html
No difference whether vdagent is running or not

> Please note that we don't have any supported video drivers for windows 8 and
> windows 10. You could check if changing from QXL to VGA helps as well.
When using VGA instead of QXL and leaving SPICE things r getting worse... mouse cursor not only lags but is also flickering, overall gfx performance is worse than with qxl
Comment 18 snoopyf 2016-05-24 11:40:24 UTC
Just tried with virt-viewer 3.1 ... problem remains the same
Comment 19 Thiago Basilio 2016-05-24 12:27:50 UTC
Using CenOS 7.2.1511 I still have the same problem that I've described on the beginning of this bug report. Back then I was running CentOS 6.


QEMU/libvirtd version:
... virsh # version
... Compiled against library: libvirt 1.2.17
... Using library: libvirt 1.2.17
... Using API: QEMU 1.2.17
... Running hypervisor: QEMU 1.5.3

virt-manager & virt-viewer:
... virt-manager-1.2.1-8.el7
... virt-viewer-2.0-6.el7
Comment 20 Daniel Miranda 2016-06-10 01:37:10 UTC
I'm seeing this issue with a Windows 10 guest on a Fedora 23 host.

virsh # version
Compiled against library: libvirt 1.2.18
Using library: libvirt 1.2.18
Using API: QEMU 1.2.18
Running hypervisor: QEMU 2.4.1

virt-manager-1.3.2-2.fc23.noarch
virtio-win-0.1.118-1.noarch

Mouse movement is very laggy. Almost unusable with the relative mouse movement, unpleasant with absolute movement.
Comment 21 Victor Toso 2016-06-10 09:06:49 UTC
I wonder if server-mode mouse works better? If you could test upstream code, since patch [0] spicy tool has a toggle menu that changes the mouse mode to either server/client.

[0] https://cgit.freedesktop.org/spice/spice-gtk/commit/src?id=1921897651ee6e3106a5dfc770b65ca4d6520929

In case you can't test it right away, spice-gtk release is not too far away.
Comment 22 Marc 2016-06-15 15:32:04 UTC
I experience same issue, only workaround I had was to use the mouse as a redirected usb device, for now. It prevents my mouse from temporarily locking up every 10 or 15 seconds.

Tested from CentOS 6.7, Fedora 23. Win8.1 vm.

I always get slow mouse movements (client side or server side mouse) if I load certain multimedia. A great example is loading the Netflix main page from Chrome, the background animation makes the mouse really slow.

Best regards,

Marc
Comment 23 Stephen Pegoraro 2016-06-26 03:07:56 UTC
I'm experiencing the same issue using the Windows 8 QXL DOD driver.

Versions:
- libvirt:      1.3.5-1
- qemu:         2.6.0-1
- virt-manager: 1.4.0-1
- virt-viewer:  3.0-4

It only seems to affect Windows 8 and 10 guests.
Comment 24 jheidecker 2016-09-17 16:48:10 UTC
I'm experiencing the same issue using the Windows 8 QXL DOD driver on a Windows 8 guest.

Versions:
- qxl-driver:   22.33.46.473
- virt-viewer:  3.0-256
- spice-server: 0.12.8-1
- qemu:         2.6.1-2
Comment 25 Andi Kleen 2016-09-21 15:07:58 UTC
The mouse problems with QXL makes a Win8.1 guest completely unusable for me. I have to fallback to not using the QXL driver which is really slow
Comment 26 Mike 2016-09-22 16:19:35 UTC
I downloaded: qxlwddm-0.16-flexvdi.zip 
From here: http://depot.flexvdi.com/guest-tools/

Once that driver was installed in Windows 10, the mouse was buttery smooth, just like Windows 7.

There is also a github for this driver here: https://github.com/flexVDI/qxl-dod -- Though it may be a little out of date.
Comment 27 snoopyf 2016-09-22 18:12:41 UTC
(In reply to Mike from comment #26)
> I downloaded: qxlwddm-0.16-flexvdi.zip 
> From here: http://depot.flexvdi.com/guest-tools/
> 
> Once that driver was installed in Windows 10, the mouse was buttery smooth,
> just like Windows 7.
> 
> There is also a github for this driver here:
> https://github.com/flexVDI/qxl-dod -- Though it may be a little out of date.

Hey Mike,

thx a lot for the link, with this QXL display driver mouse movement in a Windows 10 Guest is indeed as smooth as in Windows 7! 

Awsome!
Comment 28 Thiago Basilio 2016-09-22 20:59:22 UTC
(In reply to Mike from comment #26)
> I downloaded: qxlwddm-0.16-flexvdi.zip 
> From here: http://depot.flexvdi.com/guest-tools/
> 
> Once that driver was installed in Windows 10, the mouse was buttery smooth,
> just like Windows 7.
> 
> There is also a github for this driver here:
> https://github.com/flexVDI/qxl-dod -- Though it may be a little out of date.

Hi Mike!

Using the "qxldod" driver from "flexVDI guest tools" does the trick. Mouse is running smooth like we usually experience on a Windows 7 guest.

Also (good news) the smooth mouse still works as its supposed to even when SPICE vdagent is enabled.

Good! Smooth mouse, copy and paste and resolution auto resize.



Cheers,
Thiago
Comment 29 Thiago Basilio 2016-09-22 21:14:48 UTC
Tested guest: Windows Server 2012 R2.
Comment 30 Ruben Van Boxem 2016-10-29 13:22:52 UTC
I can confirm the drivers and guest agent from flexvdi give me a responsive, automatically resizing, clipboard-enabled Windows VM through libvirt/Qemu. This is compared to the driver/guest agent in the latest virtio iso, 0.1.126, which had terrible performance, no desktop resolution resizing, and perhaps functional clipboard sharing.

Please consider adding the changes they did, it makes a world of difference!

The thread with the original contributions was started in February of this year:
https://lists.freedesktop.org/archives/spice-devel/2016-February/026319.html
Comment 31 Markus Lindberg 2017-02-23 13:31:34 UTC
(In reply to Ruben Van Boxem from comment #30)
> I can confirm the drivers and guest agent from flexvdi give me a responsive,
> automatically resizing, clipboard-enabled Windows VM through libvirt/Qemu.
> This is compared to the driver/guest agent in the latest virtio iso,
> 0.1.126, which had terrible performance, no desktop resolution resizing, and
> perhaps functional clipboard sharing.
> 
> Please consider adding the changes they did, it makes a world of difference!
> 
> The thread with the original contributions was started in February of this
> year:
> https://lists.freedesktop.org/archives/spice-devel/2016-February/026319.html

Yes the flexVDI solution works really well. It would be wonderful to merge the changes to upstream. We need good support for SPICE on Windows >= 8!

--
Markus


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.