Package: xserver-xorg-video-qxl Version: 0.0.16-1 Hi,
using certain window managers over spice, we found corrupted drawables https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-qxl/+bug/913314 and xorg segfaults https://bugs.launchpad.net/ubuntu/+source/xserver-xorg-video-qxl/+bug/913311 Cherrypicking upstream commit id c77ba9f217093f946a4c6bf6edf9f34b24844d8d fixes both. The following patch does that, as well as adding a -dbg package (which helped track down the needed patch). (it also updates the maintainer which you obviously do not want for the debian package, sorry about that.) thanks, -serge ============================= Debdiff: ================================= diff -Nru xserver-xorg-video-qxl-0.0.16/debian/changelog xserver-xorg-video-qxl-0.0.16/debian/changelog --- xserver-xorg-video-qxl-0.0.16/debian/changelog 2011-11-12 00:16:28.000000000 +0100 +++ xserver-xorg-video-qxl-0.0.16/debian/changelog 2012-01-10 11:34:59.000000000 +0100 @@ -1,3 +1,15 @@ +xserver-xorg-video-qxl (0.0.16-1ubuntu2) precise; urgency=low + + * add translate-the-access-region.patch. + + -- Serge Hallyn <serge.hal...@ubuntu.com> Tue, 10 Jan 2012 11:34:13 +0100 + +xserver-xorg-video-qxl (0.0.16-1ubuntu1) precise; urgency=low + + * Add a debug package. + + -- Serge Hallyn <serge.hal...@ubuntu.com> Tue, 10 Jan 2012 11:28:58 +0100 + xserver-xorg-video-qxl (0.0.16-1) unstable; urgency=low [ Liang Guo ] diff -Nru xserver-xorg-video-qxl-0.0.16/debian/control xserver-xorg-video-qxl-0.0.16/debian/control --- xserver-xorg-video-qxl-0.0.16/debian/control 2011-09-17 15:45:28.000000000 +0200 +++ xserver-xorg-video-qxl-0.0.16/debian/control 2012-01-10 11:29:21.000000000 +0100 @@ -1,7 +1,8 @@ Source: xserver-xorg-video-qxl Section: x11 Priority: optional -Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Maintainer: Ubuntu Developers <ubuntu-devel-disc...@lists.ubuntu.com> +XSBC-Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> Uploaders: Liang Guo <bluestonech...@gmail.com>, Cyril Brulebois <k...@debian.org> Build-Depends: debhelper (>= 8), @@ -39,3 +40,17 @@ <URL:http://www.X.org> . 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 +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: + <URL:http://www.X.org> + . + This package contains the debugging symbols diff -Nru xserver-xorg-video-qxl-0.0.16/debian/patches/series xserver-xorg-video-qxl-0.0.16/debian/patches/series --- xserver-xorg-video-qxl-0.0.16/debian/patches/series 1970-01-01 01:00:00.000000000 +0100 +++ xserver-xorg-video-qxl-0.0.16/debian/patches/series 2012-01-10 11:34:09.000000000 +0100 @@ -0,0 +1 @@ +translate-the-access-region.patch diff -Nru xserver-xorg-video-qxl-0.0.16/debian/patches/translate-the-access-region.patch xserver-xorg-video-qxl-0.0.16/debian/patches/translate-the-access-region.patch --- xserver-xorg-video-qxl-0.0.16/debian/patches/translate-the-access-region.patch 1970-01-01 01:00:00.000000000 +0100 +++ xserver-xorg-video-qxl-0.0.16/debian/patches/translate-the-access-region.patch 2012-01-10 11:34:00.000000000 +0100 @@ -0,0 +1,48 @@ +commit c77ba9f217093f946a4c6bf6edf9f34b24844d8d +Author: Søren Sandmann <s...@redhat.com> +Date: Fri Oct 28 12:56:30 2011 -0400 + + Translate the access region according to the drawable offset. + + The driver code expects to be given coordinates relative to the + offscreen pixmap. + +diff --git a/src/uxa/uxa.c b/src/uxa/uxa.c +index 83e06cc..9d02e34 100644 +--- a/src/uxa/uxa.c ++++ b/src/uxa/uxa.c +@@ -143,19 +143,19 @@ Bool uxa_prepare_access(DrawablePtr pDrawable, RegionPtr region, uxa_access_t ac + { + ScreenPtr pScreen = pDrawable->pScreen; + uxa_screen_t *uxa_screen = uxa_get_screen(pScreen); +- PixmapPtr pPixmap = uxa_get_drawable_pixmap(pDrawable); +- Bool offscreen = uxa_pixmap_is_offscreen(pPixmap); ++ int xoff, yoff; ++ PixmapPtr pPixmap = uxa_get_offscreen_pixmap(pDrawable, &xoff, &yoff); + BoxRec box; + RegionRec region_rec; + Bool result; + +- if (!offscreen) ++ if (!pPixmap) + return TRUE; + + box.x1 = 0; + box.y1 = 0; +- box.x2 = pPixmap->drawable.width; +- box.y2 = pPixmap->drawable.height; ++ box.x2 = pDrawable->width; ++ box.y2 = pDrawable->height; + + REGION_INIT (pScreen, ®ion_rec, &box, 1); + if (!region) +@@ -168,7 +168,8 @@ Bool uxa_prepare_access(DrawablePtr pDrawable, RegionPtr region, uxa_access_t ac + */ + REGION_INTERSECT (pScreen, region, region, ®ion_rec); + #endif +- ++ REGION_TRANSLATE (pScreen, region, xoff, yoff); ++ + result = TRUE; + + if (uxa_screen->info->prepare_access) diff -Nru xserver-xorg-video-qxl-0.0.16/debian/rules xserver-xorg-video-qxl-0.0.16/debian/rules --- xserver-xorg-video-qxl-0.0.16/debian/rules 2011-09-17 15:45:28.000000000 +0200 +++ xserver-xorg-video-qxl-0.0.16/debian/rules 2012-01-10 11:10:15.000000000 +0100 @@ -1,5 +1,9 @@ #!/usr/bin/make -f +.PHONY: override_dh_strip +override_dh_strip: + dh_strip --dbg-package=xserver-xorg-video-qxl-dbg + # Install in debian/tmp to retain control through dh_install: override_dh_auto_install: dh_auto_install --destdir=debian/tmp -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20120110104847.GA15552@peqn