Bug 1008594

Summary: Moving a windows application window is not seamless to or from a display that full-screen.
Product: Red Hat Enterprise Linux 6 Reporter: Bill Sanford <bsanford>
Component: virt-viewerAssignee: Virt Viewer Maint <virt-viewer-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.5CC: acathrow, bsanford, cfergeau, codong, dblechte, hyao, jjongsma, juzhou, lcui, marcandre.lureau, mkrcmari, pvine, tzheng, vipatel, yeylon, zsong
Target Milestone: rc   
Target Release: 6.5   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1023253 (view as bug list) Environment:
Last Closed: 2013-12-12 21:20:33 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1009648, 1023253    
Attachments:
Description Flags
This is the screenshot of the app window not moving over until the mouse is in the second display none

Description Bill Sanford 2013-09-16 16:23:33 UTC
Created attachment 798354 [details]
This is the screenshot of the app window not moving over until the mouse is in the second display

Description of problem:
Configured is a multi-monitor display with the Windows XP VM and RHEL, I have the first display at 1024x768 and the second at full-screen. I then take a window (IE) and move it from the first to second display. The browser will not show up until the mouse is over in the full-screen windows.

Version-Release number of selected component (if applicable):
rhev-guest-tools-iso-3.3-5.noarch.rpm
RHEL6.5-20130912.n.2
rhev-hypervisor6-6.5-20130910.2.el6ev.noarch.rpm
Windows XP VM

How reproducible:
100%

Steps to Reproduce:
1. Install a SPICE VM and launch from command-lines in additional comments.
2. Have both display configured for 1024x768.
3. Put 2nd display in full-screen.

Actual results:
Movement is interrupted from one display to another

Expected results:
Movement is uninterrupted from one display to another

Additional info:

First terminal
/usr/libexec/qemu-kvm -m 2048 -spice port=3001,disable-ticketing,addr=127.0.0.1,seamless-migration=on -vga qxl -device qxl -global qxl-vga.vram_size=67108864 -device virtio-serial -chardev spicevmc,id=vdagent,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,debug=3,filter='0x08:-1:-1:-1:1|-1:-1:-1:-1:0' -readconfig /etc/qemu/ich9-ehci-uhci.cfg /home/images/WinXP.img -monitor stdio 

Second terminal
/usr/libexec/qemu-kvm -m 2048 -spice port=3002,disable-ticketing,addr=127.0.0.1,seamless-migration=on -vga qxl -device qxl -global qxl-vga.vram_size=67108864 -device virtio-serial -chardev spicevmc,id=vdagent,name=vdagent -device virtserialport,chardev=vdagent,name=com.redhat.spice.0 -chardev spicevmc,name=usbredir,id=usbredirchardev1 -device usb-redir,chardev=usbredirchardev1,id=usbredirdev1,debug=3,filter='0x08:-1:-1:-1:1|-1:-1:-1:-1:0' -readconfig /etc/qemu/ich9-ehci-uhci.cfg /home/images/WinXP.img -monitor stdio -incoming tcp:127.0.0.1:4444 

Third terminal 
remote-viewer spice://127.0.0.1?port=3001

Comment 1 Bill Sanford 2013-09-16 16:32:37 UTC
The -readconfig /etc/qemu/ich9-ehci-uhci.cfg switch is derived from http://cgit.freedesktop.org/spice/qemu/plain/docs/ich9-ehci-uhci.cfg.

Comment 2 Bill Sanford 2013-09-16 16:36:17 UTC
In the attachment, you will see that the application is in partial view and the mouse is on the far right of the first display. When the mouse is moved to the second display on the right, then the application window is present.

Comment 3 Bill Sanford 2013-09-16 16:37:25 UTC
I also had both windows at 1024x768 and there was no interruption of the application from display 1 to display 2.

Comment 4 Bill Sanford 2013-09-16 18:39:08 UTC
This also happens from a full-screen to a windowed screen.

Comment 5 David Blechter 2013-09-20 14:58:30 UTC
The bug was submitted during the rhel 6.5 testing. Moving to the RHEL for triage.

Comment 7 Bill Sanford 2013-09-23 15:17:09 UTC
I tried this exact setup with a Windows 7x86 VM and this works.

Comment 8 Jonathon Jongsma 2013-10-14 20:58:26 UTC
I just reproduced this with a win XP guest, and assuming my behavior matches what you're seeing, the bug title is a little bit misleading.  It's not that the displays are not "seamless", it's that the arrangement of the displays is getting swapped.

In other words, the monitor that is placed on the right side (in the client) is actually getting moved to the left of the primary monitor (according to the guest).  So if you had dragged the application off the left side of the display (rather than the right), I suspect you would have seen the application start to appear on the second display.

Comment 9 Jonathon Jongsma 2013-10-14 21:59:45 UTC
also, I am able to reproduce this quite easily with a win7 guest.

Comment 10 CongDong 2013-10-25 02:45:53 UTC
I can reproduce this with :
virt-viewer-0.5.6-8.el6.x86_64

Steps:
1. Install a winxp with two displays, configure the guest with spice+qxl+spicevmc
2. connect the guest with virt-viewer.
   # virt-viewer winxp
3. Change one display to fullscreen, another one is window mode.
4. Open an app in the guest, and move the window from one display to another.

Result:
The app window can not move over until the mouse is in the second display

Comment 11 Jonathon Jongsma 2013-11-13 15:57:31 UTC
Bill, can you confirm that my analysis in comment #8 matches the bug you originally reported?  Or is that a slightly different error?

Comment 12 Bill Sanford 2013-11-19 15:51:20 UTC
I will retest.

Comment 13 Marc-Andre Lureau 2013-11-19 16:03:40 UTC
(In reply to Jonathon Jongsma from comment #11)
> Bill, can you confirm that my analysis in comment #8 matches the bug you
> originally reported?  Or is that a slightly different error?

Comment 14 Jonathon Jongsma 2013-11-19 16:28:09 UTC
Just for reference, here's what I need to do to reproduce the issue:

1. enable 2 displays, 1st display on primary monitor, 2nd display on secondary monitor
2. set second display to fullscreen
3. resize first display

without step 3, the displays stay in the expected configuration (2nd display is to the right of 1st display).  After step 3, 2nd display gets moved to the left of 1st display.