Bug 973660 - Killing first virt-viewer display (Main display in Windows) of 4 will result in no functionality of remaining 3 virt-viewer windows.
Killing first virt-viewer display (Main display in Windows) of 4 will result ...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: mingw-virt-viewer (Show other bugs)
3.2.0
Unspecified Unspecified
unspecified Severity high
: ---
: 3.2.1
Assigned To: Marc-Andre Lureau
Desktop QE
spice
: ZStream
Depends On: 953973 958550 961297 973726
Blocks:
  Show dependency treegraph
 
Reported: 2013-06-12 08:59 EDT by Idith Tal-Kohen
Modified: 2016-02-10 15:21 EST (History)
11 users (show)

See Also:
Fixed In Version: mingw-virt-viewer-0.5.3-28.el6ev
Doc Type: Bug Fix
Doc Text:
Previously, killing the first virt-viewer display when using multiple monitors on Windows guests would result in the other monitors losing functionality, due to the loss of the Windows task bar from the first display. Now, virt-viewer also disables the first monitor, so the guest can place the taskbar on the remaining monitors.
Story Points: ---
Clone Of: 958550
Environment:
Last Closed: 2013-07-16 09:31:28 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: Spice
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Idith Tal-Kohen 2013-06-12 08:59:23 EDT
+++ This bug was initially created as a clone of Bug #958550 +++

Description of problem:
In virt-viewer, View -> Displays -> deselect the first display (Main display in Windows) of 4 displays and I have no usable functionality of the remaining 3 windows. I then select the Display 1 to return and it returns to a black screen. The ONLY way I was able to fix this, is if I resized Display 1 to anything different than it's original position.

Version-Release number of selected component (if applicable):
RHEV-M 3.2 (si14) and W2K8R2 client.
spice-client-msi-3.2-10 (mingw-virt-viewer 0.5.3-25)
vdagent-win-0.1-17 to Win7 guest

How reproducible:
100%

Steps to Reproduce:
1. See Above
2.
3.
  
Actual results:
The main window (Windows config) remains on the display that is closed. You need to select the display to come back to have any functionality.

Expected results:
The main window (Windows config) should be switched over to the next usable screen. If it the only screen remaining, it should act like a File -> Exit.

Additional info:

--- Additional comment from Marc-Andre Lureau on 2013-05-02 09:07:27 EDT ---

First, what is it that you call "no functionality"? The fact that the windows start menu and taskbar isn't visible? Or input is disabled? or display is frozen or black?

When I disable the first display, the other displays are still functionnal.

But there are 2 issues:

1) for legacy reasons, virt-viewer doesn't disable the monitor #0 (so the "main" guest display isn't updated to a visible/enabled one), this can trivially be changed in virt-viewer by removing the if (nth != 0) condition

2) agents don't support disabling first monitors very well.
 - Windows agent doesn't support sparse monitors: bug 953973
 - Linux agent raises X error when disabling & enabling first monitor

--- Additional comment from Marc-Andre Lureau on 2013-05-02 09:10:02 EDT ---

Since there is a workaround and this is not a main feature, and also because the extra display are still usable, I suggest the severity be lowered and the bug moved to 3.3

--- Additional comment from Marian Krcmarik on 2013-05-02 09:38:39 EDT ---

(In reply to comment #1)
> First, what is it that you call "no functionality"? The fact that the
> windows start menu and taskbar isn't visible? Or input is disabled? or
> display is frozen or black?
In my case, simply I lose primary monitor so I cannot see taskbar and the start menu indeed, as well as The primary monitor is not disabled so I lose all the windows placed on the monitor or anything which opens on primary monitor.
> 
> When I disable the first display, the other displays are still functionnal.
> 
> But there are 2 issues:
> 
> 1) for legacy reasons, virt-viewer doesn't disable the monitor #0 (so the
> "main" guest display isn't updated to a visible/enabled one), this can
> trivially be changed in virt-viewer by removing the if (nth != 0) condition
> 
> 2) agents don't support disabling first monitors very well.
>  - Windows agent doesn't support sparse monitors: bug 953973
>  - Linux agent raises X error when disabling & enabling first monitor

--- Additional comment from Bill Sanford on 2013-05-02 10:16:29 EDT ---

I get the same as Marian. That is why I said in expected behavior: "The main window (Windows config) should be switched over to the next usable screen. If it the only screen remaining, it should act like a File -> Exit."

--- Additional comment from Bill Sanford on 2013-05-02 10:38:25 EDT ---

With Windows, you cannot "Disconnect this display" (The Main display) unless you make another display the main display. The fact that virt-viewer closes the first display without making another active display the "Main" display, is the issue here.

--- Additional comment from Marc-Andre Lureau on 2013-05-02 11:34:20 EDT ---

(In reply to comment #5)
> With Windows, you cannot "Disconnect this display" (The Main display) unless
> you make another display the main display. The fact that virt-viewer closes
> the first display without making another active display the "Main" display,
> is the issue here.

it's not the role of virt-viewer or spice to make a display "main", the agent/OS already guarantees that.

--- Additional comment from Bill Sanford on 2013-05-02 12:15:37 EDT ---

You're right. However, it is virt-viewer's role to keep multi-display functional. Before you deselect the display (That is the main display in the OS), maybe v-v can check and error if you are trying to close the "Main display" of the OS?

--- Additional comment from Marc-Andre Lureau on 2013-05-02 12:30:07 EDT ---

(In reply to comment #7)
> You're right. However, it is virt-viewer's role to keep multi-display
> functional. Before you deselect the display (That is the main display in the
> OS), maybe v-v can check and error if you are trying to close the "Main
> display" of the OS?

It doesn't have this knowledge, not do I think it should have.

This bug is all about the display 0 not being disabled by virt-viewer, imho. The fact that the display is main or not is irrelevant here, as it is more a guest concept than a hw config one.

--- Additional comment from Bill Sanford on 2013-05-02 13:01:23 EDT ---

At the minimum, we need to get this to the Doc folks. I have set the flag for release note.

--- Additional comment from Marc-Andre Lureau on 2013-05-09 07:05:02 EDT ---

patch sent to ML for case 1.
https://www.redhat.com/archives/virt-tools-list/2013-May/msg00017.html

Adding sparse monitor support bug dependency

--- Additional comment from Marc-Andre Lureau on 2013-05-09 07:24:41 EDT ---

Adding 1st monitor crash linux vdagent bug dependency
Comment 2 Marc-Andre Lureau 2013-06-21 07:48:09 EDT
the mingw-virt-viewer-0.5.3-26 build is missing spice-gtk sparse monitor support for this to work. reopening
Comment 7 errata-xmlrpc 2013-07-16 09:31:28 EDT
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.

http://rhn.redhat.com/errata/RHBA-2013-1071.html

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