From 30216a6d71f67228f98e4b385b65ef206c62725a Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Sep 29 2016 11:04:23 +0000 Subject: Update to latest git master for use with xserver-1.19 - Rebuild against xserver-1.19 - Really build xspice on ARMv7/aarch64 --- diff --git a/0001-Adjust-xspice_wakeup_handler-prototype-for-building-.patch b/0001-Adjust-xspice_wakeup_handler-prototype-for-building-.patch new file mode 100644 index 0000000..f257dda --- /dev/null +++ b/0001-Adjust-xspice_wakeup_handler-prototype-for-building-.patch @@ -0,0 +1,30 @@ +From 2ef87fe8787932ff67031687f5341fc11af83649 Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Thu, 29 Sep 2016 13:00:59 +0200 +Subject: [PATCH xf86-video-qxl] Adjust xspice_wakeup_handler() prototype for + building xspice with server 1.19 + +Signed-off-by: Hans de Goede +--- + src/spiceqxl_main_loop.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/spiceqxl_main_loop.c b/src/spiceqxl_main_loop.c +index db89b6d..0ac1f3e 100644 +--- a/src/spiceqxl_main_loop.c ++++ b/src/spiceqxl_main_loop.c +@@ -330,7 +330,11 @@ static int no_write_watches(Ring *w) + return 1; + } + ++#if ABI_VIDEODRV_VERSION >= SET_ABI_VERSION(23, 0) ++static void xspice_wakeup_handler(void *data, int nfds) ++#else + static void xspice_wakeup_handler(pointer data, int nfds, pointer readmask) ++#endif + { + if (!nfds && no_write_watches(&watches)) { + return; +-- +2.9.3 + diff --git a/0006-Use-for-system-includes.patch b/0006-Use-for-system-includes.patch deleted file mode 100644 index 81e7d38..0000000 --- a/0006-Use-for-system-includes.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 83e00bb5f9b74c0d7059c189d747ec3c24c7798a Mon Sep 17 00:00:00 2001 -From: Christophe Fergeau -Date: Tue, 4 Aug 2015 17:36:12 +0200 -Subject: [qxl] Use <> for system-includes - -These headers come from /usr/include/xorg/ so it's clearer if they are -included using <>. While at it, I've reordered them alphabetically. ---- - src/uxa/uxa-damage.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -diff --git a/src/uxa/uxa-damage.c b/src/uxa/uxa-damage.c -index 3e4c075..6201712 100644 ---- a/src/uxa/uxa-damage.c -+++ b/src/uxa/uxa-damage.c -@@ -27,12 +27,13 @@ - #include - #include "uxa-priv.h" - -+#include -+#include -+#include -+#include -+#include - #include --#include "scrnintstr.h" --#include "windowstr.h" --#include "dixfontstr.h" --#include "gcstruct.h" --#include "picturestr.h" -+ - #include "uxa-damage.h" - - typedef struct _damageGCPriv { diff --git a/0007-Fix-compilation-with-newer-Xorg-versions.patch b/0007-Fix-compilation-with-newer-Xorg-versions.patch deleted file mode 100644 index 60fff67..0000000 --- a/0007-Fix-compilation-with-newer-Xorg-versions.patch +++ /dev/null @@ -1,47 +0,0 @@ -From a184774ad161031cceed264d62d48ebd019ac800 Mon Sep 17 00:00:00 2001 -From: Christophe Fergeau -Date: Mon, 3 Aug 2015 20:12:05 +0200 -Subject: [qxl] Fix compilation with newer Xorg versions - -Xorg 1.18 stopped exporting some xfont related symbols in its -headers/shared libraries, which causes QXL to fail to build: - -uxa-damage.c:947:5: error: implicit declaration of function 'QueryGlyphExtents' [-Werror=implicit-function-declaration] - QueryGlyphExtents(font, charinfo, n, &extents); - -The missing definition can be found in xfont, so this commit addes the -needed configure.ac checks and includes. -Note that dixfontstr.h must be included before the xfont headers or this -will cause compile-time warnings on older Xorg versions (eg 1.17) ---- - configure.ac | 2 +- - src/uxa/uxa-damage.c | 3 +++ - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 6555a8d..7e95b01 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -61,7 +61,7 @@ XORG_DRIVER_CHECK_EXT(XV, videoproto) - XORG_DRIVER_CHECK_EXT(XFreeXDGA, xf86dgaproto) - - # Obtain compiler/linker options for the driver dependencies --PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto $REQUIRED_MODULES) -+PKG_CHECK_MODULES(XORG, [xorg-server >= 1.0.99.901] xproto fontsproto xfont $REQUIRED_MODULES) - - - save_CFLAGS="$CFLAGS" -diff --git a/src/uxa/uxa-damage.c b/src/uxa/uxa-damage.c -index 6201712..a6d1ee3 100644 ---- a/src/uxa/uxa-damage.c -+++ b/src/uxa/uxa-damage.c -@@ -33,6 +33,9 @@ - #include - #include - #include -+#include -+#include -+#include - - #include "uxa-damage.h" - diff --git a/qxl-aarch64.patch b/qxl-aarch64.patch deleted file mode 100644 index a200d78..0000000 --- a/qxl-aarch64.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 413bfd50e675a9904a2578b9e8dddf027f761abe Mon Sep 17 00:00:00 2001 -From: Adam Jackson -Date: Thu, 30 Apr 2015 14:32:16 +0200 -Subject: [PATCH] Use pci_io_write8 instead of outb - -This ensures better portability as some arches (eg aarch64) don't have -outb. -On linux pci_io_* try to open the sysfs map file corresponding to the -I/O port range, which the kernel translates arch-appropriately. If -there is no such file then it'll try to use port instructions if that's -a thing the architecture has. So you only need one path, pciaccess -exists to get the portability right for you. - -https://bugzilla.redhat.com/show_bug.cgi?id=1201877 ---- - src/qxl.h | 3 ++- - src/qxl_driver.c | 5 +++++ - 2 files changed, 7 insertions(+), 1 deletion(-) - -diff --git a/src/qxl.h b/src/qxl.h -index 95d6682..e05e982 100644 ---- a/src/qxl.h -+++ b/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, uint32_t io_port, uint32_t val); - #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 - -diff --git a/src/qxl_driver.c b/src/qxl_driver.c -index 2cacb61..f00f144 100644 ---- a/src/qxl_driver.c -+++ b/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/sources b/sources index dcd13b6..a673202 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -41e234f38fe8045eef7ade83c34f6dd4 xf86-video-qxl-0.1.4.tar.bz2 +d09c3f8b2191b0f3b7e630eceeb148a9 xf86-video-qxl-20160929.tar.bz2 diff --git a/xorg-x11-drv-qxl.spec b/xorg-x11-drv-qxl.spec index aaee618..8002956 100644 --- a/xorg-x11-drv-qxl.spec +++ b/xorg-x11-drv-qxl.spec @@ -4,15 +4,15 @@ %undefine _hardened_build -# Xspice is x86_64 only since spice-server is x86_64 only -%ifarch x86_64 +# Xspice is x86_64 and ARM only since spice-server is x86_64 / ARM only +%ifarch x86_64 %{arm} aarch64 %define with_xspice (0%{?fedora} || 0%{?rhel} > 6) %else %define with_xspice 0 %endif -#% global gitdate 20130703 -%global gitversion 8b03ec16 +%global gitdate 20160929 +%global gitversion e13d28ee %if 0%{?gitdate} @@ -24,21 +24,15 @@ Name: xorg-x11-drv-qxl Version: 0.1.4 -Release: 8%{?gver}%{?dist} +Release: 9%{?gver}%{?dist} URL: http://www.x.org -Source0: http://xorg.freedesktop.org/releases/individual/driver/%{tarball}-%{version}.tar.bz2 - -#Source0: %{tarball}-%{gitdate}.tar.bz2 +#Source0: http://xorg.freedesktop.org/releases/individual/driver/%{tarball}-%{version}.tar.bz2 +Source0: %{tarball}-%{gitdate}.tar.bz2 Patch1: qxl-kms-disable-composite.patch Patch3: no-surfaces-kms.patch Patch4: 0001-worst-hack-of-all-time-to-qxl-driver.patch -Patch5: qxl-aarch64.patch - -# Upstream commits -Patch6: 0006-Use-for-system-includes.patch -Patch7: 0007-Fix-compilation-with-newer-Xorg-versions.patch - +Patch5: 0001-Adjust-xspice_wakeup_handler-prototype-for-building-.patch License: MIT Group: User Interface/X Hardware Support @@ -83,11 +77,9 @@ XSpice is both an X and a Spice server. %patch3 -p1 %patch4 -p1 %patch5 -p1 -%patch6 -p1 -%patch7 -p1 %build -#autoreconf -f -i +autoreconf -ivf %if %{with_xspice} %define enable_xspice --enable-xspice %endif @@ -130,6 +122,11 @@ rm -f $RPM_BUILD_ROOT%{_sysconfdir}/X11/spiceqxl.xorg.conf %changelog +* Thu Sep 29 2016 Hans de Goede - 0.1.4-9.20160929gite13d28ee +- Update to latest git master for use with xserver-1.19 +- Rebuild against xserver-1.19 +- Really build xspice on ARMv7/aarch64 + * Mon Jul 11 2016 Peter Robinson 0.1.4-8 - Spice server is on ARMv7/aarch64