Bug 958550 - Killing first virt-viewer display (Main display in Windows) of 4 will result in no functionality of remaining 3 virt-viewer windows.
Summary: Killing first virt-viewer display (Main display in Windows) of 4 will result ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Virtualization Manager
Classification: Red Hat
Component: mingw-virt-viewer
Version: 3.2.0
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
: 3.3.0
Assignee: Marc-Andre Lureau
QA Contact: Desktop QE
URL:
Whiteboard: spice
Depends On: 953973 961297 973726
Blocks: 973660
TreeView+ depends on / blocked
 
Reported: 2013-05-01 19:53 UTC by Bill Sanford
Modified: 2016-02-10 20:21 UTC (History)
9 users (show)

Fixed In Version: mingw-virt-viewer-0.5.6-3.el6_4
Doc Type: Bug Fix
Doc Text:
When disabling the first display of a multi-display setup, remote-viewer would hide it, but not indicate to the guest that it was disabled. If the first display was the primary one for the guest, the start menu and windows on that display were hidden away. To fix this, the monitor for the guest is disabled in addition to hiding the window. This will cause the guest to rearrange the first display content in the other visible displays.
Clone Of:
: 973660 (view as bug list)
Environment:
Last Closed: 2014-01-21 14:45:33 UTC
oVirt Team: Spice
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2014:0034 0 normal SHIPPED_LIVE mingw-virt-viewer enhancement update 2014-01-21 19:41:37 UTC

Description Bill Sanford 2013-05-01 19:53:21 UTC
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:

Comment 1 Marc-Andre Lureau 2013-05-02 13:07:27 UTC
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

Comment 2 Marc-Andre Lureau 2013-05-02 13:10:02 UTC
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

Comment 3 Marian Krcmarik 2013-05-02 13:38:39 UTC
(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

Comment 4 Bill Sanford 2013-05-02 14:16:29 UTC
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."

Comment 5 Bill Sanford 2013-05-02 14:38:25 UTC
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.

Comment 6 Marc-Andre Lureau 2013-05-02 15:34:20 UTC
(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.

Comment 7 Bill Sanford 2013-05-02 16:15:37 UTC
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?

Comment 8 Marc-Andre Lureau 2013-05-02 16:30:07 UTC
(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.

Comment 9 Bill Sanford 2013-05-02 17:01:23 UTC
At the minimum, we need to get this to the Doc folks. I have set the flag for release note.

Comment 10 Marc-Andre Lureau 2013-05-09 11:05:02 UTC
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

Comment 11 Marc-Andre Lureau 2013-05-09 11:24:41 UTC
Adding 1st monitor crash linux vdagent bug dependency

Comment 16 Charlie 2013-11-28 01:25:49 UTC
This bug is currently attached to errata RHEA-2013:15512. If this change is not to be documented in the text for this errata please either remove it from the errata, set the requires_doc_text flag to 
minus (-), or leave a "Doc Text" value of "--no tech note required" if you do not have permission to alter the flag.

Otherwise to aid in the development of relevant and accurate release documentation, please fill out the "Doc Text" field above with these four (4) pieces of information:

* Cause: What actions or circumstances cause this bug to present.
* Consequence: What happens when the bug presents.
* Fix: What was done to fix the bug.
* Result: What now happens when the actions or circumstances above occur. (NB: this is not the same as 'the bug doesn't present anymore')

Once filled out, please set the "Doc Type" field to the appropriate value for the type of change made and submit your edits to the bug.

For further details on the Cause, Consequence, Fix, Result format please refer to:

https://bugzilla.redhat.com/page.cgi?id=fields.html#cf_release_notes 

Thanks in advance.

Comment 18 errata-xmlrpc 2014-01-21 14:45:33 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.

http://rhn.redhat.com/errata/RHBA-2014-0034.html


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