virt viewer QXL connection mouse unusable with >3ms latency with windows 8
Submitted by Andi Kleen
Assigned to Spice Bug List
Description
This was originally in #91219, but it seems like a different problem, so I'm opening a new bug.
I'm connecting with virt-viewer to a remote system running a qemu KVM VM with Windows 8.1. There is some latency on the connection (not a LAN)
I installed QXL drivers in Windows 8.1.
When I don't use the QXL graphics, the mouse works fine, just the repaint refresh is painfully slow (can watch it redraw)
When I use the QXL graphics, the graphics is faster. Everything works fine when I connect locally on the system to the VM using QXL.
However as soon as there is some latency on the QXL connection the mouse pointer becomes unusable: the mouse pointer still moves, but doesn't react to clicks anymore. When the latency becomes higher it doesn't even move anymore.
The non QXL connection doesn't have this problem, even at higher latencies the mouse always works fine.
I did some experiments to characterize this: i'm running a FC23 guest on the system with the Windows VM and use it to connect virt-viewer to the windows guest running on the same host.
Initially the mouse works fine (latency low enough).
Then I add some extra latency on the guest with (this requires install kernel-modules-extra on FC23)
tc qdisc add dev ens3 root netem delay 5ms ... tc qdisc del dev ens3 root netem # needed to change the value
With 0ms extra delay the mouse click works fine. With 1ms extra delay it gets slower, but is still usable. With 3ms extra delay is barely reacts to mouse click anymore (but still moves) Usually the first click still works, but then later clicks don't, so it seems something is stuck in the protocol? With longer delays the mouse pointer also stops moving, not just the clicks.
Other experiments tried:
- It is not the specific FC23 virt viewer version. I also used an older version from OpenSUSE Leap, and also a very recent version from opensuse, and they also had the same problem.
Versions: (FC23)
virt-viewer-3.0-1.fc23.x86_64 qemu-kvm-2.4.1-11.fc23.x86_64
The windows guest is running:
Windows 8.1 Red Hat QXL controller 17.54.59.923 4/21/2016