Mouse pointer disappears as in enters in desktop 2 zone.
spice-vdagent-0.14.0-12.el6.i686 (RHEL6.9 32)
How reproducible: always
Steps to Reproduce:
1. Have VM with a RHEL6.9 32bit.
2. Edit the VM, in "Console" options set Monitors == 4.
3. Connect to the VM with remote-viewer in window mode.
4. Enable second display: in remote-viewer select: View -> Displays -> Display #2.
4. Close remote-viewer.
5. Connect to the VM.
Actual results: mouse disappears while entering in Display#2 zone.
This bug is reproducible only for guest RHEL6.9 32bit. Guest RHEL6.9 64bit works as expected.
Created attachment 1238802 [details]
remote-viewer log + export SPICE_DEBUG=1
Do you see a "dot" shaped cursor with SPICE_DEBUG_CURSOR set ?
Yes, I can see huge dot as mouse enters Desktop#2.
As mouse enters Desktop#1 pointer doesn't change.
when running with --debug --spice-debug :
(remote-viewer:7871): virt-viewer-DEBUG: creating spice display (#:0)
(remote-viewer:7871): virt-viewer-DEBUG: Insert display 0 0x1070360
(remote-viewer:7871): GSpice-DEBUG: spice-channel.c:2614 cursor-4:0: Open coroutine starting 0x1d73040
(remote-viewer:7871): GSpice-DEBUG: spice-channel.c:2455 cursor-4:0: Started background coroutine 0x1d726a0
(remote-viewer:7871): GSpice-DEBUG: spice-session.c:2192 cursor-4:0: Using TLS, port 5901
(remote-viewer:7871): GSpice-DEBUG: spice-channel.c:1244 cursor-4:0: channel up, state 3
(remote-viewer:7871): GSpice-DEBUG: channel-cursor.c:308 cursor-4:0: set_cursor: flags 0, size 2304
(remote-viewer:7871): GSpice-DEBUG: channel-cursor.c:315 cursor-4:0: set_cursor: type alpha(0), 0, 24x24
(remote-viewer:7871): GSpice-DEBUG: channel-display.c:1739 display-2:0: received new monitors config from guest: n: 2/4
(remote-viewer:7871): GSpice-DEBUG: channel-display.c:1759 display-2:0: monitor id: 0, surface id: 0, +0+0-1024x768
(remote-viewer:7871): GSpice-DEBUG: channel-display.c:1759 display-2:0: monitor id: 1, surface id: 0, +1024+0-1024x744
(remote-viewer:7871): GSpice-DEBUG: spice-widget.c:2365 mouse mode 2
(remote-viewer:7871): GSpice-DEBUG: channel-display.c:490 display-2:0: get primary 0x7f7d447cc010
(remote-viewer:7871): virt-viewer-DEBUG: creating spice display (#:1)
There is cursor set before the other display is created. It may suggest that the cursor is visible only for the first display but not for the other.
This bugs depends on:
# chkconfig ovirt-guest-agent off/on
chkconfig ovirt-guest-agent on - the bug is not reproducible
chkconfig ovirt-guest-agent off - the bug is reproducible
Patch was posted upstream for review:
I just noticed that this patch did not ever go upstream after discussion with Marc-Andre. Pavel are you working on a different approach here?
I am, wip on a more robust solution as discussed in the mailing list:
Shall we change this back to ASSIGNED then, or would you rather keep it as POST?
Posted another version: https://lists.freedesktop.org/archives/spice-devel/2017-May/037543.html
c3ee2cd0b32d286ca14678e9d6e12372 widget: Return early on cursor set without shape
e691954be45908702f227bc1c6f22697 widget: Set cursor during construction
c2a9c5dcccd40a35f6cf5c3af8087beb Deprecate "cursor-set" signal
d24db22d3c41684d51ea9c80bc47f83d cursor: Add cursor shape property
Only first cursor is missing for extra displays. Any new cursor shape will make it show again.
Moving to 7.5, keeping it on POST
All bits from comment #12 are present after spice-gtk rebase.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.