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 Linux 8
Classification: Red Hat
Component: spice-vdagent-win
Version: ---
Hardware: Unspecified
OS: Unspecified
low
medium
Target Milestone: rc
: ---
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: 2019-10-10 14:20 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
Type: Bug
Target Upstream Version:


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


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0204 0 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.