[Spice-commits] 3 commits - NEWS docs/manual

Christophe Fergau teuf at kemper.freedesktop.org
Thu Oct 1 08:58:05 PDT 2015

 NEWS                   |   14 +++++++
 docs/manual/manual.txt |   97 ++++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 110 insertions(+), 1 deletion(-)

New commits:
commit 2cf810e99e10d197b3842fb8952a3af9e3855dc2
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Thu Oct 1 17:31:23 2015 +0200

    manual: Fix Arnon last name
    It's "Gilboa", not "Giloba"

diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt
index d7b0f30..edbb48f 100644
--- a/docs/manual/manual.txt
+++ b/docs/manual/manual.txt
@@ -1183,7 +1183,7 @@ Manual authors
 The following people have contributed to this manual:
-Arnon Giloba +
+Arnon Gilboa +
 Christophe Fergeau +
 Lubos Kocman +
 Marc-André Lureau +
commit 3d16f8c0f0cac2dce15d6ad5e7b666569311b45e
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Tue Sep 29 17:30:43 2015 +0200

    manual: Add section about debugging
    This details the basics for now, but can be detailed in the future.

diff --git a/docs/manual/manual.txt b/docs/manual/manual.txt
index a66554a..d7b0f30 100644
--- a/docs/manual/manual.txt
+++ b/docs/manual/manual.txt
@@ -1082,6 +1082,101 @@ You should now be able to access the qemu-system-x86_64 Spice binary.
+Server side
+If the virtual machine was started using QEMU directly, SPICE server logs will be output to
+your console stdout.
+When using libvirt, logs are located in `/var/log/libvirt/qemu/` for the qemu
+system instance (`qemu:///system`), and in `~/.cache/libvirt/qemu/log` for the
+qemu session instance (`qemu:///session`).
+Client side
+remote-viewer can be started with `SPICE_DEBUG=1` in the environment, or with
+`--spice-debug` in order to get it to output more logs on stdout. `SPICE_DEBUG`
+should work with any application using spice-gtk (virt-manager, gnome-boxes, ...).
+Guest side
+.QXL KMS driver
+On recent Linux kernels using the QXL kms driver, booting the kernel with the
+`drm.debug=0xf` parameter.  `journalctl -k`/`dmesg` will then contain debug
+logs for the QXL kms driver. This can also be changed at runtime by echo'ing
+this value to `/sys/module/drm/parameters/debug`.
+.qxl.guestdebug QEMU parameter
+It's also possible to get some host-side debugging logs from the guest QXL driver.
+The driver reads a guestdebug parameter from the rom, which can be set when starting
+the VM. Only the Windows QXL driver is using this feature, see `qxl.cmdlog` for
+something guest-agnostic.  This can be enabled with `-global
+qxl-vga.guestdebug=3`, or `-global qxl.guestdebug=3` for secondary devices.
+The corresponding libvirt XML is:
+<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
+  ....
+  <qemu:commandline>
+    <qemu:arg value='-global'/>
+    <qemu:arg value='qxl-vga.guestdebug=3'/>
+  </qemu:commandline>
+(don't forget to add the
+xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' attribute to the
+toplevel `<domain>` node)
+You can go up to 12 (or more, look for DEBUG_PRINT in the driver), you get really a lot of debug information. Interesting values are:
+  * 3 - will give you all the highlevel commands (DrvCopyBits, DrvBitBlt, etc.)
+  * 6 - will also show QXLGetBitMap
+  * 11 - will show caching of images (this is a driver cache, not to be confused with the server<->client shared cache).
+.qxl.cmdlog QEMU parameter
+This will dump all the commands passing through the ringbuffer on the device
+side. It is driver and hence guest agnostic. This can be enabled with
+`-global qxl-vga.cmdlog=1`, or `-global qxl.cmdlog=1` for secondary devices.
+See the section above for the libvirt XML to use.
+On Linux, `journalctl -t spice-vdagentd -t spice-vdagent` will display the agent log messages.
+spice-vdagent can also be restarted by hand with the `-d` argument in order to display more logs.
+Recording/replaying SPICE server traffic
+Since spice-server 0.12.6, it's possible to record display traffic sent by the
+SPICE server in order to replay it afterwards for a client without needing to
+start a VM. This is achieved by setting the environment variable
+`SPICE_WORKER_RECORD_FILENAME` to the filename to write the traffic to before starting
+Once the recording session is done, the `spice-server-replay` tool can be used
+to replay the previously recorded SPICE session, for example:
+spice-server-replay -p 5900 -c "remote-viewer spice://localhost:5900" recorded-session.spice
 Manual authors
commit f0aeb9db000a34a46b51c5d95229171ff1eee307
Author: Christophe Fergeau <cfergeau at redhat.com>
Date:   Tue Aug 11 17:18:35 2015 +0200

    Update NEWS

diff --git a/NEWS b/NEWS
index 2fbac0d..a6312e2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,17 @@
+Major changes in 0.12.6:
+* Removed spicec client code, it has been superseded by remote-viewer and other
+  spice-gtk based clients
+* Unix socket support
+* LZ4 support
+* Let clients specify their preferred image compression format
+* Allow to record and replay a spice-server session
+* Fix for CVE-2015-3247
+* spice-protocol submodule has been removed,, spice-protocol must now be
+  installed when building spice-server
+* Remove write polling in chardevs to reduce wakeups
+* Various bugs, crashes fixes, code cleanups, ...
 Major changes in 0.12.5:
 * Added Opus support. Celt support will be obsoleted in a future release.

More information about the Spice-commits mailing list