Bug 730901

Summary: "virt-viewer --zoom" does not take effect.
Product: Red Hat Enterprise Linux 6 Reporter: Huming Jiang <hjiang>
Component: virt-viewerAssignee: Daniel Berrangé <berrange>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: low Docs Contact:
Priority: low    
Version: 6.2CC: ddumas, mzhan, rwu, zpeng
Target Milestone: rcKeywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: virt-viewer-0.4.1-5.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 15:07:19 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 743047    

Description Huming Jiang 2011-08-16 07:30:40 UTC
Description of problem:
"virt-viewer --zoom" does not take effect.

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

How reproducible:
Always

Steps to Reproduce:
1.# virt-viewer --zoom=10 rh6-copy-clone

2.# virt-viewer --zoom=200 rh6-copy-clone

3.#virsh dumpxml rh6-copy-clone
...
    <graphics type='spice' port='5900' tlsPort='-1' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
...
  
Actual results:
The result of step 1 is same with the result of step 2. '--zoom' does not take effct.

Expected results:
The result between step 1 and step 2 should be different according to the value of '--zoom'.

Additional info:

Comment 5 Huming Jiang 2011-08-23 06:19:53 UTC
Verified with the following component:
virt-viewer-0.4.1-4.el6.x86_64

Steps:
1.# virt-viewer --zoom=10 demo

2.# virt-viewer --zoom=200 demo

The '--zoom' has taken effect when the vm demo has 'spice' graphics or 'vnc' graphics.

  #virsh dumpxml demo
  ...
  <graphics type='vnc' port='5900' autoport='yes'/>
  ...
  
  #virsh dumpxml demo
  ...
    <graphics type='spice' port='5900' tlsPort='-1' autoport='yes'
  listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
  ...

So move the status of this bug to verified.

Comment 6 Huming Jiang 2011-08-23 06:34:43 UTC
I have forgot some checkpoints in my last comment.

Steps:
1.#virt-viewer --zoom=201 demo
Zoom level must be within 10-200

2.#virt-viewer --zoom=9 demo
Zoom level must be within 10-200

3.# virt-viewer --zoom=300/2 fedora
Cannot parse integer value '300/2' for --zoom
Run 'virt-viewer --help' to see a full list of available command line options

4.# virt-viewer --zoom=jiang fedora
Cannot parse integer value 'jiang' for --zoom
Run 'virt-viewer --help' to see a full list of available command line options

Comment 7 Daniel Berrangé 2011-09-16 10:15:03 UTC
It turns out that this zoom level does not work when you have a SPICE display with multiple graphics cards. The first SPICE display gets the correct zoom level, but the second, third, etc SPICE displays get a zoom level of only 10%

Putting this back to assigned, to fix this problem to add this upstream fix

commit fe8551efbaa1425e7db4d59e10a25fa94788e949
Author: Daniel P. Berrange <berrange@redhat.com>
Date:   Fri Sep 16 11:05:50 2011 +0100

    Propagate primary window zoom level to secondary windows
    
    Ensure that all windows get a default zoom level of 100. Propagate
    the primary window's zoom level to all secondary windows  when
    initially creating them

Comment 9 zhe peng 2011-09-20 06:42:20 UTC
for SPICE multiple graphics cards,zoom issue can reproduce with:
virt-viewer-0.4.1-4.el6.x86_64


verify with :
virt-viewer-0.4.1-5.el6:

step:
1: prepare a windows guest with multiple graphics cards(this test guest have three qxl graphics cards).
2:#virt-viewer --zoom=10 winxp
3:#virt-viewer --zoom=100 winxp
4:#virt-viewer --zoom=200 winxp
5:#virt-viewer winxp

The '--zoom' has taken effect when the vm demo has spice multiple graphics 

#virsh dumpxml winxp
.....
 <graphics type='spice' port='5901' tlsPort='-1' autoport='yes' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
.....
 <video>
      <model type='qxl' vram='65536' heads='1'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <video>
      <model type='qxl' vram='65536' heads='1'/>
      <alias name='video1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </video>
    <video>
      <model type='qxl' vram='65536' heads='1'/>
      <alias name='video2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </video>
.....

check virt-viewer debug info:

# virt-viewer --zoom=100 winxp --debug
connect : Connection refused
** (virt-viewer:9584): DEBUG: fullscreen display 0: 0
** (virt-viewer:9584): DEBUG: fullscreen display 0: 0
** (virt-viewer:9584): DEBUG: Opening connection to libvirt with URI <null>

** (virt-viewer:9584): DEBUG: Add handle 5 1 0x1e972b0
** (virt-viewer:9584): DEBUG: Add timeout 0x1e97080 -1 0x38f38d8100 0x1e96e80 1
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37050
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37050
** (virt-viewer:9584): DEBUG: Guest winxp is running, determining display

** (virt-viewer:9584): DEBUG: Set connect info: (null),(null),(null),(null),(null),(null),0
** (virt-viewer:9584): DEBUG: Guest (null) has a spice display

** (virt-viewer:9584): DEBUG: Guest graphics address is 0.0.0.0:5901
** (virt-viewer:9584): DEBUG: Guest graphics listen '0.0.0.0' is a wildcard, replacing with 'localhost'
** (virt-viewer:9584): DEBUG: Set connect info: localhost,localhost,5901,(null),(null),(null),0
** (virt-viewer:9584): DEBUG: Opening direct TCP connection to display at localhost:5901

** (virt-viewer:9584): DEBUG: notebook show status 0x1e37050
** (virt-viewer:9584): DEBUG: main channel: opened
** (virt-viewer:9584): DEBUG: new audio channel
connect : Connection refused

(virt-viewer:9584): GSpice-WARNING **: PulseAudio context failed Connection refused

(virt-viewer:9584): GSpice-WARNING **: pa_context_connect() failed: Connection refused
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37050
** (virt-viewer:9584): DEBUG: new session channel (#2)
** (virt-viewer:9584): DEBUG: fullscreen display 0: 0
** (virt-viewer:9584): DEBUG: fullscreen display 2: 0
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37190
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37050
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37190
** (virt-viewer:9584): DEBUG: new session channel (#1)
** (virt-viewer:9584): DEBUG: fullscreen display 0: 0
** (virt-viewer:9584): DEBUG: fullscreen display 2: 0
** (virt-viewer:9584): DEBUG: fullscreen display 1: 0
** (virt-viewer:9584): DEBUG: notebook show status 0x1e372d0
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37050
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37190
** (virt-viewer:9584): DEBUG: notebook show status 0x1e372d0
** (virt-viewer:9584): DEBUG: new session channel (#0)
** (virt-viewer:9584): DEBUG: notebook show status 0x1e37050
** (virt-viewer:9584): DEBUG: new inputs channel
** (virt-viewer:9584): DEBUG: Display size request 100x100 (desktop 100x100)
** (virt-viewer:9584): DEBUG: Allocated 400x375
** (virt-viewer:9584): DEBUG: Child allocate 375x375
** (virt-viewer:9584): DEBUG: Display size request 50x50 (desktop 100x100)
** (virt-viewer:9584): DEBUG: Allocated 400x375
** (virt-viewer:9584): DEBUG: Child allocate 375x375
** (virt-viewer:9584): DEBUG: spice desktop resize 1024x768
** (virt-viewer:9584): DEBUG: Preparing main window resize
** (virt-viewer:9584): DEBUG: Decided todo 1024x768 (desktop is 1024x768, fullscreen is 1680x1050
** (virt-viewer:9584): DEBUG: display mark 1
** (virt-viewer:9584): DEBUG: notebook show display 0x1e37190
** (virt-viewer:9584): DEBUG: Display size request 1024x768 (desktop 1024x768)
** (virt-viewer:9584): DEBUG: Allocated 1024x768
** (virt-viewer:9584): DEBUG: Child allocate 1024x768
** (virt-viewer:9584): DEBUG: Display size request 50x50 (desktop 1024x768)
** (virt-viewer:9584): DEBUG: Allocated 1024x768
** (virt-viewer:9584): DEBUG: Child allocate 1024x768
** (virt-viewer:9584): DEBUG: spice desktop resize 1024x768
** (virt-viewer:9584): DEBUG: Preparing main window resize
** (virt-viewer:9584): DEBUG: Decided todo 1024x768 (desktop is 1024x768, fullscreen is 1680x1050
** (virt-viewer:9584): DEBUG: display mark 1
** (virt-viewer:9584): DEBUG: notebook show display 0x1e372d0
** (virt-viewer:9584): DEBUG: Display size request 1024x768 (desktop 1024x768)
** (virt-viewer:9584): DEBUG: Allocated 1024x768
** (virt-viewer:9584): DEBUG: Child allocate 1024x768
** (virt-viewer:9584): DEBUG: Display size request 50x50 (desktop 1024x768)
** (virt-viewer:9584): DEBUG: Allocated 1024x768
** (virt-viewer:9584): DEBUG: Child allocate 1024x768
** (virt-viewer:9584): DEBUG: spice desktop resize 1024x768
** (virt-viewer:9584): DEBUG: Preparing main window resize
** (virt-viewer:9584): DEBUG: Decided todo 1024x768 (desktop is 1024x768, fullscreen is 1680x1050
** (virt-viewer:9584): DEBUG: Display size request 1024x768 (desktop 1024x768)
** (virt-viewer:9584): DEBUG: Allocated 1024x768
** (virt-viewer:9584): DEBUG: Child allocate 1024x768
** (virt-viewer:9584): DEBUG: Display size request 50x50 (desktop 1024x768)
** (virt-viewer:9584): DEBUG: Allocated 1024x768
** (virt-viewer:9584): DEBUG: Child allocate 1024x768
** (virt-viewer:9584): DEBUG: display mark 1
** (virt-viewer:9584): DEBUG: notebook show display 0x1e37050

the three windows with the same zoom level
verification passed.

Comment 10 errata-xmlrpc 2011-12-06 15:07:19 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/RHEA-2011-1614.html