Bug 1296878 - virt-viewer console will restore a larger window when use mouse to drag the window to minimum
virt-viewer console will restore a larger window when use mouse to drag the w...
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: virt-viewer (Show other bugs)
6.8
x86_64 Unspecified
medium Severity medium
: rc
: ---
Assigned To: Virt Viewer Maint
Virtualization Bugs
:
Depends On:
Blocks: 1297260
  Show dependency treegraph
 
Reported: 2016-01-08 05:33 EST by mxie@redhat.com
Modified: 2016-05-10 17:22 EDT (History)
10 users (show)

See Also:
Fixed In Version: virt-viewer-2.0-13.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1297260 (view as bug list)
Environment:
Last Closed: 2016-05-10 17:22:03 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
screenshot1 (36.81 KB, image/png)
2016-01-08 05:33 EST, mxie@redhat.com
no flags Details
rhel7 guest log (58.90 KB, text/plain)
2016-01-08 05:34 EST, mxie@redhat.com
no flags Details
rhel6 guest log (87.69 KB, text/plain)
2016-01-08 05:35 EST, mxie@redhat.com
no flags Details

  None (edit)
Description mxie@redhat.com 2016-01-08 05:33:32 EST
Created attachment 1112844 [details]
screenshot1

Description of problem:
virt-viewer console will restore a larger window when use mouse to drag the window to minimum

Version-Release number of selected component (if applicable):
virt-viewer-2.0-12.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Prepare a rhel7 guest and use virt-viewer connect to the guest
# virt-viewer rhel7.2-1030 --debug --spice-debug

2.Use mouse to drag the window to minimum, then the virt-viewer console will restore a larger window( pls refer to screenshot1) and the debug info prompt like below(details  please refer to attachment log" rhel7 guest log"):

# virt-viewer rhel7.2-1030 --debug --spice-debug
(virt-viewer:9494): virt-viewer-DEBUG: Allocated 203x50
(virt-viewer:9494): virt-viewer-DEBUG: Child allocate 19x50
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:1049 recalc geom monitor: 0:0, guest +0+0:200x50, window 19x50, zoom 1
(virt-viewer:9494): GSpice-DEBUG: channel-display.c:1712 display-2:0: monitors config: n: 1/4
(virt-viewer:9494): GSpice-DEBUG: channel-display.c:1732 display-2:0: monitor id: 0, surface id: 0, +0+0-200x50
(virt-viewer:9494): virt-viewer-DEBUG: Allocated 203x537
(virt-viewer:9494): virt-viewer-DEBUG: Child allocate 200x537
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:1049 recalc geom monitor: 0:0, guest +0+0:200x50, window 200x537, zoom 1
(virt-viewer:9494): GSpice-DEBUG: channel-cursor.c:309 cursor-4:0: set_cursor: flags 0, size 16384
(virt-viewer:9494): GSpice-DEBUG: channel-cursor.c:316 cursor-4:0: set_cursor: type alpha(0), 0, 64x64

(virt-viewer:9494): GLib-GObject-WARNING **: value "50" of type `gint' is invalid or out of range for property `desktop-height' of type `gint'
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:267 update monitor area 0:0
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:2083 update area, primary: 1064x537, area: +0+0 200x50
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:1049 recalc geom monitor: 0:0, guest +0+0:200x50, window 200x537, zoom 1
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:267 update monitor area 0:1
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:280 update monitor: no monitor 1
(virt-viewer:9494): GSpice-DEBUG: spice-channel.c:2702 test cap 1 in 0x12: yes
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:283 waiting until MonitorsConfig is received
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:267 update monitor area 0:2
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:280 update monitor: no monitor 2
(virt-viewer:9494): GSpice-DEBUG: spice-channel.c:2702 test cap 1 in 0x12: yes
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:283 waiting until MonitorsConfig is received
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:267 update monitor area 0:3
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:280 update monitor: no monitor 3
(virt-viewer:9494): GSpice-DEBUG: spice-channel.c:2702 test cap 1 in 0x12: yes
(virt-viewer:9494): GSpice-DEBUG: spice-widget.c:283 waiting until MonitorsConfig is received
(virt-viewer:9494): GSpice-DEBUG: channel-display.c:1712 display-2:0: monitors config: n: 1/4
(virt-viewer:9494): GSpice-DEBUG: channel-display.c:1732 display-2:0: monitor id: 0, surface id: 0, +0+0-200x50
(virt-viewer:9494): virt-viewer-DEBUG: Display size request 200x537 (desktop 200x537)
(virt-viewer:9494): virt-viewer-DEBUG: Allocated 203x537
(virt-viewer:9494): virt-viewer-DEBUG: Child allocate 200x537


Actual results:
As above description

Expected results:
virt-viewer console should keep the window size when use mouse to drag the window to minimum


Addtional info:
When use virt-viewer to connect a RHEL6 guest and use mouse to drag the window to minimum, it could reproduce the problem sometimes, details please refer to attachment log "rhel6 guest log"
Comment 1 mxie@redhat.com 2016-01-08 05:34 EST
Created attachment 1112846 [details]
rhel7 guest log
Comment 2 mxie@redhat.com 2016-01-08 05:35 EST
Created attachment 1112847 [details]
rhel6 guest log
Comment 9 Frediano Ziglio 2016-01-12 09:46:37 EST
I did some tests. Looks like on former rhel-7 this limitation used to work.
I updated the system and get same issue. Even using old kernel (and all other system updated) I get same issue so it's something in the system that changed.
Comment 10 Frediano Ziglio 2016-01-12 10:00:44 EST
Forget... I don't know why kernel does not enforce these limits and why the new tools can possibly force a smaller resolution.
Comment 11 Frediano Ziglio 2016-01-13 06:47:38 EST
Yesterday I did some investigation on the Kernel side.
Turn out that the encoded limitation (320x200) apply to the frame buffer but not to the crt. This appears quite weird but looks like that DRM allows to have a bigger frame buffer. For the old guys (like me) this will remember the panning feature of the (x)VGA where you can set the frame buffer to a big area of memory but display only a limited part. This allows to show a small area just changing a registry in the card, for instance to implement double/triple buffering.
Now I need to find a way to tell kernel the limits for crt.
Comment 12 Fabiano Fidêncio 2016-01-22 12:44:49 EST
The 2 patches that solve this issue are:
907f8c5d3347eef95ecb6eccc7c5752093c7f5cf
c2046a2992b04fde2286c6feffdd7f4410087583
Comment 14 mxie@redhat.com 2016-01-25 02:16:13 EST
Try to verify the bug with build:
virt-viewer-2.0-13.el6.x86_64

Steps:
1.Prepare a rhel6 guest or a rhel7 guest and use virt-viewer connect to the guest

2.Use mouse to drag the window to minimum, then virt-viewer window size will keep at 320x200 even if using mouse to drag the window to small size, debug info as below:

# virt-viewer rhel6released --debug --spice-debug
(virt-viewer:13576): virt-viewer-DEBUG: Allocated 320x200
(virt-viewer:13576): virt-viewer-DEBUG: Child allocate 320x200
(virt-viewer:13576): GSpice-DEBUG: spice-widget.c:1049 recalc geom monitor: 0:0, guest +0+0:320x200, window 320x200, zoom 1
 drag the window

3.Check the resolution of guest, the resolution is also 320x200 
#xrandr
Screen 0: minimum 320 x 200, current 320 x 200, maximum 8192 x 8192
qxl-0 connected 320x200+0+0 0mm x 0mm
   1024x768       60.0 +
   2048x2048      60.0  
   2560x1600      60.0  
   2000x2000      60.0  
   2560x1440      60.0  
   2048x1536      60.0  
   1920x1440      60.0  
   1920x1200      60.0  
   1920x1080      60.0  
   1600x1200      60.0  
   1680x1050      60.0  
   1400x1050      60.0  
   1600x900       60.0  
   1280x1024      60.0  
   1440x900       60.0  
   1280x960       60.0  
   1366x768       60.0  
   1360x768       60.0  
   1280x800       60.0  
   1152x870       60.0  
   1152x864       60.0  
   1280x768       60.0  
   1280x760       60.0  
   1280x720       60.0  
   1024x600       60.0  
   960x640        60.0  
   832x624        60.0  
   800x600        60.0  
   800x480        60.0  
   640x480        60.0  
   320x200-0       0.1* 
qxl-1 disconnected
qxl-2 disconnected
qxl-3 disconnected

Result now:
virt-viewer console keep the window size at 320x200 when use mouse to drag the window to minimum

So move the bug from ON_QA to VERIFIED
Comment 16 errata-xmlrpc 2016-05-10 17:22:03 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.

https://rhn.redhat.com/errata/RHBA-2016-0832.html

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