Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1111144 - remote-viewer cannot show 4 displays of windows guest with option "--full-screen"
Summary: remote-viewer cannot show 4 displays of windows guest with option "--full-scr...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: spice-vdagent-win
Version: 3.4.0
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: ---
: 3.5.0
Assignee: Default Assignee for SPICE Bugs
QA Contact: Desktop QE
URL:
Whiteboard:
Depends On:
Blocks: rhev3.5beta 1156165
TreeView+ depends on / blocked
 
Reported: 2014-06-19 11:00 UTC by CongDong
Modified: 2015-09-22 13:10 UTC (History)
13 users (show)

Fixed In Version: vdagent-win-3.5-1
Doc Type: Bug Fix
Doc Text:
Previously, when opening a connection to a Windows guest on a four monitors host, only one monitor gets enabled. With this update, the spice agent copes with monitor configuration refresh during reconfiguration, and all monitors will get enabled.
Clone Of:
Environment:
Last Closed: 2015-02-11 18:13:25 UTC
oVirt Team: ---
Target Upstream Version:


Attachments (Terms of Use)
remote-viewer log with --spice-debug (deleted)
2014-06-19 11:01 UTC, CongDong
no flags Details


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0204 normal SHIPPED_LIVE spice-vdagent-win bug fix update 2015-02-11 23:06:18 UTC

Description CongDong 2014-06-19 11:00:44 UTC
Description of problem:
remote-viewer only show one display if connect windows 7 guest on a 4 monitors machine, if try 2 or 3 times, it works.

Version-Release number of selected component (if applicable):
virt-viewer-0.6.0-7.el6.x86_64
spice-server-0.12.4-9.el6.x86_64
spice-gtk-python-0.22-4.el6.x86_64
spice-vdagent-0.14.0-3.el6_5.x86_64
spice-gtk-0.22-4.el6.x86_64
spice-xpi-2.7-24.el6.x86_64
spice-glib-0.22-4.el6.x86_64
virtio-win-1.6.8-4.el6

How reproducible:
100%

Steps to Reproduce:
1. Install a win7 guest on a 4 monitors machine, install spice agent and qxl dirver in it.
2. configure it with only one display first
# virt-viewer $vm
make sure only one display comes out
3. close virt-viewer, use remote-viewer connect the guest
# remote-viewer spice://$ip/$port --full-screen --debug

Actual results:
Stpe3, only two displays comes out with fullscreen,
but seems 4 displays are ok form log.
# cat $log
(remote-viewer:17024): remote-viewer-DEBUG: Insert window 0 0x1a70840
(remote-viewer:17024): remote-viewer-DEBUG: Insert window 1 0x1a70e40
(remote-viewer:17024): remote-viewer-DEBUG: Insert window 2 0x1ab9e10
(remote-viewer:17024): remote-viewer-DEBUG: Insert window 3 0x1ae1240
(remote-viewer:17024): remote-viewer-DEBUG: fullscreen display 0: 1
(remote-viewer:17024): remote-viewer-DEBUG: fullscreen display 1: 1
(remote-viewer:17024): remote-viewer-DEBUG: fullscreen display 3: 1
(remote-viewer:17024): remote-viewer-DEBUG: fullscreen display 2: 1
...

when I connect the guest second time, 3 displays comes out
when I connect it third time, 4 displays comes out.

Expected results:
4 displays should come out in fullscreen mode when I connect it first time

Additional info:

Comment 1 CongDong 2014-06-19 11:01:13 UTC
Created attachment 910348 [details]
remote-viewer log with --spice-debug

Comment 3 Marc-Andre Lureau 2014-06-19 11:07:20 UTC
This is unlikely a client bug, auto-conf is correct:


(remote-viewer:17024): remote-viewer-DEBUG: Performing full screen auto-conf, 4 host monitors
(remote-viewer:17024): remote-viewer-DEBUG: Set SPICE display 0 to (0,0)-(1280x1024)
(remote-viewer:17024): remote-viewer-DEBUG: Set SPICE display 1 to (1280,0)-(1280x1024)
(remote-viewer:17024): remote-viewer-DEBUG: Set SPICE display 2 to (2560,0)-(1680x1050)
(remote-viewer:17024): remote-viewer-DEBUG: Set SPICE display 3 to (4240,0)-(1280x1024)
(remote-viewer:17024): GSpice-DEBUG: channel-main.c:1176 main-1:0: monitor config: #0 1280x1024+0+0 @ 32 bpp
(remote-viewer:17024): GSpice-DEBUG: channel-main.c:1176 main-1:0: monitor config: #1 1280x1024+1280+0 @ 32 bpp
(remote-viewer:17024): GSpice-DEBUG: channel-main.c:1176 main-1:0: monitor config: #2 1680x1050+2560+0 @ 32 bpp
(remote-viewer:17024): GSpice-DEBUG: channel-main.c:1176 main-1:0: monitor config: #3 1280x1024+4240+0 @ 32 bpp

What are the windows driver & vdagent version? 

Please get the full windows vdagent debug log

Comment 4 Marc-Andre Lureau 2014-06-19 13:14:44 UTC
I can reproduce, using upstream spice-guest-tools-0.74.exe on rhevm 3.4

However, I couldn't reproduce on f20 with qxl 6.1.0.10018 and spice agent 0.7.2.7-1b0e

Comment 5 Marc-Andre Lureau 2014-06-19 13:18:52 UTC
(In reply to Marc-Andre Lureau from comment #4)
> I can reproduce, using upstream spice-guest-tools-0.74.exe on rhevm 3.4
> 
> However, I couldn't reproduce on f20 with qxl 6.1.0.10018 and spice agent
> 0.7.2.7-1b0e

actually, result is random, looks like something racy, ok moving component

CongDong, no need for logs, it can be reproduced.

thanks

Comment 6 Marc-Andre Lureau 2014-06-19 13:48:42 UTC
Here is my vdagent log:

1832::INFO::2014-06-19 15:45:47,824::handle_announce_capabilities::Got capabilities (1)
1832::INFO::2014-06-19 15:45:47,824::handle_announce_capabilities::77
1832::INFO::2014-06-19 15:45:47,824::send_announce_capabilities::Sending capabilities:
1832::INFO::2014-06-19 15:45:47,824::send_announce_capabilities::2B7
1832::INFO::2014-06-19 15:45:47,824::handle_mon_config::0. 1600*817*32 (0,0) 1
1832::INFO::2014-06-19 15:45:47,824::handle_mon_config::1. 400*377*32 (1600,0) 1
1832::INFO::2014-06-19 15:45:47,824::handle_mon_config::2. 400*377*32 (2000,0) 1
1832::INFO::2014-06-19 15:45:47,824::handle_mon_config::3. 400*377*32 (2400,0) 1

Monitors config correctly received

1832::INFO::2014-06-19 15:45:47,824::consistent_displays::#qxls 4 #others 0
1832::INFO::2014-06-19 15:45:47,824::set_displays::Set display mode 1600x817
1832::INFO::2014-06-19 15:45:47,840::wnd_proc::Display change
1832::INFO::2014-06-19 15:45:47,840::consistent_displays::#qxls 4 #others 0
1832::INFO::2014-06-19 15:45:47,855::init_dev_mode::attach 0
1832::INFO::2014-06-19 15:45:47,886::set_displays::Set display mode 1600x792

^^ what?

Comment 7 Marc-Andre Lureau 2014-06-19 16:03:14 UTC
iirc, this commit was solving this issue, and was later reverted because I didn't manage to find reproducer:

commit 67c1bcf49367d1726033b298a8ab016b4e22cf23
Author: Marc-André Lureau <marcandre.lureau@gmail.com>
Date:   Sat Mar 16 00:55:15 2013 +0100

    Refresh monitor config only when needed
    
    Somehow wnd_proc()->get_display() may be reentered during ChangeDisplaySettings

Comment 12 Julie 2014-11-12 23:39:32 UTC
Hi Marian, 
If this bug requires doc text for errata release, could you provide draft text in the following format:
Cause: 
Consequence: 
Fix: 
Result: 
The documentation team will review, edit, and approve the text. 
If this bug does not require doc text, please set the 'requires_doc_text' flag to -.

Comment 13 Julie 2014-11-19 01:19:18 UTC
See comment12.

Cheers,
Julie

Comment 15 errata-xmlrpc 2015-02-11 18:13:25 UTC
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.

https://rhn.redhat.com/errata/RHBA-2015-0204.html


Note You need to log in before you can comment on or make changes to this bug.