ChangeLog | 467 ++++++++++++++++++++++++- configure.ac | 8 debian/Xspice.1 | 115 ------ debian/changelog | 16 debian/control | 34 - debian/patches/no-surfaces-kms.patch | 17 debian/patches/pciaccess_io.diff | 44 -- debian/patches/qxl-kms-disable-composite.patch | 43 ++ debian/patches/series | 4 debian/patches/xextproto.diff | 17 debian/rules | 9 debian/xserver-xspice.docs | 2 debian/xserver-xspice.install | 3 debian/xserver-xspice.manpages | 1 examples/spiceqxl.xorg.conf.example | 73 ++- scripts/Xspice | 83 +++- src/dfps.c | 33 + src/qxl.h | 8 src/qxl_driver.c | 22 - src/qxl_kms.c | 29 + src/qxl_option_helpers.c | 27 + src/qxl_surface.c | 3 src/spiceccid/Makefile.am | 5 src/spiceccid/spiceccid.c | 2 src/spiceqxl_audio.c | 174 +++++---- src/spiceqxl_display.c | 2 src/spiceqxl_io_port.c | 11 src/spiceqxl_main_loop.c | 6 src/spiceqxl_spice_server.c | 22 - src/spiceqxl_uinput.c | 15 src/spiceqxl_uinput.h | 1 src/spiceqxl_vdagent.c | 9 src/uxa/uxa-damage.c | 24 - src/uxa/uxa-glyphs.c | 2 src/uxa/uxa-render.c | 4 35 files changed, 922 insertions(+), 413 deletions(-)
New commits: commit 18d05293b5b62dd2205f62c35735ad63525a2b31 Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 16:55:36 2016 +0100 debian/patches/qxl-kms-disable-composite.patch, debian/patches/no-surfaces-kms.patch: Fix performance issues/crashes and fix graphical glitches by disabling COMPOSITE extension. (Closes: #801081) diff --git a/debian/changelog b/debian/changelog index f17612b..a16ecf5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -12,11 +12,14 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium * Drop debian/patches/xextproto.diff and build-depend against libxext-dev instead * Disable Xspice again, it's not working with XOrg 1.19 release + * debian/patches/qxl-kms-disable-composite.patch, + debian/patches/no-surfaces-kms.patch: Fix performance issues/crashes and + fix graphical glitches by disabling COMPOSITE extension. (Closes: #801081) [ Andreas Boll ] * Update a bunch of URLs in packaging to https. - -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 16:33:45 +0100 + -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 16:50:19 +0100 xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium diff --git a/debian/patches/no-surfaces-kms.patch b/debian/patches/no-surfaces-kms.patch new file mode 100644 index 0000000..efe824b --- /dev/null +++ b/debian/patches/no-surfaces-kms.patch @@ -0,0 +1,17 @@ +Description: Disable surfaces when KMS is used + This is not working properly at the moment. +Author: Dave Airlie <airl...@redhat.com> +Origin: vendor, http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-drv-qxl.git/tree/no-surfaces-kms.patch +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801081 + +--- a/src/qxl_uxa.c ++++ b/src/qxl_uxa.c +@@ -414,6 +414,8 @@ qxl_create_pixmap (ScreenPtr screen, int + ErrorF ("Create pixmap: %d %d @ %d (usage: %d)\n", w, h, depth, usage); + #endif + ++ if (qxl->kms_enabled) ++ goto fallback; + if (uxa_swapped_out (screen)) + goto fallback; + diff --git a/debian/patches/qxl-kms-disable-composite.patch b/debian/patches/qxl-kms-disable-composite.patch new file mode 100644 index 0000000..dd56f76 --- /dev/null +++ b/debian/patches/qxl-kms-disable-composite.patch @@ -0,0 +1,43 @@ +Description: Disable composite/a8 surfaces for KMS + This should help with bug rh#974198 +Author: From: Dave Airlie <airl...@redhat.com> +Origin: vendor, http://pkgs.fedoraproject.org/cgit/rpms/xorg-x11-drv-qxl.git/tree/qxl-kms-disable-composite.patch +Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=801081 + +diff -up xf86-video-qxl-20130514/src/qxl_kms.c.da xf86-video-qxl-20130514/src/qxl_kms.c +diff -up xf86-video-qxl-20130514/src/qxl_uxa.c.da xf86-video-qxl-20130514/src/qxl_uxa.c +--- xf86-video-qxl-20130514/src/qxl_uxa.c.da 2013-06-18 10:08:56.113709355 +1000 ++++ xf86-video-qxl-20130514/src/qxl_uxa.c 2013-06-18 10:10:08.775610941 +1000 +@@ -222,11 +222,15 @@ qxl_has_composite (qxl_screen_t *qxl) + #ifdef XF86DRM_MODE + if (qxl->kms_enabled) { ++#if 0 /* KMS Composite support seems broken - needs better hw support */ + static Bool result, checked; + if (!checked) { + result = qxl_kms_check_cap(qxl, SPICE_DISPLAY_CAP_COMPOSITE); + checked = TRUE; + } + return result; ++#else ++ return FALSE; ++#endif + } + #endif + #ifndef XSPICE +@@ -244,12 +248,16 @@ qxl_has_a8_surfaces (qxl_screen_t *qxl) + { + #ifdef XF86DRM_MODE + if (qxl->kms_enabled) { ++#if 0 /* KMS Composite support seems broken - needs better hw support */ + static Bool result, checked; + if (!checked) { + result = qxl_kms_check_cap(qxl, SPICE_DISPLAY_CAP_A8_SURFACE); + checked = TRUE; + } + return result; ++#else ++ return FALSE; ++#endif + } + #endif + #ifndef XSPICE diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..765829c --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +no-surfaces-kms.patch +qxl-kms-disable-composite.patch commit aa2edb328359c56a6056036642f17c7176ede83a Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 16:37:29 2016 +0100 Disable Xspice again, it's not working with XOrg 1.19 release diff --git a/debian/Xspice.1 b/debian/Xspice.1 deleted file mode 100644 index 2ed555c..0000000 --- a/debian/Xspice.1 +++ /dev/null @@ -1,115 +0,0 @@ -.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.46.6. -.TH XSPICE "1" "May 2015" "Xspice" "User Commands" -.SH NAME -Xspice \- X server and SPICE server -.SH DESCRIPTION -usage: Xspice [Xspice and Xorg options intermixed] -.PP -X and Spice server. example usage: Xspice \fB\-\-port\fR 5900 \fB\-\-disable\-ticketing\fR :1.0 -.SS "optional arguments:" -.TP -\fB\-h\fR, \fB\-\-help\fR -show this help message and exit -.HP -\fB\-\-xorg\fR XORG -.TP -\fB\-\-auto\fR -Automatically create a temporary xorg.conf and start -the X server -.TP -\fB\-\-xsession\fR XSESSION -If given, will run after Xorg launch. Should be a -program like x\-session\-manager -.HP -\fB\-\-config\fR CONFIG -.TP -\fB\-\-port\fR PORT -standard spice port -.TP -\fB\-\-exit\-on\-disconnect\fR -Exit the X server when any client disconnects -.TP -\fB\-\-deferred\-fps\fR DEFERRED_FPS -If given, render to a buffer and send updates only -this many times per second -.TP -\fB\-\-tls\-port\fR TLS_PORT -spice tls port -.TP -\fB\-\-disable\-ticketing\fR -do not require a client password -.TP -\fB\-\-sasl\fR -enable sasl -.TP -\fB\-\-x509\-dir\fR X509_DIR -x509 directory for tls -.TP -\fB\-\-cacert\-file\fR CACERT_FILE -ca certificate file for tls -.TP -\fB\-\-x509\-cert\-file\fR X509_CERT_FILE -server certificate file for tls -.TP -\fB\-\-x509\-key\-file\fR X509_KEY_FILE -server key file for tls -.TP -\fB\-\-x509\-key\-password\fR X509_KEY_PASSWORD -key file password for tls -.HP -\fB\-\-tls\-ciphers\fR TLS_CIPHERS -.HP -\fB\-\-dh\-file\fR DH_FILE -.TP -\fB\-\-password\fR PASSWORD -set password required to connect to server -.TP -\fB\-\-image\-compression\fR {off,auto_glz,auto_lz,quic,glz,lz} -auto_glz by default -.TP -\fB\-\-jpeg\-wan\-compression\fR {auto,never,always} -auto by default -.TP -\fB\-\-zlib\-glz\-wan\-compression\fR {auto,never,always} -auto by default -.TP -\fB\-\-streaming\-video\fR {off,all,filter} -filter by default -.HP -\fB\-\-ipv4\-only\fR -.HP -\fB\-\-ipv6\-only\fR -.TP -\fB\-\-vdagent\fR -launch vdagent & vdagentd. They provide clipboard & -resolution automation -.TP -\fB\-\-vdagent\-virtio\-path\fR VDAGENT_VIRTIO_PATH -virtio socket path used by vdagentd -.TP -\fB\-\-vdagent\-uinput\-path\fR VDAGENT_UINPUT_PATH -uinput socket path used by vdagent -.TP -\fB\-\-vdagentd\-exec\fR VDAGENTD_EXEC -path to spice\-vdagentd (used with \fB\-\-vdagent\fR) -.TP -\fB\-\-vdagent\-exec\fR VDAGENT_EXEC -path to spice\-vdagent (used with \fB\-\-vdagent\fR) -.TP -\fB\-\-vdagent\-no\-launch\fR -do not launch vdagent & vdagentd, used for debugging -or if some external script wants to take care of that -.TP -\fB\-\-vdagent\-uid\fR VDAGENT_UID -set vdagent user id. changing it makes sense only in -conjunction with \fB\-\-vdagent\-no\-launch\fR -.TP -\fB\-\-vdagent\-gid\fR VDAGENT_GID -set vdagent group id. changing it makes sense only in -conjunction with \fB\-\-vdagent\-no\-launch\fR -.TP -\fB\-\-audio\-fifo\-dir\fR AUDIO_FIFO_DIR -set fifo directory for playback audio. designed to -work with PulseAudio's module\-pipe\-sink -.PP -Any options not parsed by Xspice get passed to Xorg as is. diff --git a/debian/changelog b/debian/changelog index 29e8a9d..f17612b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -11,11 +11,12 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium * debian/control: Explicitly build-depend against libxfont-dev * Drop debian/patches/xextproto.diff and build-depend against libxext-dev instead + * Disable Xspice again, it's not working with XOrg 1.19 release [ Andreas Boll ] * Update a bunch of URLs in packaging to https. - -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 14:46:57 +0100 + -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 16:33:45 +0100 xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium diff --git a/debian/control b/debian/control index 291b3ca..d1b20ab 100644 --- a/debian/control +++ b/debian/control @@ -44,18 +44,3 @@ Description: X.Org X server -- QXL display driver <URL:https://www.X.org> . This package is built from the X.org xf86-video-qxl driver module. - -Package: xserver-xspice -Architecture: amd64 -Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, xserver-xorg, ${xviddriver:Depends}, python-argparse -Breaks: xserver-xorg-video-qxl (<< 0.1.4-2~) -Replaces: xserver-xorg-video-qxl (<< 0.1.4-2~) -Description: Xspice X server - Xspice is an X server and Spice server in one. It consists of a wrapper script - for executing Xorg with the right parameters and environment variables, a - module names spiceqxl_drv.so implementing three drivers: a video mostly - identical code to the guest qxl X driver, and keyboard and mouse reading from - the spice inputs channel. - . - Xspice allows regular X connections, while a spice client provides the keyboard - and mouse and video output. diff --git a/debian/rules b/debian/rules index 62d36b5..6bd5fe1 100755 --- a/debian/rules +++ b/debian/rules @@ -17,7 +17,6 @@ override_dh_auto_install: override_dh_install: find debian/tmp -name '*.la' -delete -rm -r debian/tmp/usr/share - install -D -m 644 -o root -g root ./examples/spiceqxl.xorg.conf.example debian/tmp/etc/X11/spiceqxl.xorg.conf dh_install --fail-missing # That's a plugin, use appropriate warning level: @@ -28,13 +27,8 @@ override_dh_xsf_substvars: echo "xviddriver:Depends=$(VIDEODEP)" >> debian/xserver-xspice.substvars dh_xsf_substvars -# Enable Xspice support override_dh_auto_configure: -ifeq ($(DEB_HOST_GNU_TYPE), x86_64-linux-gnu) - dh_auto_configure -- --libdir=/usr/lib --enable-xspice -else dh_auto_configure -- --libdir=/usr/lib -endif %: dh $@ --with quilt,autoreconf,xsf,python2 --builddirectory=build/ diff --git a/debian/xserver-xspice.docs b/debian/xserver-xspice.docs deleted file mode 100644 index 61fc1f0..0000000 --- a/debian/xserver-xspice.docs +++ /dev/null @@ -1,2 +0,0 @@ -README.xspice -examples/spiceqxl.xorg.conf.example diff --git a/debian/xserver-xspice.install b/debian/xserver-xspice.install deleted file mode 100644 index d4e1c62..0000000 --- a/debian/xserver-xspice.install +++ /dev/null @@ -1,3 +0,0 @@ -etc/X11/spiceqxl.xorg.conf -usr/lib/xorg/modules/drivers/spiceqxl_drv.so -usr/bin diff --git a/debian/xserver-xspice.manpages b/debian/xserver-xspice.manpages deleted file mode 100644 index 8f8662a..0000000 --- a/debian/xserver-xspice.manpages +++ /dev/null @@ -1 +0,0 @@ -debian/Xspice.1 commit 3473c3d55e9b92e2b4b74c32fe98ec35e6dca89b Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 14:41:23 2016 +0100 Drop debian/patches/xextproto.diff and build-depend against libxext-dev instead diff --git a/debian/changelog b/debian/changelog index 95b446c..29e8a9d 100644 --- a/debian/changelog +++ b/debian/changelog @@ -9,11 +9,13 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium * debian/control: Bump Standards-Version to 3.9.8, no further changes * debian/control: Add dh-python to the build-dependencies * debian/control: Explicitly build-depend against libxfont-dev + * Drop debian/patches/xextproto.diff and build-depend against libxext-dev + instead [ Andreas Boll ] * Update a bunch of URLs in packaging to https. - -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 14:34:03 +0100 + -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 14:46:57 +0100 xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium diff --git a/debian/control b/debian/control index ece7cb2..291b3ca 100644 --- a/debian/control +++ b/debian/control @@ -23,6 +23,7 @@ Build-Depends: libudev-dev [linux-any], libspice-protocol-dev (>= 0.12.2~), libspice-server-dev [amd64], + libxext-dev, libxfont-dev, python, Standards-Version: 3.9.8 diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index d5ca016..0000000 --- a/debian/patches/series +++ /dev/null @@ -1 +0,0 @@ -xextproto.diff diff --git a/debian/patches/xextproto.diff b/debian/patches/xextproto.diff deleted file mode 100644 index 0e42800..0000000 --- a/debian/patches/xextproto.diff +++ /dev/null @@ -1,17 +0,0 @@ -Index: xserver-xorg-video-qxl/src/qxl_drmmode.c -=================================================================== ---- xserver-xorg-video-qxl.orig/src/qxl_drmmode.c -+++ xserver-xorg-video-qxl/src/qxl_drmmode.c -@@ -37,12 +37,7 @@ - #include "X11/Xatom.h" - #include "xf86DDC.h" - /* DPMS */ --#ifdef HAVE_XEXTPROTO_71 - #include <X11/extensions/dpmsconst.h> --#else --#define DPMS_SERVER --#include <X11/extensions/dpms.h> --#endif - #include <cursorstr.h> - - #include "qxl.h" commit 708f1ad437b26784857da95b115c8e56a09c65bb Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 14:34:55 2016 +0100 Rely on automatically built dbgsym packages instead of creating a dbg one diff --git a/debian/changelog b/debian/changelog index 9149f95..95b446c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -3,6 +3,7 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium [ Laurent Bigonville ] * New git snapshot (4d7160c) (Closes: #845741) - Drop debian/patches/pciaccess_io.diff, applied upstream + * Rely on automatically built dbgsym packages instead of creating a dbg one * debian/control: Fix wording in xserver-xspice description (Closes: #799379) * debian/control: Bump Standards-Version to 3.9.8, no further changes @@ -12,7 +13,7 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium [ Andreas Boll ] * Update a bunch of URLs in packaging to https. - -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 14:24:45 +0100 + -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 14:34:03 +0100 xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium diff --git a/debian/control b/debian/control index 1308a33..ece7cb2 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: x11 Priority: optional Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Build-Depends: - debhelper (>= 9), + debhelper (>= 9.20160114~), pkg-config, dh-autoreconf, dh-python, @@ -44,18 +44,6 @@ Description: X.Org X server -- QXL display driver . This package is built from the X.org xf86-video-qxl driver module. -Package: xserver-xorg-video-qxl-dbg -Architecture: any -Depends: ${shlibs:Depends}, ${misc:Depends}, xserver-xorg-video-qxl (= ${binary:Version}) -Section: debug -Priority: extra -Description: X.Org X server -- QXL display driver (debugging symbols) - This package provides the driver for QXL video device, i.e. if Linux is - running inside a RedHat Enterprise Virtualization (RHEV) environment, or - other SPICE-compatible KVM/Qemu emulator. - . - This package contains the debugging symbols for this driver. - Package: xserver-xspice Architecture: amd64 Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, xserver-xorg, ${xviddriver:Depends}, python-argparse diff --git a/debian/rules b/debian/rules index 8472622..62d36b5 100755 --- a/debian/rules +++ b/debian/rules @@ -6,9 +6,8 @@ VIDEODEP = $(shell cat /usr/share/xserver-xorg/videodrvdep 2>/dev/null) override_dh_auto_build: dh_auto_build -- V=1 -.PHONY: override_dh_strip override_dh_strip: - dh_strip --dbg-package=xserver-xorg-video-qxl-dbg + dh_strip --dbgsym-migration='xserver-xorg-video-qxl-dbg (<< 0.1.4+20161126git4d7160c)' # Install in debian/tmp to retain control through dh_install: override_dh_auto_install: commit 1c3f54cf54a476a55a4804f58725499c5753dda5 Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 14:25:04 2016 +0100 debian/control: Explicitly build-depend against libxfont-dev diff --git a/debian/changelog b/debian/changelog index 8ea7da9..9149f95 100644 --- a/debian/changelog +++ b/debian/changelog @@ -7,11 +7,12 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium #799379) * debian/control: Bump Standards-Version to 3.9.8, no further changes * debian/control: Add dh-python to the build-dependencies + * debian/control: Explicitly build-depend against libxfont-dev [ Andreas Boll ] * Update a bunch of URLs in packaging to https. - -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 14:21:54 +0100 + -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 14:24:45 +0100 xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium diff --git a/debian/control b/debian/control index f857e4e..1308a33 100644 --- a/debian/control +++ b/debian/control @@ -23,6 +23,7 @@ Build-Depends: libudev-dev [linux-any], libspice-protocol-dev (>= 0.12.2~), libspice-server-dev [amd64], + libxfont-dev, python, Standards-Version: 3.9.8 Homepage: https://www.spice-space.org/ commit d84b72ff68ca8f866ea7bc7f1d31955742421676 Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 14:22:21 2016 +0100 debian/control: Add dh-python to the build-dependencies diff --git a/debian/changelog b/debian/changelog index 53ba110..8ea7da9 100644 --- a/debian/changelog +++ b/debian/changelog @@ -6,11 +6,12 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium * debian/control: Fix wording in xserver-xspice description (Closes: #799379) * debian/control: Bump Standards-Version to 3.9.8, no further changes + * debian/control: Add dh-python to the build-dependencies [ Andreas Boll ] * Update a bunch of URLs in packaging to https. - -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 13:56:28 +0100 + -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 14:21:54 +0100 xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium diff --git a/debian/control b/debian/control index c592803..f857e4e 100644 --- a/debian/control +++ b/debian/control @@ -6,6 +6,7 @@ Build-Depends: debhelper (>= 9), pkg-config, dh-autoreconf, + dh-python, xserver-xorg-dev (>= 2:1.9.4), x11proto-core-dev, x11proto-fonts-dev, commit cd9bb876d89191626fca31118ba4ef9a4c30b30a Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 13:56:43 2016 +0100 Drop debian/patches/pciaccess_io.diff, applied upstream diff --git a/debian/changelog b/debian/changelog index b5451ea..53ba110 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium [ Laurent Bigonville ] * New git snapshot (4d7160c) (Closes: #845741) + - Drop debian/patches/pciaccess_io.diff, applied upstream * debian/control: Fix wording in xserver-xspice description (Closes: #799379) * debian/control: Bump Standards-Version to 3.9.8, no further changes @@ -9,7 +10,7 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium [ Andreas Boll ] * Update a bunch of URLs in packaging to https. - -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 13:39:32 +0100 + -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 13:56:28 +0100 xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium diff --git a/debian/patches/pciaccess_io.diff b/debian/patches/pciaccess_io.diff deleted file mode 100644 index afaf806..0000000 --- a/debian/patches/pciaccess_io.diff +++ /dev/null @@ -1,44 +0,0 @@ -Index: xf86-video-qxl-0.1.4/src/qxl.h -=================================================================== ---- xf86-video-qxl-0.1.4.orig/src/qxl.h -+++ xf86-video-qxl-0.1.4/src/qxl.h -@@ -276,6 +276,7 @@ struct _qxl_screen_t - - #ifdef XSERVER_LIBPCIACCESS - struct pci_device * pci; -+ struct pci_io_handle * io; - #else - pciVideoPtr pci; - PCITAG pci_tag; -@@ -634,7 +635,7 @@ void ioport_write(qxl_screen_t *qxl, uin - #else - static inline void ioport_write(qxl_screen_t *qxl, int port, int val) - { -- outb(qxl->io_base + port, val); -+ pci_io_write8(qxl->io, port, val); - } - #endif - -Index: xf86-video-qxl-0.1.4/src/qxl_driver.c -=================================================================== ---- xf86-video-qxl-0.1.4.orig/src/qxl_driver.c -+++ xf86-video-qxl-0.1.4/src/qxl_driver.c -@@ -220,6 +220,8 @@ unmap_memory_helper (qxl_screen_t *qxl) - pci_device_unmap_range (qxl->pci, qxl->vram, qxl->pci->regions[1].size); - if (qxl->rom) - pci_device_unmap_range (qxl->pci, qxl->rom, qxl->pci->regions[2].size); -+ if (qxl->io) -+ pci_device_close_io (qxl->pci, qxl->io); - #else - if (qxl->ram) - xf86UnMapVidMem (scrnIndex, qxl->ram, (1 << qxl->pci->size[0])); -@@ -252,6 +254,9 @@ map_memory_helper (qxl_screen_t *qxl) - qxl->pci->regions[2].size, 0, - (void **)&qxl->rom); - -+ qxl->io = pci_device_open_io(qxl->pci, -+ qxl->pci->regions[3].base_addr, -+ qxl->pci->regions[3].size); - qxl->io_base = qxl->pci->regions[3].base_addr; - #else - qxl->ram = xf86MapPciMem (scrnIndex, VIDMEM_FRAMEBUFFER, diff --git a/debian/patches/series b/debian/patches/series index 8dc5d2c..d5ca016 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1 @@ xextproto.diff -pciaccess_io.diff commit eaacf9c3221c18a3685d42b6e185ddccbc10db8f Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 13:40:12 2016 +0100 debian/control: Bump Standards-Version to 3.9.8, no further changes diff --git a/debian/changelog b/debian/changelog index 04040d6..b5451ea 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,11 +4,12 @@ xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) UNRELEASED; urgency=medium * New git snapshot (4d7160c) (Closes: #845741) * debian/control: Fix wording in xserver-xspice description (Closes: #799379) + * debian/control: Bump Standards-Version to 3.9.8, no further changes [ Andreas Boll ] * Update a bunch of URLs in packaging to https. - -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 13:38:58 +0100 + -- Laurent Bigonville <bi...@debian.org> Sat, 26 Nov 2016 13:39:32 +0100 xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium diff --git a/debian/control b/debian/control index 36663fe..c592803 100644 --- a/debian/control +++ b/debian/control @@ -23,7 +23,7 @@ Build-Depends: libspice-protocol-dev (>= 0.12.2~), libspice-server-dev [amd64], python, -Standards-Version: 3.9.6 +Standards-Version: 3.9.8 Homepage: https://www.spice-space.org/ Vcs-Git: https://anonscm.debian.org/git/pkg-xorg/driver/xserver-xorg-video-qxl.git Vcs-Browser: https://anonscm.debian.org/cgit/pkg-xorg/driver/xserver-xorg-video-qxl.git commit 3e8ce1589234f739e9892cee654d1a6830ebbb17 Author: Laurent Bigonville <bi...@debian.org> Date: Sat Nov 26 13:39:29 2016 +0100 New git snapshot (4d7160c) (Closes: #845741) Update the upstream ChangeLog file diff --git a/ChangeLog b/ChangeLog index e59207b..c0767a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,450 @@ +commit 4d7160c49614c9132e7b7ae4ccfda952daffeefb +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Fri Oct 28 16:50:18 2016 +0200 + + spiceqxl: Remove an unused macro + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + +commit 9739b6a60459f48044d7ef7fff393e631bcef5bf +Author: Hans de Goede <hdego...@redhat.com> +Date: Tue Oct 4 13:29:29 2016 +0200 + + Fix crash caused by attempting to access the screen pixmap before it is created + + qxl_resize_primary_to_virtual() was using pScrn->pScreen != NULL to check + if createScreenResources has been called. But starting with xserver 1.19 + pScrn->pScreen is non NULL even before createScreenResources is called, + causing an invalid access to the screenPixmap in + qxl_resize_primary_to_virtual(). + + This commit fixes this. + + BugLink: https://bugzilla.redhat.com/show_bug.cgi?id=1381045 + Signed-off-by: Hans de Goede <hdego...@redhat.com> + Acked-by: Christophe Fergeau <cferg...@redhat.com> + +commit e13d28ee5d8724fc4b22f26bce01a7d36355f272 +Author: Owen W. Taylor <otay...@fishsoup.net> +Date: Fri Aug 26 11:44:55 2016 -0400 + + Check for either xfont.pc or xfont2.pc + + More recent versions of Xfont have a different API (with namespacing + for libXfont functions.) Check for xfont2.pc and if found, use that, and + use the new API. The rational for preferring libXfont2 is that as a recent + change the xserver module looks for and requires libXfont2, and it's better + not to have both versions of the library in process. + +commit 2b7e4fb2c93a2061b79ac8fb37628698d49618cc +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Wed Jul 6 16:17:52 2016 +0200 + + Xspice: Add --video-codecs to specify encoder and codec preferences + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + Acked-by: Jeremy White <jwh...@codeweavers.com> + +commit 14ff3c26e204d334a9c110debfaa2ef8cab97bf6 +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Thu Jul 7 15:23:56 2016 +0200 + + spiceqxl: Add SpiceVideoCodecs to specify video codec preference + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + Signed-off-by: Jeremy White <jwh...@codeweavers.com> + +commit edd1a409f879f74193c2789f50240005bcf00783 +Author: Christophe Fergeau <cferg...@redhat.com> +Date: Tue Apr 5 18:17:26 2016 +0200 + + xspice: Don't create Xorg time in timer_add + + SpiceCoreInterface::timer_add() is used by spice-server for integration + with external mainloops. timer_add() is only meant to create a disabled + timer, this timer will then be started with a call to timer_start(). + + The current implementation in Xspice creates a timer which will trigger + in a very long time, assuming this will never happen. This 'forever' is + 1,000,000 seconds, which amounts to 11 days. After that time, some + timers which are meant to be disabled (eg migration related timers in + spice-server) fire, then causing a crash with some failed assertions. + + Instead of creating the X timer right away in timer_add(), we can wait + until timer_start() is called before starting it, which avoids this + issue. + +commit 76fd0a374f6879fba6f1d281d06003937ad4980c +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Fri Mar 18 15:32:22 2016 +0100 + + spiceqxl_audio: Stop the playback channel if there is nothing to play + + This lets the client free the audio resources when an audio application + is not actually playing anything, typically because playback is paused. + This matches QEMU's behavior. + As a side benefit it stops the client's mm-time from being stuck (due + to the audio backend's delay updates being applied to the mm-time of + the last audio message) which lets video streams play in this situation. + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + +commit 5f5b502ecdae7fb4e37e9285be9ee7a2107aff28 +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Fri Mar 18 15:32:17 2016 +0100 + + spiceqxl_audio: Only start the playback channel when fifos are present + + This lets the client free the audio resources when they are not needed. + This matches QEMU's behavior. + As a side benefit it stops the client's mm-time from being stuck (due + to the audio backend's delay updates being applied to the mm-time of + the last audio message, that is the channel's creation) when no audio + application is running. + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + +commit 5671929aecb742e7aaee4f4caf5e00cff344769a +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Fri Mar 18 15:32:11 2016 +0100 + + spiceqxl_audio: Fix a race condition in the audio playback + + can_feed() depends on the time and thus could return false in + process_fifos(), causing it to stop reading from the fifos, and then + true in watch_or_wait() so that the wall_timer would not be set, but + the fifos would not be watched either because they already contain + data to process. The audio playback would then come to a stop. + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + +commit 0d20d7d8425f397bdb15288747321fbc6d01820e +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Fri Mar 18 15:32:07 2016 +0100 + + spiceqxl_audio: Only condense the fifo list when one has been closed + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + +commit 692df47b261d38dcd2df23d855032a262359fd5e +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Fri Mar 18 15:32:03 2016 +0100 + + spiceqxl_audio: Let the audio play when no client is connected + + Simply keep reading from the fifos in reasonably sized chunks. + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + +commit 91ee004cda2fb31de75508c44710ac09256edab4 +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Mon Jan 11 02:21:50 2016 +0100 + + server: Convert qxl->monitors_config to a QXLPHYSICAL using physical_address() + + This avoids compilation errors with -Werror on 32 bit systems and is + more correct than a direct cast. + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> + +commit 67d8beb98cb81d88273ba12f07a270bed9787473 +Author: Jeremy White <jwh...@codeweavers.com> +Date: Wed Nov 25 13:36:00 2015 -0600 + + Optimize dfps mode to send updates only for the primary pixmap. + + We don't need to update the screen when we use a temporary or + offscreen pixmap. + +commit a8213444463690e4a7a851bd0a41008818bc5c97 +Author: Jeremy White <jwh...@codeweavers.com> +Date: Wed Nov 25 11:47:00 2015 -0600 + + Provide an implementation for put_image in dfps mode. + + This prevents the fallback from calling prepare_access + against the whole screen, which in turn keeps us from + transmitting the whole screen more than necessary. + +commit f448032adebac799830f3ed275a334393c77cef1 +Author: Jeremy White <jwh...@codeweavers.com> +Date: Mon Nov 9 10:08:57 2015 -0600 + + XSpice: auto generate temp files for the vdagent process. + + Signed-off-by: Jeremy White <jwh...@codeweavers.com> + +commit b86e2c1b40f6aff42a03dfce9a099c4742a6ee8d +Author: Jeremy White <jwh...@codeweavers.com> +Date: Mon Nov 9 10:08:56 2015 -0600 + + Revise Xspice --auto to use a temporary directory. + + We will put auto session related items in that directory. + + Signed-off-by: Jeremy White <jwh...@codeweavers.com> + +commit 2448bd2125260376f5ecb7e7dac2a9ef8f953c75 +Author: Jeremy White <jwh...@codeweavers.com> +Date: Wed Oct 21 13:25:11 2015 -0500 + + XSpice: allow the udcs socket to be specified, rather than hard coded. + +commit 8aabc4ae6150b169cac99285d144b04474e05c0b +Author: Jeremy White <jwh...@codeweavers.com> +Date: Wed Oct 21 13:18:44 2015 -0500 + + Add support for a --numheads option to the Xspice script. + +commit 88c3df4a78a165afa7ddde851f047bbb125c1c7d +Author: Jeremy White <jwh...@codeweavers.com> +Date: Mon Nov 2 16:07:43 2015 -0600 + + Xspice: handle parameters with value 0, allows --port 0 + + As of commit f73ca7e4cc090772652611a4e2b8b95ae64319bc, you can now + disable the regular port by specifying 0. This change to the Xspice + script permits us to take advantage of that change. + +commit f73ca7e4cc090772652611a4e2b8b95ae64319bc +Author: Jeremy White <jwh...@codeweavers.com> +Date: Fri Oct 30 10:44:17 2015 -0500 + + Set the regular spice port only once, and then only if it + is not disabled. + + This fixes a bug where Xspice had to listen on two ports, even in an + SSL only configuration. + +commit 3475eb2cd7b251dd49989c079a2452df67a85b14 +Author: Jeremy White <jwh...@codeweavers.com> +Date: Fri Oct 2 11:17:33 2015 -0500 + + Document a number of missing XSpice vdagent options in the example xorg.conf. + + Also revise the expression of the default value to be consistent. + +commit f9652ebbe45d5f313633bd41f15a55cad59b7a68 +Author: Jeremy White <jwh...@codeweavers.com> +Date: Mon Oct 19 14:19:36 2015 -0500 + + Correct the XSpice AgentMouse configuration options. + + Since the introduction of vdagent support in commit + 294daff7ea930f338ec6d77ec3465b6f727c168e, the + SpiceAgentMouse setting has not really operated correctly. + + That is, if SpiceVdagentEnabled was true, the value + of SpiceAgentMouse was overridden. + + This patch corrects that. + + It also shifts the default; that matches qemu, and effectively + preserves the current default behavior. + +commit 6fa56701128d3050945d7fdf0eae7b74cb34097a +Author: Jeremy White <jwh...@codeweavers.com> +Date: Mon Oct 19 14:11:58 2015 -0500 + + Only watch the uinput channel when an agent is connected. + + Otherwise, you constantly spin loop, getting a return code of 0, + and pegging CPU usage at 100%. + +commit 6e588d2a2fe824f8306bfccc647b25fd49841af2 +Author: Jeremy White <jwh...@codeweavers.com> +Date: Mon Oct 19 13:57:59 2015 -0500 + + Add and remove the vdagent interface as the vdagent + actually connects and disconnects. + + This means that we do not attempt to use agent mouse + mode if there is no connected agent. + + It fixes a bug which would occur if an agent disconnected + after session startup which would result in having no + useful mouse. + +commit ebd5ef7c18d7c361a31d530b307d36217cc68428 +Author: Jeremy White <jwh...@codeweavers.com> +Date: Fri Oct 16 09:16:44 2015 -0500 + + Bug fix: libcacard headers and libraries were not correctly used. + + Also shift to libspiceccid_la_CFLAGS. + +commit dcd02ad2b3b786c6a953e0e02848ae115975fbbf +Author: Francois Gouget <fgou...@codeweavers.com> +Date: Mon Aug 31 15:27:11 2015 +0200 + + spiceqxl: Fix formatting of a couple of function calls. + + Signed-off-by: Francois Gouget <fgou...@codeweavers.com> +