--- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/TODO.xspice +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/TODO.xspice @@ -0,0 +1,23 @@ +TODO: + + OOM. Not releasing? + Out of memory allocating 3145748 bytes + Out of mem - stats + + Cursor channel missing. + No copy paste. + No agent at all. + agent should probably be thought to run with Xspice too. That way + mouse emulation in Xspice can be avoided entirely. But how do you + get an input device to belong to Xspice :1.0 and not to Xorg :0.0? + + Keyboard: + * repeat (xset r 100) does nothing. This is because spice client + of course does repeat. But would be nice to transmit this. + + Video: youtube seemed choppy, some frames were repeating (cpu 30%~, so not + cpu bound). Possible multimedia time? Isn't this set by the driver, i.e. + should be identical with in vm qxl driver? + + Performance: + didn't check. --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/autogen.sh +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/autogen.sh @@ -0,0 +1,12 @@ +#! /bin/sh + +srcdir=`dirname $0` +test -z "$srcdir" && srcdir=. + +ORIGDIR=`pwd` +cd $srcdir + +autoreconf -v --install || exit 1 +cd $ORIGDIR || exit $? + +$srcdir/configure --enable-maintainer-mode "$@" --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/README.source +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/README.source @@ -0,0 +1,3 @@ +The Xspice.1 manpage is generated using the following command: + +help2man --version-string="XSPICE" -S Xspice -N -n "X server and SPICE server" ./scripts/Xspice > debian/Xspice.1 --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/Xspice.1 +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/Xspice.1 @@ -0,0 +1,115 @@ +.\" 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. --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/changelog +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/changelog @@ -0,0 +1,207 @@ +xserver-xorg-video-qxl-hwe-18.04 (0.1.5-2build2~18.04.1) bionic; urgency=medium + + * Backport for 18.04.2 HWE stack update. (LP: #1798597) + + -- Timo Aaltonen Tue, 27 Nov 2018 19:27:27 +0200 + +xserver-xorg-video-qxl (0.1.5-2build2) cosmic; urgency=medium + + * Rebuild against xserver 1.20. + + -- Timo Aaltonen Wed, 23 May 2018 13:16:09 +0300 + +xserver-xorg-video-qxl (0.1.5-2build1) zesty; urgency=medium + + * Rebuild against new xserver. + + -- Timo Aaltonen Thu, 09 Mar 2017 11:57:14 +0200 + +xserver-xorg-video-qxl (0.1.5-2) unstable; urgency=medium + + * Team upload. + * Update the debian/copyright file and use dep5 + + -- Laurent Bigonville Sat, 24 Dec 2016 01:27:13 +0100 + +xserver-xorg-video-qxl (0.1.5-1) unstable; urgency=medium + + * Team upload. + * New upstream release + - Drop debian/patches/no-surfaces-kms.patch and + debian/patches/qxl-kms-disable-composite.patch, applied upstream + * Re-reenable Xspice, last release now works with XOrg 1.19 + + -- Laurent Bigonville Tue, 20 Dec 2016 17:32:52 +0100 + +xserver-xorg-video-qxl (0.1.4+20161126git4d7160c-1) unstable; urgency=medium + + * Team upload. + [ 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 + * 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 + * 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 Sat, 26 Nov 2016 17:38:32 +0100 + +xserver-xorg-video-qxl (0.1.4-3) unstable; urgency=medium + + * Team upload. + * debian/control: + - xserver-xspice: Drop dependency against xserver-xorg-video-qxl, this + is not needed anymore now that spiceqxl_drv.so is not shipped in that + package. + - xserver-xspice: Add ${xviddriver:Depends} to the dependencies to ensure + that we have the proper ABI. + * debian/rules: Generate the "xviddriver:Depends" substvars for the + xserver-xspice package. + * debian/control: Add libudev-dev to the build-dependency for the linux + architectures + + -- Laurent Bigonville Sat, 30 May 2015 16:02:55 +0200 + +xserver-xorg-video-qxl (0.1.4-2) unstable; urgency=medium + + * Team upload. + * Renable Xspice + * Bump debhelper compatibility to 9 + * debian/control: Bump Standards-Version to 3.9.6 + * debian/control: Use canonical Vcs URL to please lintian + + -- Laurent Bigonville Sat, 30 May 2015 13:12:17 +0200 + +xserver-xorg-video-qxl (0.1.4-1) unstable; urgency=medium + + * Let uscan verify tarball signatures. + * New upstream release. + * Add patch from rhbz#1201877 to use libpciaccess instead of raw port I/O, + fixing FTBFS on arm64. Thanks, Adam Jackson! + + -- Julien Cristau Fri, 08 May 2015 20:07:59 +0200 + +xserver-xorg-video-qxl (0.1.1-2) unstable; urgency=medium + + * Remove Liang Guo and Cyril Brulebois from Uploaders. + * Back to source format 1.0. + * Stop building/shipping Xspice (closes: #738744, #729054, #729053) + * Use verbose build rules. + * Add patch to fix misdetection of xextproto. + + -- Julien Cristau Thu, 19 Jun 2014 22:03:36 +0200 + +xserver-xorg-video-qxl (0.1.1-1) unstable; urgency=low + + [Michele Cane] + * New upstream release. + + [Liang Guo] + * Ignore tests in debian/source/options + + -- Liang Guo Thu, 24 Oct 2013 09:49:08 +0800 + +xserver-xorg-video-qxl (0.1.0-2) unstable; urgency=low + + * Upload to unstable + * Bump Standards-Version to 3.9.4 (no changes) + * Enalbe Xspice in i386 (Closes: 689394) + + -- Liang Guo Fri, 17 May 2013 07:19:32 +0800 + +xserver-xorg-video-qxl (0.1.0-1) experimental; urgency=low + + [ Maarten Lankhorst ] + * New upstream release. + + [ Timo Aaltonen ] + * control: Bump build-dep on libspice-protocol-dev to >= 0.12.2~. + + [ Liang Guo ] + * Ignore automatically generated files when build packages. + + -- Liang Guo Tue, 22 Jan 2013 23:36:17 +0800 + +xserver-xorg-video-qxl (0.0.17-2) unstable; urgency=low + + * Enable Xspice (Closes: 668537) + * Add debian/xserver-xorg-video-qxl.docs. + + -- Liang Guo Mon, 16 Apr 2012 22:04:27 +0800 + +xserver-xorg-video-qxl (0.0.17-1) unstable; urgency=low + + [ Liang Guo ] + * New upstream release. + * debian/copyright: + - Remove src/lookup3.c, removed upstream. + - Add src/murmurhash3.{c,h}, new file. + * debian/source/options: + - Ignore ChangeLog, included in upstream tarbar, but not in git. + * Remove translate-the-access-region.patch, applied upstream. + * Bump Standards-Version to 3.9.3, no changes needed. + [ Cyril Brulebois ] + * Fix typo in the debug package's description. + + -- Liang Guo Fri, 16 Mar 2012 16:13:52 +0800 + +xserver-xorg-video-qxl (0.0.16-2) unstable; urgency=low + + [Serge Hallyn] + * Add translate-the-access-region.patch(Closes: #655318) + * Add debug package + + -- Liang Guo Wed, 01 Feb 2012 18:01:19 +0800 + +xserver-xorg-video-qxl (0.0.16-1) unstable; urgency=low + + [ Liang Guo ] + * New upstream release + * Temporarily ignore TODO.xspice + + -- Cyril Brulebois Sat, 12 Nov 2011 00:16:28 +0100 + +xserver-xorg-video-qxl (0.0.14-1) unstable; urgency=low + + * New upstream release: + - Fix VT switching issues. + * Add libspice-protocol-dev build-dep: + - Versioned because of FDO#39249. + * Bump Standards-Version to 3.9.2 (no changes). + * Fix typo and missing space in long description. + * Add myself to Uploaders. + + -- Cyril Brulebois Sat, 23 Jul 2011 12:15:54 +0200 + +xserver-xorg-video-qxl (0.0.13-1) unstable; urgency=low + + [ Liang Guo ] + * New upstream version. + * Remove xsfbs accordingly. + * Switch to dh: + - Use debhelper 8. + - Use dh-autoreconf. + * Remove fix_qxl_driver_assert.patch, already in upstream. + * Bump Standards-Version to 3.9.1, no changes needed. + * Add quilt build-dep. + * Add HomePage control field. + * Ignore autogen.sh changes when build source package. + + -- Julien Cristau Tue, 15 Feb 2011 18:27:12 +0100 + +xserver-xorg-video-qxl (0.0.12-1) unstable; urgency=low + + * Initial release (Closes: #576642) + + -- Liang Guo Thu, 20 May 2010 16:44:11 +0800 --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/compat +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/compat @@ -0,0 +1 @@ +9 --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/control +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/control @@ -0,0 +1,70 @@ +Source: xserver-xorg-video-qxl-hwe-18.04 +Section: x11 +Priority: optional +Maintainer: Ubuntu Developers +XSBC-Original-Maintainer: Debian X Strike Force +Build-Depends: + debhelper (>= 9.20160114~), + pkg-config, + dh-autoreconf, + dh-python, + xserver-xorg-dev-hwe-18.04 (>= 2:1.9.4), + x11proto-core-dev, + x11proto-fonts-dev, + x11proto-randr-dev, + x11proto-render-dev, + x11proto-xext-dev, + x11proto-xinerama-dev, + x11proto-xf86dga-dev, + dpkg-dev (>= 1.14.17), + automake, + libtool, + xutils-dev (>= 1:7.5), + quilt (>= 0.46-7~), + libudev-dev [linux-any], + libspice-protocol-dev (>= 0.12.2~), + libspice-server-dev [amd64], + libxext-dev, + libxfont-dev, + python, +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 + +Package: xserver-xorg-video-qxl-hwe-18.04 +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, ${xviddriver:Depends} +Provides: + xserver-xorg-video-qxl, xorg-renamed-package, xorg-renamed-package-hwe-18.04, + ${xviddriver:Provides} +Description: X.Org X server -- QXL display driver + 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. + . + More information about X.Org can be found at: + + . + This package is built from the X.org xf86-video-qxl driver module. +Replaces: xserver-xorg-video-qxl +Conflicts: xserver-xorg-video-qxl + +Package: xserver-xspice-hwe-18.04 +Architecture: amd64 +Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, xserver-xorg-hwe-18.04, ${xviddriver:Depends}, python-argparse +Breaks: xserver-xorg-video-qxl-hwe-18.04 (<< 0.1.4-2~) +Replaces: + xserver-xspice, + xserver-xorg-video-qxl-hwe-18.04 (<< 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. +Provides: xserver-xspice, xorg-renamed-package, xorg-renamed-package-hwe-18.04 +Conflicts: xserver-xspice --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/copyright +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/copyright @@ -0,0 +1,106 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: xf86-video-qxl +Upstream-Contact: http://lists.freedesktop.org/mailman/listinfo/xorg +Source: https://xorg.freedesktop.org/releases/individual/driver/ + +Files: * +Copyright: 2007-2014 Red Hat, Inc. +License: Expat + +Files: src/dfps.c src/dfps.h src/spiceccid/spiceccid.c + src/spiceqxl_audio.c src/spiceqxl_audio.h + src/spiceqxl_smartcard.c src/spiceqxl_smartcard.h +Copyright: 2012, 2014 CodeWeavers, Inc. + 2012 Andrew Eikum for CodeWeavers Inc. + 2014 Jeremy White for CodeWeavers Inc. +License: Expat + +Files: src/uxa/uxa.h +Copyright: 2000, 2008 Keith Packard + 2004 Eric Anholt + 2005 Zack Rusin +License: NTP + +Files: src/uxa/uxa-priv.h +Copyright: 2000, 2008 Keith Packard + 2005 Zack Rusin, Trolltech +License: NTP + +Files: src/uxa/uxa-accel.c src/uxa/uxa.c src/uxa/uxa-damage.c + src/uxa/uxa-render.c src/uxa/uxa-unaccel.c +Copyright: 1999, 2001, 2003 Keith Packard +License: NTP + +Files: src/uxa/uxa-glyphs.c +Copyright: 2010 Intel Corporation + Partly based on code Copyright © 2008 Red Hat, Inc. + Partly based on code Copyright © 2000 SuSE, Inc. +License: NTP + +Files: src/murmurhash3.c src/murmurhash3.h +Copyright: None +License: public-domain + MurmurHash3 was written by Austin Appleby, and is placed in the public domain. + The author hereby disclaims copyright to this source code. + +Files: src/mspace.c src/mspace.h +Copyright: None +License: public-domain + based on dlmalloc from Doug Lea, + This is a version (aka dlmalloc) of malloc/free/realloc written by + Doug Lea and released to the public domain, as explained at + http://creativecommons.org/licenses/publicdomain. Send questions, + comments, complaints, performance data, etc to dl@cs.oswego.edu + +Files: debian/* +Copyright: Andreas Boll + Branden Robinson + Brice Goglin + Cyril Brulebois + David Nusinow + Julien Cristau + Laurent Bigonville + Liang Guo + Maarten Lankhorst + Michele Cane + Timo Aaltonen +License: Expat + +License: Expat + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + on the rights to use, copy, modify, merge, publish, distribute, sub + license, and/or sell copies of the Software, and to permit persons to whom + the Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +License: NTP + Permission to use, copy, modify, distribute, and sell this software and its + documentation for any purpose is hereby granted without fee, provided that + the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of copyright holders not be used in + advertising or publicity pertaining to distribution of the software without + specific, written prior permission. Copyright holders make no + representations about the suitability of this software for any purpose. It + is provided "as is" without express or implied warranty. + . + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY + SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN + AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING + OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS + SOFTWARE. --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/rules +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/rules @@ -0,0 +1,40 @@ +#!/usr/bin/make -f + +DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +VIDEODEP = $(shell cat /usr/share/xserver-xorg/videodrvdep 2>/dev/null) + +override_dh_auto_build: + dh_auto_build -- V=1 + +override_dh_strip: + dh_strip --dbgsym-migration='xserver-xorg-video-qxl-hwe-18.04-dbg (<< 0.1.4+20161126git4d7160c)' + +# Install in debian/tmp to retain control through dh_install: +override_dh_auto_install: + dh_auto_install --destdir=debian/tmp + +# Kill *.la files, and forget no-one: +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: +override_dh_shlibdeps: + dh_shlibdeps -- --warnings=6 + +override_dh_xsf_substvars: + echo "xviddriver:Depends=$(VIDEODEP)" >> debian/xserver-xspice-hwe-18.04.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/ --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/upstream/signing-key.asc +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/upstream/signing-key.asc @@ -0,0 +1,90 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +dZpMz+1C2h3OWrrIsYSPGPL/vTSnUTb+ +=Rfpa +-----END PGP PUBLIC KEY BLOCK----- --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/watch +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/watch @@ -0,0 +1,4 @@ +#git=git://anongit.freedesktop.org/xorg/driver/xf86-video-qxl +version=3 +opts="pgpsigurlmangle=s/$/.sig/" \ +https://xorg.freedesktop.org/releases/individual/driver/ xf86-video-qxl-(.*)\.tar\.gz --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/xserver-xorg-video-qxl-hwe-18.04.docs +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/xserver-xorg-video-qxl-hwe-18.04.docs @@ -0,0 +1,2 @@ +README +TODO --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/xserver-xorg-video-qxl-hwe-18.04.install +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/xserver-xorg-video-qxl-hwe-18.04.install @@ -0,0 +1 @@ +usr/lib/xorg/modules/drivers/qxl_drv.so --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/xserver-xorg-video-qxl-hwe-18.04.links +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/xserver-xorg-video-qxl-hwe-18.04.links @@ -0,0 +1 @@ +usr/share/bug/xserver-xorg-core/script usr/share/bug/xserver-xorg-video-qxl-hwe-18.04/script --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/xserver-xspice-hwe-18.04.docs +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/xserver-xspice-hwe-18.04.docs @@ -0,0 +1,2 @@ +README.xspice +examples/spiceqxl.xorg.conf.example --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/xserver-xspice-hwe-18.04.install +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/xserver-xspice-hwe-18.04.install @@ -0,0 +1,3 @@ +etc/X11/spiceqxl.xorg.conf +usr/lib/xorg/modules/drivers/spiceqxl_drv.so +usr/bin --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/debian/xserver-xspice-hwe-18.04.manpages +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/debian/xserver-xspice-hwe-18.04.manpages @@ -0,0 +1 @@ +debian/Xspice.1 --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/src/spiceccid/spice.pcsc.conf.template +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/src/spiceccid/spice.pcsc.conf.template @@ -0,0 +1,7 @@ +# Spice CCID Reader +# This configuration file is the format required by the pcscd deamon for +# serial devices; so the qxl driver looks like a serial device to pcscd. +FRIENDLYNAME "Spice ccid" +DEVICENAME /tmp/spice.pcsc.comm +LIBPATH /usr/lib/pcsc/drivers/serial/libspiceccid.so +CHANNELID 1 --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/tests/xspice_audio_test.py +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/tests/xspice_audio_test.py @@ -0,0 +1,19 @@ +#!/usr/bin/python + +from time import sleep +from xspice_audio_test_helper import produce_audio +from xspice_util import launch_xspice, launch_client + +def main(): + port = 8000 + xspice = launch_xspice(port) + sleep(2) + client = launch_client(port) + sleep(1) + produce_audio(xspice.audio_fifo_dir) + sleep(2) + client.kill() + xspice.kill() + +if __name__ == '__main__': + main() --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/tests/xspice_audio_test_helper.py +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/tests/xspice_audio_test_helper.py @@ -0,0 +1,19 @@ +#!/usr/bin/python +# coding: utf-8 +import os +import sys +import struct +from math import sin, pi + +def produce_audio(basedir): + filename = os.path.join(basedir, 'testaudio') + os.system(u'mkfifo %s' % filename) + if not os.path.exists(basedir): + print "missing fifo dir %s" % repr(basedir) + f=open(filename,'w') + singen = lambda f: lambda t: (int(min(32767, 32768*sin(t*f/1000.0*pi))), int(min(32767, 32768*sin(t*f/1000.0*pi)))) + f.write(''.join( struct.pack('hh', *singen(40)(t)) for t in xrange(44100) ) ) + os.unlink(filename) + +if __name__ == '__main__': + produce_audio(sys.argv[-1] if len(sys.argv) > 1 else '/tmp/xspice-audio/') --- xserver-xorg-video-qxl-hwe-18.04-0.1.5.orig/tests/xspice_util.py +++ xserver-xorg-video-qxl-hwe-18.04-0.1.5/tests/xspice_util.py @@ -0,0 +1,69 @@ +#!/usr/bin/python + +import os +from time import sleep +import subprocess +import atexit + +class Process(object): + processes = [] + @classmethod + def new(clazz, *args, **kw): + clazz.processes.append(subprocess.Popen(*args, **kw)) + return clazz.processes[-1] + + @classmethod + def atexit(clazz): + for p in reversed(clazz.processes): + print "child %s" % p.pid + if False: + slp = subprocess.Popen(['/usr/bin/sleep', '10000']) + print "wait on %d" % slp.pid + slp.wait() + if len(clazz.processes) == 0: + return + for p in reversed(clazz.processes): + print "kill %s" % p.pid + try: + p.kill() + except: + pass + if not any(p.poll() for p in clazz.processes): + return + sleep(1) + for p in reversed(clazz.processes): + if not p.poll(): + print "terminate %s" % p.pid + try: + p.terminate() + except: + pass + +atexit.register(Process.atexit) + +def which(prog): + for path_element in os.environ['PATH'].split(':'): + candidate = os.path.join(path_element, prog) + if os.path.exists(candidate): + return candidate + return None + +client_executable = which('remote-viewer') +if not client_executable: + raise SystemExit('missing remote-viewer in path') + +def launch_xspice(port): + basedir = '/tmp/xspice_test_audio' + if not os.path.exists(basedir): + os.mkdir(basedir) + assert(os.path.exists(basedir)) + xspice = Process.new(['../scripts/Xspice', '--port', str(port), '--auto', '--audio-fifo-dir', basedir, '--disable-ticketing', ':15.0']) + xspice.audio_fifo_dir = basedir + return xspice + +def launch_client(port): + client = Process.new([client_executable, 'spice://localhost:%s' % port]) + return client + +if __name__ == '__main__': + launch_xspice(port=8000)