Hello community,
here is the log from the commit of package xf86-video-qxl for openSUSE:Factory checked in at 2014-08-01 14:34:13
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/xf86-video-qxl (Old)
and /work/SRC/openSUSE:Factory/.xf86-video-qxl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "xf86-video-qxl"
Changes:
--------
--- /work/SRC/openSUSE:Factory/xf86-video-qxl/xf86-video-qxl.changes 2014-04-25 16:12:01.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.xf86-video-qxl.new/xf86-video-qxl.changes 2014-08-01 14:34:15.000000000 +0200
@@ -1,0 +2,11 @@
+Thu Jul 24 13:20:37 UTC 2014 - sndirsch@suse.com
+
+- Update to version 0.1.2:
+ * Support for server managed fds
+ * Xspice: use playback rate interface if available
+ * Bugs fixed:
+ - 1030531 - drm: restore cursor after resolution change
+ - fix cursor2 support in older kernels
+ - FD 79317 - prevent crash on dual head systems
+
+-------------------------------------------------------------------
Old:
----
xf86-video-qxl-0.1.1.tar.bz2
New:
----
xf86-video-qxl-0.1.2.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xf86-video-qxl.spec ++++++
--- /var/tmp/diff_new_pack.fCJbkV/_old 2014-08-01 14:34:15.000000000 +0200
+++ /var/tmp/diff_new_pack.fCJbkV/_new 2014-08-01 14:34:15.000000000 +0200
@@ -17,7 +17,7 @@
Name: xf86-video-qxl
-Version: 0.1.1
+Version: 0.1.2
Release: 0
Summary: QXL virtual GPU video driver for the Xorg X server
License: MIT
++++++ xf86-video-qxl-0.1.1.tar.bz2 -> xf86-video-qxl-0.1.2.tar.bz2 ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/ChangeLog new/xf86-video-qxl-0.1.2/ChangeLog
--- old/xf86-video-qxl-0.1.1/ChangeLog 2013-10-20 17:58:20.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/ChangeLog 2014-07-23 16:03:28.000000000 +0200
@@ -1,3 +1,179 @@
+commit 6210f34e3570341e0b6318c3fc2e2cc2cf6e5d82
+Author: Alon Levy
+Date: Wed Jul 23 11:21:03 2014 +0300
+
+ Release 0.1.2
+
+ Signed-off-by: Alon Levy
+
+commit 76d82060dff80417cdc58de49acd72b9ce91bf4c
+Author: Alon Levy
+Date: Mon Jun 9 16:08:13 2014 +0300
+
+ qxl_driver.c: fix compiler warning 'defined but not used' qxl_kernel_mode_enabled
+
+ Signed-off-by: Alon Levy
+
+commit cf16a40ebde42478a1edd5fbfe841f69b2c9c37f
+Author: Alon Levy
+Date: Wed Jun 25 14:53:14 2014 +0300
+
+ qxl_image.c: fix compilation break
+
+ Since 3d511c30206bd8c9a207c436186a03af0bb02962 Xspice building is broken
+ due to undefined MAX_RELOCS when not building with XF86DRM_MODE.
+
+commit 17e2ee0d904f35d4fe756ca2d9cd100e15663018
+Author: Marc-André Lureau
+Date: Wed Jul 2 12:22:46 2014 +0200
+
+ drm: restore cursor after resolution change
+
+ The Spice server & qemu reset the cursor state when
+ changing resolution. Although X does restore the
+ cursor on framebuffer changes, it doesn't for crtc
+ config. Restoring the cursor here is the simplest
+ way to solve the "invisible cursor" after resolution
+ change bug with DRM driver.
+
+ https://bugzilla.redhat.com/show_bug.cgi?id=1030531
+
+commit 3d511c30206bd8c9a207c436186a03af0bb02962
+Author: David Mansfield
+Date: Tue Jun 3 10:05:42 2014 -0400
+
+ Dynamically adjust chunk size to avoid command buffer overflow.
+
+ The maximum number of "commands" that can be queued at once is
+ fixed at compile time at MAX_RELOCS. However, during the creation
+ of an image object in qxl_image_create(), the image is split into
+ commands of maximum size 512*512. For a large dual-head system,
+ it is easy to create an image for which the number of chunks will
+ result in an overflow of MAX_RELOCS number of "commands".
+
+ Identify this scenario and dynamically increase the chunk size to
+ avoid the overflow, and the resulting assert() which crashes Xorg.
+
+ Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=79317
+ Signed-off-by: David Mansfield
+
+commit cbe70e99136eca3f1eb00048e98ccad653897dd5
+Author: Hans de Goede
+Date: Wed Apr 23 17:50:41 2014 +0200
+
+ Add support for server managed fds
+
+ Signed-off-by: Hans de Goede
+
+commit a7115f636bc1054c350b7a6a9557ecb944188596
+Author: Hans de Goede
+Date: Wed Apr 23 17:35:24 2014 +0200
+
+ Fix qxl_driver_func to adhere to the API
+
+ The driverFunc callback MUST check the passed in operand and only return
+ TRUE it if understands it and has handled it. It must NOT blindly assume the
+ op is GET_REQUIRED_HW_INTERFACES.
+
+ While at also always define driverFunc, and welcome qxl to the 21st century.
+
+ Signed-off-by: Hans de Goede
+
+commit 463084aa8e73fbafb8dc404e2bd458548d04e9dc
+Author: Hans de Goede
+Date: Wed Apr 23 17:28:28 2014 +0200
+
+ Add support for XSERVER_PLATFORM_BUS
+
+ This is a preparation patch for adding support for server managed fds.
+
+ Signed-off-by: Hans de Goede
+
+commit 9123b177eeeae53c5faf106eaf6d0f811efd6186
+Author: longguang.yue
+Date: Thu Mar 27 00:21:05 2014 +0800
+
+ fix memory leak when alloc uxa
+
+commit 9971a5ce9007c23fffb4221cbff7c125660929bd
+Author: Jeremy White
+Date: Mon Mar 31 09:53:24 2014 -0500
+
+ Make use of the new playback rate interface, if available.
+
+commit e543c6ba78d0be27d29a4f50a6641208161556c2
+Author: Dave Airlie
+Date: Fri Feb 28 11:59:15 2014 +1000
+
+ qxl: fix set cursor2 support for older kernel
+
+ On older kernels we were getting -EINVAL not -ENOSYS,
+ so we'd never render the cursor, gnome continuous uses a 3.10
+ kernel.
+
+ Signed-off-by: Dave Airlie
+
+commit 9f9709b3dcdf2c8475d67cb42c8765ce17165b8b
+Author: Alon Levy
+Date: Sun Oct 27 12:01:46 2013 +0200
+
+ Xspice: add better doc strings for audio & vdagent
+
+ Signed-off-by: Alon Levy
+
+commit d6066e77c12f6a6273b7b57c3d3a37df2be9a0b4
+Author: Alon Levy
+Date: Sun Oct 27 11:50:28 2013 +0200
+
+ spiceqxl_util.[hc]: add copyright & license headers
+
+ Signed-off-by: Alon Levy
+
+commit c1b698baf3a5d653854c69a12f2d3cb76991b406
+Author: Alon Levy
+Date: Mon Oct 21 18:26:12 2013 +0300
+
+ Xspice: cleanup vdagent files
+
+commit eb437149e26c995aac780dc8bb67ea41275d0429
+Author: Alon Levy
+Date: Mon Oct 21 18:26:02 2013 +0300
+
+ Xspice: fix cleanup when some processes are already dead
+
+commit a778d9da649b16098ab3721f135bd7508bc32167
+Author: Alon Levy
+Date: Mon Oct 21 18:25:47 2013 +0300
+
+ Xspice: cleanup non regular files too
+
+commit e1b4022a0d2c598e5d5dead8d770f5e7d0de5a0c
+Author: Alon Levy
+Date: Mon Oct 21 18:22:15 2013 +0300
+
+ xspice: chown both files used by vdagent for suid Xorg case
+
+ When running a suid Xorg mkfifo and bind produce files owned by root.
+ Change the ownership so that the user launched vdagent & vdagentd can
+ write to them. This also makes it easier to cleanup the files from the
+ Xspice process that is not running as root (and is launching both
+ vdagent & vdagentd, hence they are not running as root either).
+
+ The patch adds two new parameters, uid and gid of the agent used files,
+ namely the virtio unix domain socket and the uinput fifo.
+
+commit 5f23159d86e94d599301581f25a6e13fe3a050b9
+Author: Alon Levy
+Date: Mon Oct 21 11:57:43 2013 +0300
+
+ spiceqxl_spice_server: no need to call spice_server_set_noauth twice
+
+commit 1b4c1dd47e7876f85a5e6338f3561e718cb39929
+Author: Alon Levy
+Date: Mon Oct 21 11:21:44 2013 +0300
+
+ tests/xspice_util.py: fix hardcoded port
+
commit 516c07ea582db00aac75133e5bbd8f8647900bd7
Author: Alon Levy
Date: Sun Oct 20 18:39:14 2013 +0300
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/INSTALL new/xf86-video-qxl-0.1.2/INSTALL
--- old/xf86-video-qxl-0.1.1/INSTALL 2013-10-20 17:58:20.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/INSTALL 2014-07-23 16:03:28.000000000 +0200
@@ -0,0 +1,291 @@
+Installation Instructions
+*************************
+
+Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
+2006, 2007, 2008 Free Software Foundation, Inc.
+
+ This file is free documentation; the Free Software Foundation gives
+unlimited permission to copy, distribute and modify it.
+
+Basic Installation
+==================
+
+ Briefly, the shell commands `./configure; make; make install' should
+configure, build, and install this package. The following
+more-detailed instructions are generic; see the `README' file for
+instructions specific to this package.
+
+ The `configure' shell script attempts to guess correct values for
+various system-dependent variables used during compilation. It uses
+those values to create a `Makefile' in each directory of the package.
+It may also create one or more `.h' files containing system-dependent
+definitions. Finally, it creates a shell script `config.status' that
+you can run in the future to recreate the current configuration, and a
+file `config.log' containing compiler output (useful mainly for
+debugging `configure').
+
+ It can also use an optional file (typically called `config.cache'
+and enabled with `--cache-file=config.cache' or simply `-C') that saves
+the results of its tests to speed up reconfiguring. Caching is
+disabled by default to prevent problems with accidental use of stale
+cache files.
+
+ If you need to do unusual things to compile the package, please try
+to figure out how `configure' could check whether to do them, and mail
+diffs or instructions to the address given in the `README' so they can
+be considered for the next release. If you are using the cache, and at
+some point `config.cache' contains results you don't want to keep, you
+may remove or edit it.
+
+ The file `configure.ac' (or `configure.in') is used to create
+`configure' by a program called `autoconf'. You need `configure.ac' if
+you want to change it or regenerate `configure' using a newer version
+of `autoconf'.
+
+The simplest way to compile this package is:
+
+ 1. `cd' to the directory containing the package's source code and type
+ `./configure' to configure the package for your system.
+
+ Running `configure' might take a while. While running, it prints
+ some messages telling which features it is checking for.
+
+ 2. Type `make' to compile the package.
+
+ 3. Optionally, type `make check' to run any self-tests that come with
+ the package.
+
+ 4. Type `make install' to install the programs and any data files and
+ documentation.
+
+ 5. You can remove the program binaries and object files from the
+ source code directory by typing `make clean'. To also remove the
+ files that `configure' created (so you can compile the package for
+ a different kind of computer), type `make distclean'. There is
+ also a `make maintainer-clean' target, but that is intended mainly
+ for the package's developers. If you use it, you may have to get
+ all sorts of other programs in order to regenerate files that came
+ with the distribution.
+
+ 6. Often, you can also type `make uninstall' to remove the installed
+ files again.
+
+Compilers and Options
+=====================
+
+ Some systems require unusual options for compilation or linking that
+the `configure' script does not know about. Run `./configure --help'
+for details on some of the pertinent environment variables.
+
+ You can give `configure' initial values for configuration parameters
+by setting variables in the command line or in the environment. Here
+is an example:
+
+ ./configure CC=c99 CFLAGS=-g LIBS=-lposix
+
+ *Note Defining Variables::, for more details.
+
+Compiling For Multiple Architectures
+====================================
+
+ You can compile the package for more than one kind of computer at the
+same time, by placing the object files for each architecture in their
+own directory. To do this, you can use GNU `make'. `cd' to the
+directory where you want the object files and executables to go and run
+the `configure' script. `configure' automatically checks for the
+source code in the directory that `configure' is in and in `..'.
+
+ With a non-GNU `make', it is safer to compile the package for one
+architecture at a time in the source code directory. After you have
+installed the package for one architecture, use `make distclean' before
+reconfiguring for another architecture.
+
+ On MacOS X 10.5 and later systems, you can create libraries and
+executables that work on multiple system types--known as "fat" or
+"universal" binaries--by specifying multiple `-arch' options to the
+compiler but only a single `-arch' option to the preprocessor. Like
+this:
+
+ ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
+ CPP="gcc -E" CXXCPP="g++ -E"
+
+ This is not guaranteed to produce working output in all cases, you
+may have to build one architecture at a time and combine the results
+using the `lipo' tool if you have problems.
+
+Installation Names
+==================
+
+ By default, `make install' installs the package's commands under
+`/usr/local/bin', include files under `/usr/local/include', etc. You
+can specify an installation prefix other than `/usr/local' by giving
+`configure' the option `--prefix=PREFIX'.
+
+ You can specify separate installation prefixes for
+architecture-specific files and architecture-independent files. If you
+pass the option `--exec-prefix=PREFIX' to `configure', the package uses
+PREFIX as the prefix for installing programs and libraries.
+Documentation and other data files still use the regular prefix.
+
+ In addition, if you use an unusual directory layout you can give
+options like `--bindir=DIR' to specify different values for particular
+kinds of files. Run `configure --help' for a list of the directories
+you can set and what kinds of files go in them.
+
+ If the package supports it, you can cause programs to be installed
+with an extra prefix or suffix on their names by giving `configure' the
+option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
+
+Optional Features
+=================
+
+ Some packages pay attention to `--enable-FEATURE' options to
+`configure', where FEATURE indicates an optional part of the package.
+They may also pay attention to `--with-PACKAGE' options, where PACKAGE
+is something like `gnu-as' or `x' (for the X Window System). The
+`README' should mention any `--enable-' and `--with-' options that the
+package recognizes.
+
+ For packages that use the X Window System, `configure' can usually
+find the X include and library files automatically, but if it doesn't,
+you can use the `configure' options `--x-includes=DIR' and
+`--x-libraries=DIR' to specify their locations.
+
+Particular systems
+==================
+
+ On HP-UX, the default C compiler is not ANSI C compatible. If GNU
+CC is not installed, it is recommended to use the following options in
+order to use an ANSI C compiler:
+
+ ./configure CC="cc -Ae"
+
+and if that doesn't work, install pre-built binaries of GCC for HP-UX.
+
+ On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
+parse its `' header file. The option `-nodtk' can be used as
+a workaround. If GNU CC is not installed, it is therefore recommended
+to try
+
+ ./configure CC="cc"
+
+and if that doesn't work, try
+
+ ./configure CC="cc -nodtk"
+
+Specifying the System Type
+==========================
+
+ There may be some features `configure' cannot figure out
+automatically, but needs to determine by the type of machine the package
+will run on. Usually, assuming the package is built to be run on the
+_same_ architectures, `configure' can figure that out, but if it prints
+a message saying it cannot guess the machine type, give it the
+`--build=TYPE' option. TYPE can either be a short name for the system
+type, such as `sun4', or a canonical name which has the form:
+
+ CPU-COMPANY-SYSTEM
+
+where SYSTEM can have one of these forms:
+
+ OS KERNEL-OS
+
+ See the file `config.sub' for the possible values of each field. If
+`config.sub' isn't included in this package, then this package doesn't
+need to know the machine type.
+
+ If you are _building_ compiler tools for cross-compiling, you should
+use the option `--target=TYPE' to select the type of system they will
+produce code for.
+
+ If you want to _use_ a cross compiler, that generates code for a
+platform different from the build platform, you should specify the
+"host" platform (i.e., that on which the generated programs will
+eventually be run) with `--host=TYPE'.
+
+Sharing Defaults
+================
+
+ If you want to set default values for `configure' scripts to share,
+you can create a site shell script called `config.site' that gives
+default values for variables like `CC', `cache_file', and `prefix'.
+`configure' looks for `PREFIX/share/config.site' if it exists, then
+`PREFIX/etc/config.site' if it exists. Or, you can set the
+`CONFIG_SITE' environment variable to the location of the site script.
+A warning: not all `configure' scripts look for a site script.
+
+Defining Variables
+==================
+
+ Variables not defined in a site shell script can be set in the
+environment passed to `configure'. However, some packages may run
+configure again during the build, and the customized values of these
+variables may be lost. In order to avoid this problem, you should set
+them in the `configure' command line, using `VAR=value'. For example:
+
+ ./configure CC=/usr/local2/bin/gcc
+
+causes the specified `gcc' to be used as the C compiler (unless it is
+overridden in the site shell script).
+
+Unfortunately, this technique does not work for `CONFIG_SHELL' due to
+an Autoconf bug. Until the bug is fixed you can use this workaround:
+
+ CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash
+
+`configure' Invocation
+======================
+
+ `configure' recognizes the following options to control how it
+operates.
+
+`--help'
+`-h'
+ Print a summary of all of the options to `configure', and exit.
+
+`--help=short'
+`--help=recursive'
+ Print a summary of the options unique to this package's
+ `configure', and exit. The `short' variant lists options used
+ only in the top level, while the `recursive' variant lists options
+ also present in any nested packages.
+
+`--version'
+`-V'
+ Print the version of Autoconf used to generate the `configure'
+ script, and exit.
+
+`--cache-file=FILE'
+ Enable the cache: use and save the results of the tests in FILE,
+ traditionally `config.cache'. FILE defaults to `/dev/null' to
+ disable caching.
+
+`--config-cache'
+`-C'
+ Alias for `--cache-file=config.cache'.
+
+`--quiet'
+`--silent'
+`-q'
+ Do not print messages saying which checks are being made. To
+ suppress all normal output, redirect it to `/dev/null' (any error
+ messages will still be shown).
+
+`--srcdir=DIR'
+ Look for the package's source code in directory DIR. Usually
+ `configure' can determine that directory automatically.
+
+`--prefix=DIR'
+ Use DIR as the installation prefix. *Note Installation Names::
+ for more details, including other options available for fine-tuning
+ the installation locations.
+
+`--no-create'
+`-n'
+ Run the configure checks, but stop before creating any output
+ files.
+
+`configure' also accepts some other, not widely useful, options. Run
+`configure --help' for more details.
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/NEWS new/xf86-video-qxl-0.1.2/NEWS
--- old/xf86-video-qxl-0.1.1/NEWS 2013-10-20 16:56:37.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/NEWS 2014-07-23 10:20:50.000000000 +0200
@@ -1,3 +1,13 @@
+Major changes in 0.1.2
+======================
+Support for server managed fds
+Xspice: use playback rate interface if available
+
+Bugs fixed:
+ 1030531 - drm: restore cursor after resolution change
+ fix cursor2 support in older kernels
+ FD 79317 - prevent crash on dual head systems
+
Major changes in 0.1.1
======================
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/aclocal.m4 new/xf86-video-qxl-0.1.2/aclocal.m4
--- old/xf86-video-qxl-0.1.1/aclocal.m4 2013-10-20 17:56:47.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/aclocal.m4 2014-07-23 10:11:31.000000000 +0200
@@ -1326,7 +1326,7 @@
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@@ -1340,7 +1340,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -1359,7 +1362,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/configure new/xf86-video-qxl-0.1.2/configure
--- old/xf86-video-qxl-0.1.1/configure 2013-10-20 17:56:48.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/configure 2014-07-23 10:11:33.000000000 +0200
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for xf86-video-qxl 0.1.1.
+# Generated by GNU Autoconf 2.69 for xf86-video-qxl 0.1.2.
#
# Report bugs to https://bugs.freedesktop.org/enter_bug.cgi?product=xorg.
#
@@ -591,8 +591,8 @@
# Identity of this package.
PACKAGE_NAME='xf86-video-qxl'
PACKAGE_TARNAME='xf86-video-qxl'
-PACKAGE_VERSION='0.1.1'
-PACKAGE_STRING='xf86-video-qxl 0.1.1'
+PACKAGE_VERSION='0.1.2'
+PACKAGE_STRING='xf86-video-qxl 0.1.2'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg'
PACKAGE_URL=''
@@ -1382,7 +1382,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures xf86-video-qxl 0.1.1 to adapt to many kinds of systems.
+\`configure' configures xf86-video-qxl 0.1.2 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1452,7 +1452,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of xf86-video-qxl 0.1.1:";;
+ short | recursive ) echo "Configuration of xf86-video-qxl 0.1.2:";;
esac
cat <<\_ACEOF
@@ -1598,7 +1598,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-xf86-video-qxl configure 0.1.1
+xf86-video-qxl configure 0.1.2
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1922,7 +1922,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by xf86-video-qxl $as_me 0.1.1, which was
+It was created by xf86-video-qxl $as_me 0.1.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2859,7 +2859,7 @@
# Define the identity of the package.
PACKAGE='xf86-video-qxl'
- VERSION='0.1.1'
+ VERSION='0.1.2'
cat >>confdefs.h <<_ACEOF
@@ -13094,7 +13094,7 @@
rm -rf conftest*
;;
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
@@ -13112,7 +13112,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_i386"
;;
- ppc64-*linux*|powerpc64-*linux*)
+ powerpc64le-*linux*)
+ LD="${LD-ld} -m elf32lppclinux"
+ ;;
+ powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
;;
s390x-*linux*)
@@ -13131,7 +13134,10 @@
x86_64-*linux*)
LD="${LD-ld} -m elf_x86_64"
;;
- ppc*-*linux*|powerpc*-*linux*)
+ powerpcle-*linux*)
+ LD="${LD-ld} -m elf64lppc"
+ ;;
+ powerpc-*linux*)
LD="${LD-ld} -m elf64ppc"
;;
s390*-*linux*|s390*-*tpf*)
@@ -19388,7 +19394,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by xf86-video-qxl $as_me 0.1.1, which was
+This file was extended by xf86-video-qxl $as_me 0.1.2, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -19454,7 +19460,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-xf86-video-qxl config.status 0.1.1
+xf86-video-qxl config.status 0.1.2
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/configure.ac new/xf86-video-qxl-0.1.2/configure.ac
--- old/xf86-video-qxl-0.1.1/configure.ac 2013-10-20 17:54:02.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/configure.ac 2014-07-23 10:11:22.000000000 +0200
@@ -23,7 +23,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([xf86-video-qxl],
- [0.1.1],
+ [0.1.2],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg],
[xf86-video-qxl])
AC_CONFIG_SRCDIR([Makefile.am])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/scripts/Xspice new/xf86-video-qxl-0.1.2/scripts/Xspice
--- old/xf86-video-qxl-0.1.1/scripts/Xspice 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/scripts/Xspice 2014-07-23 10:11:07.000000000 +0200
@@ -85,13 +85,15 @@
default='filter', help='filter by default')
add_boolean('--ipv4-only')
add_boolean('--ipv6-only')
-parser.add_argument('--vdagent', action='store_true', dest='vdagent_enabled', default=False, help='launch vdagent & vdagentd')
-parser.add_argument('--vdagent-virtio-path', default='/tmp/xspice-virtio', help='virtio socket path')
-parser.add_argument('--vdagent-uinput-path', default='/tmp/xspice-uinput', help='uinput socket path')
-parser.add_argument('--vdagentd-exec', default='spice-vdagentd')
-parser.add_argument('--vdagent-exec', default='spice-vdagent')
-parser.add_argument('--vdagent-no-launch', default=True, action='store_false', dest='vdagent_launch')
-parser.add_argument('--audio-fifo-dir', default='')
+parser.add_argument('--vdagent', action='store_true', dest='vdagent_enabled', default=False, help='launch vdagent & vdagentd. They provide clipboard & resolution automation')
+parser.add_argument('--vdagent-virtio-path', default='/tmp/xspice-virtio', help='virtio socket path used by vdagentd')
+parser.add_argument('--vdagent-uinput-path', default='/tmp/xspice-uinput', help='uinput socket path used by vdagent')
+parser.add_argument('--vdagentd-exec', help='path to spice-vdagentd (used with --vdagent)')
+parser.add_argument('--vdagent-exec', help='path to spice-vdagent (used with --vdagent)')
+parser.add_argument('--vdagent-no-launch', default=True, action='store_false', dest='vdagent_launch', help='do not launch vdagent & vdagentd, used for debugging or if some external script wants to take care of that')
+parser.add_argument('--vdagent-uid', default=str(os.getuid()), help='set vdagent user id. changing it makes sense only in conjunction with --vdagent-no-launch')
+parser.add_argument('--vdagent-gid', default=str(os.getgid()), help='set vdagent group id. changing it makes sense only in conjunction with --vdagent-no-launch')
+parser.add_argument('--audio-fifo-dir', default='', help="set fifo directory for playback audio. designed to work with PulseAudio's module-pipe-sink")
#TODO
#Option "SpiceAddr" ""
@@ -157,12 +159,18 @@
def cleanup(*args):
for f in cleanup_files:
- if os.path.isfile(f):
+ if os.path.exists(f):
os.remove(f)
for p in cleanup_processes:
- p.kill()
+ try:
+ p.kill()
+ except OSError:
+ pass
for p in cleanup_processes:
- p.wait()
+ try:
+ p.wait()
+ except OSError:
+ pass
del cleanup_processes[:]
def launch(*args, **kw):
@@ -231,7 +239,8 @@
'tls_ciphers', 'dh_file', 'password', 'image_compression',
'jpeg_wan_compression', 'zlib_glz_wan_compression',
'streaming_video', 'deferred_fps', 'exit_on_disconnect',
- 'vdagent_enabled', 'vdagent_virtio_path', 'vdagent_uinput_path']
+ 'vdagent_enabled', 'vdagent_virtio_path', 'vdagent_uinput_path',
+ 'vdagent_uid', 'vdagent_gid']
for arg in var_args:
if getattr(args, arg):
@@ -269,6 +278,7 @@
for f in [vdagentd_uds, args.vdagent_virtio_path, args.vdagent_uinput_path]:
if os.path.exists(f):
os.unlink(f)
+ cleanup_files.extend([args.vdagent_virtio_path, args.vdagent_uinput_path])
xorg = launch(executable=args.xorg, args=exec_args + xorg_args)
time.sleep(2)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/Makefile.am new/xf86-video-qxl-0.1.2/src/Makefile.am
--- old/xf86-video-qxl-0.1.1/src/Makefile.am 2013-10-20 17:37:47.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/Makefile.am 2013-10-21 17:26:34.000000000 +0200
@@ -79,6 +79,8 @@
qxl.h \
qxl_option_helpers.c \
qxl_option_helpers.h \
+ spiceqxl_util.h \
+ spiceqxl_util.c \
spiceqxl_spice_server.c \
spiceqxl_spice_server.h \
spiceqxl_io_port.c \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/Makefile.in new/xf86-video-qxl-0.1.2/src/Makefile.in
--- old/xf86-video-qxl-0.1.1/src/Makefile.in 2013-10-20 17:56:48.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/Makefile.in 2014-07-23 10:11:34.000000000 +0200
@@ -175,19 +175,20 @@
@BUILD_XSPICE_TRUE@spiceqxl_drv_la_DEPENDENCIES = uxa/libuxa.la \
@BUILD_XSPICE_TRUE@ $(am__DEPENDENCIES_1)
am__spiceqxl_drv_la_SOURCES_DIST = qxl.h qxl_option_helpers.c \
- qxl_option_helpers.h spiceqxl_spice_server.c \
- spiceqxl_spice_server.h spiceqxl_io_port.c spiceqxl_io_port.h \
- spiceqxl_driver.c spiceqxl_driver.h spiceqxl_main_loop.c \
- spiceqxl_main_loop.h spiceqxl_display.c spiceqxl_display.h \
- spiceqxl_vdagent.c spiceqxl_vdagent.h spiceqxl_uinput.c \
- spiceqxl_uinput.h spiceqxl_audio.c spiceqxl_audio.h \
- spiceqxl_inputs.c spiceqxl_inputs.h qxl_driver.c qxl_image.c \
- qxl_surface.c qxl_surface_ums.c qxl_surface.h qxl_ring.c \
- qxl_mem.c mspace.c mspace.h murmurhash3.c murmurhash3.h \
- qxl_cursor.c dfps.c dfps.h qxl_uxa.c qxl_ums_mode.c qxl_io.c \
- compat-api.h
+ qxl_option_helpers.h spiceqxl_util.h spiceqxl_util.c \
+ spiceqxl_spice_server.c spiceqxl_spice_server.h \
+ spiceqxl_io_port.c spiceqxl_io_port.h spiceqxl_driver.c \
+ spiceqxl_driver.h spiceqxl_main_loop.c spiceqxl_main_loop.h \
+ spiceqxl_display.c spiceqxl_display.h spiceqxl_vdagent.c \
+ spiceqxl_vdagent.h spiceqxl_uinput.c spiceqxl_uinput.h \
+ spiceqxl_audio.c spiceqxl_audio.h spiceqxl_inputs.c \
+ spiceqxl_inputs.h qxl_driver.c qxl_image.c qxl_surface.c \
+ qxl_surface_ums.c qxl_surface.h qxl_ring.c qxl_mem.c mspace.c \
+ mspace.h murmurhash3.c murmurhash3.h qxl_cursor.c dfps.c \
+ dfps.h qxl_uxa.c qxl_ums_mode.c qxl_io.c compat-api.h
@BUILD_XSPICE_TRUE@am_spiceqxl_drv_la_OBJECTS = \
@BUILD_XSPICE_TRUE@ spiceqxl_drv_la-qxl_option_helpers.lo \
+@BUILD_XSPICE_TRUE@ spiceqxl_drv_la-spiceqxl_util.lo \
@BUILD_XSPICE_TRUE@ spiceqxl_drv_la-spiceqxl_spice_server.lo \
@BUILD_XSPICE_TRUE@ spiceqxl_drv_la-spiceqxl_io_port.lo \
@BUILD_XSPICE_TRUE@ spiceqxl_drv_la-spiceqxl_driver.lo \
@@ -511,6 +512,8 @@
@BUILD_XSPICE_TRUE@ qxl.h \
@BUILD_XSPICE_TRUE@ qxl_option_helpers.c \
@BUILD_XSPICE_TRUE@ qxl_option_helpers.h \
+@BUILD_XSPICE_TRUE@ spiceqxl_util.h \
+@BUILD_XSPICE_TRUE@ spiceqxl_util.c \
@BUILD_XSPICE_TRUE@ spiceqxl_spice_server.c \
@BUILD_XSPICE_TRUE@ spiceqxl_spice_server.h \
@BUILD_XSPICE_TRUE@ spiceqxl_io_port.c \
@@ -703,6 +706,7 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spiceqxl_drv_la-spiceqxl_main_loop.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spiceqxl_drv_la-spiceqxl_spice_server.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spiceqxl_drv_la-spiceqxl_uinput.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spiceqxl_drv_la-spiceqxl_util.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spiceqxl_drv_la-spiceqxl_vdagent.Plo@am__quote@
.c.o:
@@ -733,6 +737,13 @@
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spiceqxl_drv_la_CFLAGS) $(CFLAGS) -c -o spiceqxl_drv_la-qxl_option_helpers.lo `test -f 'qxl_option_helpers.c' || echo '$(srcdir)/'`qxl_option_helpers.c
+spiceqxl_drv_la-spiceqxl_util.lo: spiceqxl_util.c
+@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spiceqxl_drv_la_CFLAGS) $(CFLAGS) -MT spiceqxl_drv_la-spiceqxl_util.lo -MD -MP -MF $(DEPDIR)/spiceqxl_drv_la-spiceqxl_util.Tpo -c -o spiceqxl_drv_la-spiceqxl_util.lo `test -f 'spiceqxl_util.c' || echo '$(srcdir)/'`spiceqxl_util.c
+@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spiceqxl_drv_la-spiceqxl_util.Tpo $(DEPDIR)/spiceqxl_drv_la-spiceqxl_util.Plo
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='spiceqxl_util.c' object='spiceqxl_drv_la-spiceqxl_util.lo' libtool=yes @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spiceqxl_drv_la_CFLAGS) $(CFLAGS) -c -o spiceqxl_drv_la-spiceqxl_util.lo `test -f 'spiceqxl_util.c' || echo '$(srcdir)/'`spiceqxl_util.c
+
spiceqxl_drv_la-spiceqxl_spice_server.lo: spiceqxl_spice_server.c
@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(spiceqxl_drv_la_CFLAGS) $(CFLAGS) -MT spiceqxl_drv_la-spiceqxl_spice_server.lo -MD -MP -MF $(DEPDIR)/spiceqxl_drv_la-spiceqxl_spice_server.Tpo -c -o spiceqxl_drv_la-spiceqxl_spice_server.lo `test -f 'spiceqxl_spice_server.c' || echo '$(srcdir)/'`spiceqxl_spice_server.c
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/spiceqxl_drv_la-spiceqxl_spice_server.Tpo $(DEPDIR)/spiceqxl_drv_la-spiceqxl_spice_server.Plo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/qxl.h new/xf86-video-qxl-0.1.2/src/qxl.h
--- old/xf86-video-qxl-0.1.1/src/qxl.h 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/qxl.h 2014-07-23 10:11:07.000000000 +0200
@@ -50,6 +50,9 @@
#ifdef XSERVER_PCIACCESS
#include "pciaccess.h"
#endif
+#ifdef XSERVER_PLATFORM_BUS
+#include "xf86platformBus.h"
+#endif
#include "fb.h"
#include "vgaHW.h"
#endif /* XSPICE */
@@ -66,6 +69,8 @@
typedef struct xorg_list xorg_list_t;
#endif
+struct xf86_platform_device;
+
#include "compat-api.h"
#define hidden _X_HIDDEN
@@ -147,6 +152,8 @@
OPTION_SPICE_VDAGENT_ENABLED,
OPTION_SPICE_VDAGENT_VIRTIO_PATH,
OPTION_SPICE_VDAGENT_UINPUT_PATH,
+ OPTION_SPICE_VDAGENT_UID,
+ OPTION_SPICE_VDAGENT_GID,
#endif
OPTION_COUNT,
};
@@ -269,6 +276,7 @@
pciVideoPtr pci;
PCITAG pci_tag;
#endif
+ struct xf86_platform_device *platform_dev;
vgaRegRec vgaRegs;
#endif /* XSPICE */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/qxl_driver.c new/xf86-video-qxl-0.1.2/src/qxl_driver.c
--- old/xf86-video-qxl-0.1.1/src/qxl_driver.c 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/qxl_driver.c 2014-07-23 10:11:07.000000000 +0200
@@ -142,6 +142,10 @@
"SpiceVdagentVirtioPath", OPTV_STRING, {.str = spice_vdagent_virtio_path_default}, FALSE},
{ OPTION_SPICE_VDAGENT_UINPUT_PATH,
"SpiceVdagentUinputPath", OPTV_STRING, {.str = spice_vdagent_uinput_path_default}, FALSE},
+ { OPTION_SPICE_VDAGENT_UID,
+ "SpiceVdagentUid", OPTV_INTEGER, {0}, FALSE},
+ { OPTION_SPICE_VDAGENT_GID,
+ "SpiceVdagentGid", OPTV_INTEGER, {0}, FALSE},
#endif
{ -1, NULL, OPTV_NONE, {0}, FALSE }
@@ -745,8 +749,6 @@
}
}
- qxl->uxa = uxa_driver_alloc ();
-
#ifndef XSPICE
qxl->io_pages = (void *)((unsigned long)qxl->ram);
qxl->io_pages_physical = (void *)((unsigned long)qxl->ram_physical);
@@ -1240,7 +1242,7 @@
pScrn->ValidMode = NULL;
}
-#ifdef XF86DRM_MODE
+#if defined(XF86DRM_MODE) && !defined(XSPICE)
static char *
CreatePCIBusID(const struct pci_device *dev)
{
@@ -1300,12 +1302,6 @@
return TRUE;
}
-static Bool qxl_driver_func (ScrnInfoPtr screen_info_ptr, xorgDriverFuncOp xorg_driver_func_op, pointer hw_flags)
-{
- *(xorgHWFlags*)hw_flags = (xorgHWFlags)HW_SKIP_CONSOLE;
- return TRUE;
-}
-
#else /* normal, not XSPICE */
#ifndef XSERVER_LIBPCIACCESS
static Bool
@@ -1385,8 +1381,66 @@
#define qxl_probe NULL
#endif
+
+#ifdef XSERVER_PLATFORM_BUS
+static Bool
+qxl_platform_probe(DriverPtr driver, int entity, int flags,
+ struct xf86_platform_device *dev, intptr_t match_data)
+{
+ qxl_screen_t *qxl;
+ ScrnInfoPtr pScrn;
+ int scrnFlag = 0;
+
+ if (!dev->pdev)
+ return FALSE;
+
+ if (flags & PLATFORM_PROBE_GPU_SCREEN)
+ scrnFlag = XF86_ALLOCATE_GPU_SCREEN;
+
+ pScrn = xf86AllocateScreen(driver, scrnFlag);
+ if (!pScrn)
+ return FALSE;
+
+ if (xf86IsEntitySharable(entity))
+ xf86SetEntityShared(entity);
+
+ xf86AddEntityToScreen(pScrn, entity);
+
+ qxl = pScrn->driverPrivate = xnfcalloc (sizeof (qxl_screen_t), 1);
+ qxl->pci = dev->pdev;
+ qxl->platform_dev = dev;
+
+ qxl_init_scrn (pScrn, qxl_kernel_mode_enabled(pScrn, dev->pdev));
+
+ return TRUE;
+}
+#endif /* XSERVER_PLATFORM_BUS */
+
#endif /* XSPICE */
+static Bool
+qxl_driver_func(ScrnInfoPtr pScrn, xorgDriverFuncOp op, void *data)
+{
+ xorgHWFlags *hw_flags;
+
+ switch (op) {
+ case GET_REQUIRED_HW_INTERFACES:
+ hw_flags = data;
+#ifdef XSPICE
+ *hw_flags = HW_SKIP_CONSOLE;
+#else
+ *hw_flags = HW_IO | HW_MMIO;
+#endif
+ return TRUE;
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,15,99,902,0)
+ case SUPPORTS_SERVER_FDS:
+ return TRUE;
+#endif
+ default:
+ return FALSE;
+ }
+}
+
static DriverRec qxl_driver = {
0,
driver_name,
@@ -1395,15 +1449,23 @@
qxl_available_options,
NULL,
0,
-#ifdef XSPICE
qxl_driver_func,
+#ifdef XSPICE
+ NULL,
NULL,
- NULL
-#else
NULL,
+#else
#ifdef XSERVER_LIBPCIACCESS
qxl_device_match,
- qxl_pci_probe
+ qxl_pci_probe,
+#else
+ NULL,
+ NULL,
+#endif
+#ifdef XSERVER_PLATFORM_BUS
+ qxl_platform_probe,
+#else
+ NULL,
#endif
#endif /* XSPICE */
};
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/qxl_drmmode.c new/xf86-video-qxl-0.1.2/src/qxl_drmmode.c
--- old/xf86-video-qxl-0.1.1/src/qxl_drmmode.c 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/qxl_drmmode.c 2014-07-07 16:32:58.000000000 +0200
@@ -47,6 +47,9 @@
#include "qxl.h"
#include "qxl_surface.h"
+
+static void drmmode_show_cursor (xf86CrtcPtr crtc);
+
static void
drmmode_ConvertFromKMode(ScrnInfoPtr scrn,
drmModeModeInfo *kmode,
@@ -248,6 +251,10 @@
crtc->active = TRUE;
#endif
+ CursorPtr cursor = xf86_config->cursor;
+ if (cursor)
+ drmmode_show_cursor(crtc);
+
return ret;
}
@@ -279,7 +286,7 @@
CursorPtr cursor = xf86_config->cursor;
int ret;
ret = drmModeSetCursor2(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id, handle, 64, 64, cursor->bits->xhot, cursor->bits->yhot);
- if (ret == -ENOSYS)
+ if (ret == -EINVAL)
use_set_cursor2 = FALSE;
else
return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/qxl_image.c new/xf86-video-qxl-0.1.2/src/qxl_image.c
--- old/xf86-video-qxl-0.1.1/src/qxl_image.c 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/qxl_image.c 2014-07-09 15:46:01.000000000 +0200
@@ -140,6 +140,7 @@
struct qxl_bo *image_bo;
int dest_stride = (width * Bpp + 3) & (~3);
int h;
+ int chunk_size;
data += y * stride + x * Bpp;
@@ -155,9 +156,25 @@
hash = 0;
h = height;
+
+ chunk_size = MAX (512 * 512, dest_stride);
+
+#ifdef XF86DRM_MODE
+ /* ensure we will not create too many pieces and overflow
+ * the command buffer (MAX_RELOCS). if so, increase the chunk_size.
+ * each loop creates at least 2 cmd buffer entries, and
+ * we have to leave room when we're done.
+ */
+ if (height / (chunk_size / dest_stride) > (MAX_RELOCS / 4)) {
+ chunk_size = height / (MAX_RELOCS/4) * dest_stride;
+#if 0
+ ErrorF ("adjusted chunk_size to %d\n", chunk_size);
+#endif
+ }
+#endif
+
while (h)
{
- int chunk_size = MAX (512 * 512, dest_stride);
int n_lines = MIN ((chunk_size / dest_stride), h);
struct qxl_bo *bo = qxl->bo_funcs->bo_alloc (qxl, sizeof (QXLDataChunk) + n_lines * dest_stride, "image data");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/qxl_kms.c new/xf86-video-qxl-0.1.2/src/qxl_kms.c
--- old/xf86-video-qxl-0.1.1/src/qxl_kms.c 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/qxl_kms.c 2014-07-23 10:11:07.000000000 +0200
@@ -46,6 +46,17 @@
drmSetVersion sv;
int err;
+#if defined(ODEV_ATTRIB_FD)
+ if (qxl->platform_dev) {
+ qxl->drm_fd = xf86_get_platform_device_int_attrib(qxl->platform_dev,
+ ODEV_ATTRIB_FD, -1);
+ if (qxl->drm_fd != -1) {
+ qxl->drmmode.fd = qxl->drm_fd;
+ return TRUE;
+ }
+ }
+#endif
+
#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,9,99,901,0)
XNFasprintf(&busid, "pci:%04x:%02x:%02x.%d",
dev->domain, dev->bus, dev->dev, dev->func);
@@ -218,11 +229,17 @@
qxl_screen_t *qxl = pScrn->driverPrivate;
int ret;
- ret = drmSetMaster(qxl->drm_fd);
- if (ret) {
- xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
- "drmSetMaster failed: %s\n",
- strerror(errno));
+#ifdef XF86_PDEV_SERVER_FD
+ if (!(qxl->platform_dev &&
+ (qxl->platform_dev->flags & XF86_PDEV_SERVER_FD)))
+#endif
+ {
+ ret = drmSetMaster(qxl->drm_fd);
+ if (ret) {
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "drmSetMaster failed: %s\n",
+ strerror(errno));
+ }
}
if (!xf86SetDesiredModes(pScrn))
@@ -241,6 +258,11 @@
xf86_hide_cursors (pScrn);
// pScrn->EnableDisableFBAccess (XF86_SCRN_ARG (pScrn), FALSE);
+#ifdef XF86_PDEV_SERVER_FD
+ if (qxl->platform_dev && (qxl->platform_dev->flags & XF86_PDEV_SERVER_FD))
+ return;
+#endif
+
ret = drmDropMaster(qxl->drm_fd);
if (ret) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/spiceqxl_audio.c new/xf86-video-qxl-0.1.2/src/spiceqxl_audio.c
--- old/xf86-video-qxl-0.1.1/src/spiceqxl_audio.c 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/spiceqxl_audio.c 2014-06-09 13:32:18.000000000 +0200
@@ -193,12 +193,17 @@
qxl_screen_t *qxl = p;
int i;
struct audio_data data;
+ int freq = SPICE_INTERFACE_PLAYBACK_FREQ;
for (i = 0; i < MAX_FIFOS; ++i)
data.fifo_fds[i] = -1;
data.valid_bytes = data.fed = 0;
- data.period_frames = SPICE_INTERFACE_PLAYBACK_FREQ * PERIOD_MS / 1000;
+#if SPICE_INTERFACE_PLAYBACK_MAJOR > 1 || SPICE_INTERFACE_PLAYBACK_MINOR >= 3
+ freq = spice_server_get_best_playback_rate(&qxl->playback_sin);
+#endif
+ data.period_frames = freq * PERIOD_MS / 1000;
+
data.frame_bytes = sizeof(int16_t) * SPICE_INTERFACE_PLAYBACK_CHAN;
@@ -330,11 +335,17 @@
if (ret < 0)
return errno;
+#if SPICE_INTERFACE_PLAYBACK_MAJOR > 1 || SPICE_INTERFACE_PLAYBACK_MINOR >= 3
+ spice_server_set_playback_rate(&qxl->playback_sin,
+ spice_server_get_best_playback_rate(&qxl->playback_sin));
+#else
/* disable CELT */
ret = spice_server_set_playback_compression(qxl->spice_server, 0);
if (ret < 0)
return errno;
+#endif
+
ret = pthread_create(&qxl->audio_thread, NULL, &audio_thread_main, qxl);
if (ret < 0)
return errno;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/spiceqxl_spice_server.c new/xf86-video-qxl-0.1.2/src/spiceqxl_spice_server.c
--- old/xf86-video-qxl-0.1.1/src/spiceqxl_spice_server.c 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/spiceqxl_spice_server.c 2013-10-21 10:57:15.000000000 +0200
@@ -254,9 +254,6 @@
exit(1);
#endif
}
- if (disable_ticketing) {
- spice_server_set_noauth(spice_server);
- }
#if SPICE_SERVER_VERSION >= 0x000801
/* we still don't actually support agent in xspice, but this
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/spiceqxl_uinput.c new/xf86-video-qxl-0.1.2/src/spiceqxl_uinput.c
--- old/xf86-video-qxl-0.1.1/src/spiceqxl_uinput.c 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/spiceqxl_uinput.c 2013-10-21 17:26:34.000000000 +0200
@@ -13,6 +13,7 @@
#include
#include "qxl_option_helpers.h"
+#include "spiceqxl_util.h"
#include "spiceqxl_inputs.h"
#include "spiceqxl_uinput.h"
@@ -113,6 +114,7 @@
uinput_filename, strerror(errno));
return;
}
+ spiceqxl_chown_agent_file(qxl, uinput_filename);
uinput_fd = open(uinput_filename, O_RDONLY | O_NONBLOCK, 0666);
if (uinput_fd == -1) {
fprintf(stderr, "spice: failed creating uinput file %s: %s\n",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/spiceqxl_util.c new/xf86-video-qxl-0.1.2/src/spiceqxl_util.c
--- old/xf86-video-qxl-0.1.1/src/spiceqxl_util.c 1970-01-01 01:00:00.000000000 +0100
+++ new/xf86-video-qxl-0.1.2/src/spiceqxl_util.c 2013-10-27 10:50:02.000000000 +0100
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2013 Red Hat, Inc.
+ *
+ * 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.
+ */
+
+#include "config.h"
+
+#include
+#include
+#include
+
+#include "qxl_option_helpers.h"
+#include "spiceqxl_util.h"
+
+void spiceqxl_chown_agent_file(qxl_screen_t *qxl, const char *filename)
+{
+ int uid, gid;
+
+ uid = get_int_option(qxl->options, OPTION_SPICE_VDAGENT_UID, "XSPICE_VDAGENT_UID");
+ gid = get_int_option(qxl->options, OPTION_SPICE_VDAGENT_GID, "XSPICE_VDAGENT_GID");
+ if (uid && gid) {
+ if (chown(filename, uid, gid) != 0) {
+ fprintf(stderr, "spice: failed to chain ownership of '%s' to %d/%d: %s\n",
+ filename, uid, gid, strerror(errno));
+ }
+ }
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/spiceqxl_util.h new/xf86-video-qxl-0.1.2/src/spiceqxl_util.h
--- old/xf86-video-qxl-0.1.1/src/spiceqxl_util.h 1970-01-01 01:00:00.000000000 +0100
+++ new/xf86-video-qxl-0.1.2/src/spiceqxl_util.h 2013-10-27 10:50:05.000000000 +0100
@@ -0,0 +1,30 @@
+/*
+ * Copyright 2013 Red Hat, Inc.
+ *
+ * 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.
+ */
+
+#ifndef SPICEQXL_UTIL_H
+#define SPICEQXL_UTIL_H
+
+#include "qxl.h"
+
+void spiceqxl_chown_agent_file(qxl_screen_t *qxl, const char *filename);
+
+#endif
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/xf86-video-qxl-0.1.1/src/spiceqxl_vdagent.c new/xf86-video-qxl-0.1.2/src/spiceqxl_vdagent.c
--- old/xf86-video-qxl-0.1.1/src/spiceqxl_vdagent.c 2013-10-20 16:53:29.000000000 +0200
+++ new/xf86-video-qxl-0.1.2/src/spiceqxl_vdagent.c 2013-10-21 17:26:34.000000000 +0200
@@ -10,6 +10,7 @@
#include "qxl_option_helpers.h"
+#include "spiceqxl_util.h"
#include "spiceqxl_uinput.h"
#include "spiceqxl_vdagent.h"
@@ -156,6 +157,7 @@
vdagent_virtio_filename, strerror(errno));
return;
}
+ spiceqxl_chown_agent_file(qxl, vdagent_virtio_filename);
c = listen(virtio_fd, 1);
if (c != 0) {
fprintf(stderr, "error listening to unix domain socket: %s\n", strerror(errno));
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org