Bug 903910 - RHEL7 does not have equivalent functionality for __com.redhat_qxl_screendump
RHEL7 does not have equivalent functionality for __com.redhat_qxl_screendump
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
7.0
Unspecified Unspecified
medium Severity medium
: rc
: ---
Assigned To: Gerd Hoffmann
Virtualization Bugs
:
Depends On:
Blocks: 720747 895240 987757
  Show dependency treegraph
 
Reported: 2013-01-24 22:25 EST by juzhang
Modified: 2014-06-17 23:21 EDT (History)
11 users (show)

See Also:
Fixed In Version: qemu-kvm-1.5.3-36.el7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-06-13 08:00:38 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)
The ppm image got from __com.redhat_qxl_screendump (900.01 KB, image/x-portable-pixmap)
2013-08-07 07:28 EDT, Qian Guo
no flags Details
Successfully get the ppm image via __com.redhat_qxl_screendump by qemu-kvm1.5.4 (2.25 MB, image/x-portable-pixmap)
2013-08-21 03:05 EDT, Qian Guo
no flags Details
Proposed documentation patch (2.12 KB, patch)
2013-12-10 14:24 EST, Markus Armbruster
no flags Details | Diff

  None (edit)
Description juzhang 2013-01-24 22:25:07 EST
Description of problem:
KVM QE compared the list of cmd line and devices difference between rhel6.4 and rhel7.0. Found lot of vnc and spice related commands are different. From KVM QE POV,  RHEL7 vnc & spice related commands result should much closer RHEL not upstream.

Display options -vnc & -spice
RHEL6.4
__com.redhat_set_password(set password for vnc or spice)
 __com.redhat_qxl_screendump(save screen from qxl device 'id' into PPM image 'filename')
 __com.redhat_spice_migrate_info(send migration info to spice client)

RHEL7.0
set_password(set password for vnc or spice)
no command for saving screen from qxl device 'id' into PPM image 'filename'
client_migrate_info(send migration info to spice client)

Version-Release number of selected component (if applicable):
Host Kernel
#uname -r
3.7.0-0.30.el7.x86_64
qemu-kvm version
qemu-kvm-1.3.0-3.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.
2.
3.
  
Actual results:
Display options -vnc & -spice
RHEL6.4
__com.redhat_set_password(set password for vnc or spice)
 __com.redhat_qxl_screendump(save screen from qxl device 'id' into PPM image 'filename')
 __com.redhat_spice_migrate_info(send migration info to spice client)

RHEL7.0
set_password(set password for vnc or spice)
no command for saving screen from qxl device 'id' into PPM image 'filename'
client_migrate_info(send migration info to spice client)

Expected results:
RHEL7 vnc & spice related commands result should much closer RHEL not upstream

Additional info:
Comment 1 Gerd Hoffmann 2013-01-29 09:44:39 EST
RHEL-6 has the upstream commands (set_password, client_migrate_info) too.
They should be prefered even on RHEL-6.  They will not be forward-ported
to RHEL-7.

Bringing __com.redhat_qxl_screendump to RHEL-7 is a valid request though as upstream has no command for that (yet?).
Comment 2 Gerd Hoffmann 2013-04-05 09:34:41 EDT
Status update:

__com.redhat_qxl_screendump will not come back in rhel-7.

qemu console subsystem gets reworked upstream, screen dumps from any gfx device will be possible when done, no need for a special qxl hack.  First chunk of patches is merged, /me hopes to get it finished in time for qemu 1.5.

Not clear yet how the interface will look like, probably the normal screendump monitor command gets an optional parameter.
Comment 3 Gerd Hoffmann 2013-05-14 10:21:55 EDT
Status update:

qemu console subsystem rewrite is in 1.5, screendump monitor command update didn't made it and will be defered to 1.6.

So I'll go backport the new/updated upstream monitor command once merged upstream.  Failing that there is the fallback option to reimplement __com.redhat_qxl_screendump on rhel-7 (should be easy on top of the console subsystem rewrite).
Comment 6 Qian Guo 2013-08-07 07:28:08 EDT
Created attachment 783834 [details]
The ppm image got from  __com.redhat_qxl_screendump
Comment 11 Miroslav Rezanina 2013-08-20 04:45:51 EDT
Fix included in qemu-kvm-1.5.2-4.el7
Comment 12 Qian Guo 2013-08-21 03:05:04 EDT
Created attachment 788727 [details]
Successfully get the ppm image via __com.redhat_qxl_screendump by qemu-kvm1.5.4
Comment 15 Markus Armbruster 2013-12-10 13:52:17 EST
I'm afraid the backport lost command documentation.  RHEL-6 has it in qemu-monitor.hx.  RHEL-7 needs it in qmp-commands.hx.  Without it, the command isn't documented in qemu-doc.{info,html}.
Comment 16 Markus Armbruster 2013-12-10 14:23:33 EST
Err, make that qemu-doc.html.  We don't actually ship qemu-doc.info.

Add qmp-commands.txt.  Command is missing there in RHEL-6.
Comment 17 Markus Armbruster 2013-12-10 14:24:37 EST
Created attachment 834887 [details]
Proposed documentation patch
Comment 18 Miroslav Rezanina 2014-01-14 13:41:44 EST
Fix included in qemu-kvm-1.5.3-36.el7
Comment 20 mazhang 2014-01-21 03:50:49 EST
Reproduced this bug.

Host:
qemu-kvm-1.3.0-3.el7.x86_64
ipxe-roms-qemu-20130517-2.gitc4bce43.el7.noarch
qemu-img-1.3.0-3.el7.x86_64
qemu-kvm-tools-1.3.0-3.el7.x86_64
qemu-kvm-common-1.3.0-3.el7.x86_64
qemu-kvm-debuginfo-1.3.0-3.el7.x86_64
kernel-3.7.0-0.36.el7.x86_64

Result:
Not found command "__com.redhat_qxl_screendump"
{"QMP": {"version": {"qemu": {"micro": 0, "minor": 3, "major": 1}, "package": ""}, "capabilities": []}}
{"execute":"qmp_capabilities"}
{"return": {}}
{"execute": "query-commands"}
{"return": [{"name": "query-target"}, {"name": "query-cpu-definitions"}, {"name": "query-machines"}, {"name": "device-list-properties"}, {"name": "qom-list-types"}, {"name": "change-vnc-password"}, {"name": "nbd-server-stop"}, {"name": "nbd-server-add"}, {"name": "nbd-server-start"}, {"name": "qom-get"}, {"name": "qom-set"}, {"name": "qom-list"}, {"name": "query-block-jobs"}, {"name": "query-balloon"}, {"name": "query-migrate-capabilities"}, {"name": "migrate-set-capabilities"}, {"name": "query-migrate"}, {"name": "query-uuid"}, {"name": "query-name"}, {"name": "query-spice"}, {"name": "query-vnc"}, {"name": "query-mice"}, {"name": "query-status"}, {"name": "query-kvm"}, {"name": "query-pci"}, {"name": "query-cpus"}, {"name": "query-blockstats"}, {"name": "query-block"}, {"name": "query-chardev"}, {"name": "query-events"}, {"name": "query-commands"}, {"name": "query-version"}, {"name": "human-monitor-command"}, {"name": "qmp_capabilities"}, {"name": "add_client"}, {"name": "expire_password"}, {"name": "set_password"}, {"name": "block_set_io_throttle"}, {"name": "block_passwd"}, {"name": "query-fdsets"}, {"name": "remove-fd"}, {"name": "add-fd"}, {"name": "closefd"}, {"name": "getfd"}, {"name": "set_link"}, {"name": "balloon"}, {"name": "drive-mirror"}, {"name": "blockdev-snapshot-sync"}, {"name": "transaction"}, {"name": "block-job-complete"}, {"name": "block-job-resume"}, {"name": "block-job-pause"}, {"name": "block-job-cancel"}, {"name": "block-job-set-speed"}, {"name": "block-commit"}, {"name": "block-stream"}, {"name": "block_resize"}, {"name": "netdev_del"}, {"name": "netdev_add"}, {"name": "dump-guest-memory"}, {"name": "client_migrate_info"}, {"name": "migrate_set_downtime"}, {"name": "migrate_set_speed"}, {"name": "query-migrate-cache-size"}, {"name": "migrate-set-cache-size"}, {"name": "migrate_cancel"}, {"name": "migrate"}, {"name": "xen-set-global-dirty-log"}, {"name": "xen-save-devices-state"}, {"name": "inject-nmi"}, {"name": "pmemsave"}, {"name": "memsave"}, {"name": "cpu"}, {"name": "send-key"}, {"name": "device_del"}, {"name": "device_add"}, {"name": "system_powerdown"}, {"name": "system_reset"}, {"name": "system_wakeup"}, {"name": "cont"}, {"name": "stop"}, {"name": "screendump"}, {"name": "change"}, {"name": "eject"}, {"name": "quit"}]}


Verified this bug with qemu-kvm-1.5.3-38.el7.x86_64.

Result:
{"QMP": {"version": {"qemu": {"micro": 3, "minor": 5, "major": 1}, "package": " (qemu-kvm-1.5.3-38.el7)"}, "capabilities": []}}
{"execute":"qmp_capabilities"}                                                  
{"return": {}}
{"execute":"__com.redhat_qxl_screendump","arguments":{"id":"video1","filename":"v1.ppm"}}
{"return": {}}

# ll v1.ppm 
-rw-r--r--. 1 root root 921615 Jan 21 16:48 v1.ppm

So this bug has been fixed.
Comment 22 Ludek Smid 2014-06-13 08:00:38 EDT
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.

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