xorg-server: Changes to 'ubuntu'
debian/changelog | 28 ++-
debian/patches/234-composite-borderclip.patch | 48 -----
debian/patches/235-composite-tracking.diff | 78 --------
debian/patches/235-composite-tracking.patch | 78 ++++++++
debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch | 88 ++++++++++
debian/patches/237-dix-set-the-device-transformation-matrix.patch | 42 ++++
debian/patches/series | 5
7 files changed, 229 insertions(+), 138 deletions(-)
New commits:
commit 7544ad5f070f6a347e89ad071b963b8fbdeae1ab
Author: Bryce Harrington <bryce@canonical.com>
Date: Fri Nov 16 14:01:28 2012 -0800
Add 237-dix-set-the-device-transformation-matrix.patch
diff --git a/debian/changelog b/debian/changelog
index bf7d458..11367e3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -7,16 +7,20 @@ xorg-server (2:1.13.0-0ubuntu7) raring; urgency=low
* Add 235-composite-tracking.patch to fix exa corruption.
(LP: #1010794)
+ [ Bryce Harrington ]
+ * Add 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch: Never use Intel
+ driver on Poulsbo/Oaktrail/Medfield. Thanks to Matthias Klumpp.
+ (LP: #1069031)
+ * Add 237-dix-set-the-device-transformation-matrix.patch: Fix pointer
+ jumping with absolute pointing device. Initializes device
+ transformation matrix to an identity matrix. Thanks to a7x.
+ (LP: #1041063)
+
[ Tim Lunn ]
* 500_pointer_barrier_thresholds.diff: Update to fix gaps above
barriers at edge of screen
(LP: #1073724)
- [ Matthias Klumpp ]
- * Add 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch: Never use Intel
- driver on Poulsbo/Oaktrail/Medfield
- (LP: #1069031)
-
-- Bryce Harrington <bryce@ubuntu.com> Fri, 16 Nov 2012 11:37:26 -0800
xorg-server (2:1.13.0-0ubuntu6) quantal; urgency=low
diff --git a/debian/patches/237-dix-set-the-device-transformation-matrix.patch b/debian/patches/237-dix-set-the-device-transformation-matrix.patch
new file mode 100644
index 0000000..92a9f57
--- /dev/null
+++ b/debian/patches/237-dix-set-the-device-transformation-matrix.patch
@@ -0,0 +1,42 @@
+From 3d1051aecbb1955084804133cacd12c7f696833a Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Thu, 20 Sep 2012 05:56:39 +1000
+Subject: [PATCH] dix: set the device transformation matrix
+
+The property handler is registered after setting the property, so
+dev->transform remains as all-zeros. That causes pixman_f_transform_invert()
+to fail (in transformAbsolute()) and invert remains as garbage. This
+may then cause a cursor jump to 0,0.
+
+Since the axes are not yet initialized here and we need to allow for drivers
+changing the matrix, we cannot use the property handler for matrix
+initialization, essentially duplicating the code.
+
+Triggered by the fix to (#49347) in 749a593e49adccdf1225be28a521412ec85333f4
+
+https://bugzilla.redhat.com/show_bug.cgi?id=852841
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Chase Douglas <chase.douglas@ubuntu.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+---
+ dix/devices.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/dix/devices.c b/dix/devices.c
+index 9cf04ed..66d4406 100644
+--- a/dix/devices.c
++++ b/dix/devices.c
+@@ -306,6 +306,9 @@ AddInputDevice(ClientPtr client, DeviceProc deviceProc, Bool autoStart)
+ /* unity matrix */
+ memset(transform, 0, sizeof(transform));
+ transform[0] = transform[4] = transform[8] = 1.0f;
++ dev->transform.m[0][0] = 1.0;
++ dev->transform.m[1][1] = 1.0;
++ dev->transform.m[2][2] = 1.0;
+
+ XIChangeDeviceProperty(dev, XIGetKnownProperty(XI_PROP_TRANSFORM),
+ XIGetKnownProperty(XATOM_FLOAT), 32,
+--
+1.7.11.3
+
diff --git a/debian/patches/series b/debian/patches/series
index 523f8bf..b2d86a6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -35,3 +35,4 @@
229_udev-fix.diff
230-fix-compat-output-selection.patch
231-scan-pci-after-probing-devices.patch
+237-dix-set-the-device-transformation-matrix.patch
commit fd444153524ced3bb41175c7c291d56eaad682e6
Author: Bryce Harrington <bryce@canonical.com>
Date: Fri Nov 16 11:44:33 2012 -0800
Drop patch 234 as per mlankhorst. (Still awaiting response from upstream.)
diff --git a/debian/changelog b/debian/changelog
index f2f6444..bf7d458 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -4,11 +4,6 @@ xorg-server (2:1.13.0-0ubuntu7) raring; urgency=low
* Add 233-xf86events-valgrind.patch to fix a xserver corruption
when acpid is stopped before Xorg is.
(LP: #1070481)
- * Add 234-composite-borderclip.patch to fix another valgrind
- that I found when investigating a bug.
- (LP: #1065113)
- - This might not be the cause, though. Patch is wrong, waiting
- for upstream response for right fix..
* Add 235-composite-tracking.patch to fix exa corruption.
(LP: #1010794)
diff --git a/debian/patches/234-composite-borderclip.patch b/debian/patches/234-composite-borderclip.patch
deleted file mode 100644
index 5d9b6c4..0000000
--- a/debian/patches/234-composite-borderclip.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-compRedirectWindow does not initialize borderClip(X,Y ) members on allocation,
-which could theoretically cause a crash because borderClip contains a pointer.
-Solve this by copying the data over from pWin.
-
-Noticed this when working on
-https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1065113
-
-Specific error valgrind error I was receiving is:
-
-==25858== Conditional jump or move depends on uninitialised value(s)
-==25858== at 0x1EBF32: compClipNotify (compwindow.c:304)
-==25858== by 0x2A2C23: miComputeClips (mivaltree.c:489)
-==25858== by 0x2A321C: miValidateTree (mivaltree.c:695)
-==25858== by 0x1896EE: MapWindow (window.c:2594)
-==25858== by 0x1EB15B: compCreateOverlayWindow (compoverlay.c:155)
-==25858== by 0x1E9ABA: ProcCompositeGetOverlayWindow (compext.c:304)
-==25858== by 0x15DA50: Dispatch (dispatch.c:428)
-==25858== by 0x14C569: main (main.c:295)
-==25858== Uninitialised value was created by a heap allocation
-==25858== at 0x4C2B3F8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
-==25858== by 0x1ED4A3: compRedirectWindow (compalloc.c:172)
-==25858== by 0x1EC142: compCreateWindow (compwindow.c:558)
-==25858== by 0x18C56C: CreateWindow (window.c:801)
-==25858== by 0x1EB0FF: compCreateOverlayWindow (compoverlay.c:145)
-==25858== by 0x1E9ABA: ProcCompositeGetOverlayWindow (compext.c:304)
-==25858== by 0x15DA50: Dispatch (dispatch.c:428)
-==25858== by 0x14C569: main (main.c:295)
-
-Signed-off-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
-
----
-I'm not 100% sure if this is the correct assignment, I'm just guessing from the functions.
-
-diff --git a/composite/compalloc.c b/composite/compalloc.c
-index cc69c68..b6c5785 100644
---- a/composite/compalloc.c
-+++ b/composite/compalloc.c
-@@ -195,6 +195,8 @@ compRedirectWindow(ClientPtr pClient, WindowPtr pWin, int update)
- cw->damaged = FALSE;
- cw->pOldPixmap = NullPixmap;
- dixSetPrivate(&pWin->devPrivates, CompWindowPrivateKey, cw);
-+ cw->borderClipX = pWin->drawable.x;
-+ cw->borderClipY = pWin->drawable.y;
- }
- ccw->next = cw->clients;
- cw->clients = ccw;
-
-
diff --git a/debian/patches/series b/debian/patches/series
index 3d7935e..523f8bf 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -24,7 +24,6 @@
227_null_ptr_midispcur.patch
232-xf86compatoutput-valgrind.patch
233-xf86events-valgrind.patch
-234-composite-borderclip.patch
235-composite-tracking.patch
236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
commit 688eb713a9a2163cb2bb763107fd0684e92655e1
Author: Bryce Harrington <bryce@canonical.com>
Date: Fri Nov 16 11:42:50 2012 -0800
Add 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
Also, rename 235 from .diff to .patch for consistency
diff --git a/debian/changelog b/debian/changelog
index e20b6f6..f2f6444 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,19 +1,28 @@
-xorg-server (2:1.13.0-0ubuntu7) UNRELEASED; urgency=low
+xorg-server (2:1.13.0-0ubuntu7) raring; urgency=low
[ Maarten Lankhorst ]
- * add 233-xf86events-valgrind.patch to fix a xserver corruption
- when acpid is stopped before Xorg is. (LP: #1070481)
- * add 234-composite-borderclip.patch to fix another valgrind
- that I found when investigating a bug. (LP: #1065113)
- - This might not the cause, though. Patch is wrong, waiting
+ * Add 233-xf86events-valgrind.patch to fix a xserver corruption
+ when acpid is stopped before Xorg is.
+ (LP: #1070481)
+ * Add 234-composite-borderclip.patch to fix another valgrind
+ that I found when investigating a bug.
+ (LP: #1065113)
+ - This might not be the cause, though. Patch is wrong, waiting
for upstream response for right fix..
- * add 235-composite-tracking.diff to fix exa corruption. (LP: #1010794)
+ * Add 235-composite-tracking.patch to fix exa corruption.
+ (LP: #1010794)
[ Tim Lunn ]
* 500_pointer_barrier_thresholds.diff: Update to fix gaps above
- barriers at edge of screen (LP: #1073724)
+ barriers at edge of screen
+ (LP: #1073724)
- -- Timo Aaltonen <tjaalton@ubuntu.com> Thu, 25 Oct 2012 15:43:26 +0300
+ [ Matthias Klumpp ]
+ * Add 236-use-fbdev-for-poulsbo-oaktrail-medfield.patch: Never use Intel
+ driver on Poulsbo/Oaktrail/Medfield
+ (LP: #1069031)
+
+ -- Bryce Harrington <bryce@ubuntu.com> Fri, 16 Nov 2012 11:37:26 -0800
xorg-server (2:1.13.0-0ubuntu6) quantal; urgency=low
diff --git a/debian/patches/235-composite-tracking.diff b/debian/patches/235-composite-tracking.diff
deleted file mode 100644
index 46e1294..0000000
--- a/debian/patches/235-composite-tracking.diff
+++ /dev/null
@@ -1,78 +0,0 @@
-From: Michel Dänzer <michel.daenzer@amd.com>
-
-In particular, make sure pExaScr->src/maskPix are cleared when the
-corresponding pictures aren't associated with drawables, i.e. solid or gradient
-pictures. Without this, we would in some cases associate the source/mask region
-with unrelated pixmaps from previous Composite fallbacks, resulting in random
-corruption.
-
-Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47266
-
-Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
----
- exa/exa_priv.h | 1 +
- exa/exa_unaccel.c | 16 ++++++++++++----
- 2 files changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/exa/exa_priv.h b/exa/exa_priv.h
-index cd6a40b..819feb0 100644
---- a/exa/exa_priv.h
-+++ b/exa/exa_priv.h
-@@ -201,6 +201,7 @@ typedef struct {
- RegionRec srcReg;
- RegionRec maskReg;
- PixmapPtr srcPix;
-+ PixmapPtr maskPix;
-
- } ExaScreenPrivRec, *ExaScreenPrivPtr;
-
-diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
-index 72e59ca..ec49ef0 100644
---- a/exa/exa_unaccel.c
-+++ b/exa/exa_unaccel.c
-@@ -451,6 +451,13 @@ ExaSrcValidate(DrawablePtr pDrawable,
- RegionPtr dst;
- int xoff, yoff;
-
-+ if (pExaScr->srcPix == pPix)
-+ dst = &pExaScr->srcReg;
-+ else if (pExaScr->maskPix == pPix)
-+ dst = &pExaScr->maskReg;
-+ else
-+ return;
-+
- exaGetDrawableDeltas(pDrawable, pPix, &xoff, &yoff);
-
- box.x1 = x + xoff;
-@@ -458,8 +465,6 @@ ExaSrcValidate(DrawablePtr pDrawable,
- box.x2 = box.x1 + width;
- box.y2 = box.y1 + height;
-
-- dst = (pExaScr->srcPix == pPix) ? &pExaScr->srcReg : &pExaScr->maskReg;
--
- RegionInit(®, &box, 1);
- RegionUnion(dst, dst, ®);
- RegionUninit(®);
-@@ -504,16 +509,19 @@ ExaPrepareCompositeReg(ScreenPtr pScreen,
- if (pSrc != pDst)
- RegionTranslate(pSrc->pCompositeClip,
- -pSrc->pDrawable->x, -pSrc->pDrawable->y);
-- }
-+ } else
-+ pExaScr->srcPix = NULL;
-
- if (pMask && pMask->pDrawable) {
- pMaskPix = exaGetDrawablePixmap(pMask->pDrawable);
- RegionNull(&pExaScr->maskReg);
- maskReg = &pExaScr->maskReg;
-+ pExaScr->maskPix = pMaskPix;
- if (pMask != pDst && pMask != pSrc)
- RegionTranslate(pMask->pCompositeClip,
- -pMask->pDrawable->x, -pMask->pDrawable->y);
-- }
-+ } else
-+ pExaScr->maskPix = NULL;
-
- RegionTranslate(pDst->pCompositeClip,
- -pDst->pDrawable->x, -pDst->pDrawable->y);
--- 1.7.10.4
diff --git a/debian/patches/235-composite-tracking.patch b/debian/patches/235-composite-tracking.patch
new file mode 100644
index 0000000..46e1294
--- /dev/null
+++ b/debian/patches/235-composite-tracking.patch
@@ -0,0 +1,78 @@
+From: Michel Dänzer <michel.daenzer@amd.com>
+
+In particular, make sure pExaScr->src/maskPix are cleared when the
+corresponding pictures aren't associated with drawables, i.e. solid or gradient
+pictures. Without this, we would in some cases associate the source/mask region
+with unrelated pixmaps from previous Composite fallbacks, resulting in random
+corruption.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=47266
+
+Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
+---
+ exa/exa_priv.h | 1 +
+ exa/exa_unaccel.c | 16 ++++++++++++----
+ 2 files changed, 13 insertions(+), 4 deletions(-)
+
+diff --git a/exa/exa_priv.h b/exa/exa_priv.h
+index cd6a40b..819feb0 100644
+--- a/exa/exa_priv.h
++++ b/exa/exa_priv.h
+@@ -201,6 +201,7 @@ typedef struct {
+ RegionRec srcReg;
+ RegionRec maskReg;
+ PixmapPtr srcPix;
++ PixmapPtr maskPix;
+
+ } ExaScreenPrivRec, *ExaScreenPrivPtr;
+
+diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c
+index 72e59ca..ec49ef0 100644
+--- a/exa/exa_unaccel.c
++++ b/exa/exa_unaccel.c
+@@ -451,6 +451,13 @@ ExaSrcValidate(DrawablePtr pDrawable,
+ RegionPtr dst;
+ int xoff, yoff;
+
++ if (pExaScr->srcPix == pPix)
++ dst = &pExaScr->srcReg;
++ else if (pExaScr->maskPix == pPix)
++ dst = &pExaScr->maskReg;
++ else
++ return;
++
+ exaGetDrawableDeltas(pDrawable, pPix, &xoff, &yoff);
+
+ box.x1 = x + xoff;
+@@ -458,8 +465,6 @@ ExaSrcValidate(DrawablePtr pDrawable,
+ box.x2 = box.x1 + width;
+ box.y2 = box.y1 + height;
+
+- dst = (pExaScr->srcPix == pPix) ? &pExaScr->srcReg : &pExaScr->maskReg;
+-
+ RegionInit(®, &box, 1);
+ RegionUnion(dst, dst, ®);
+ RegionUninit(®);
+@@ -504,16 +509,19 @@ ExaPrepareCompositeReg(ScreenPtr pScreen,
+ if (pSrc != pDst)
+ RegionTranslate(pSrc->pCompositeClip,
+ -pSrc->pDrawable->x, -pSrc->pDrawable->y);
+- }
++ } else
++ pExaScr->srcPix = NULL;
+
+ if (pMask && pMask->pDrawable) {
+ pMaskPix = exaGetDrawablePixmap(pMask->pDrawable);
+ RegionNull(&pExaScr->maskReg);
+ maskReg = &pExaScr->maskReg;
++ pExaScr->maskPix = pMaskPix;
+ if (pMask != pDst && pMask != pSrc)
+ RegionTranslate(pMask->pCompositeClip,
+ -pMask->pDrawable->x, -pMask->pDrawable->y);
+- }
++ } else
++ pExaScr->maskPix = NULL;
+
+ RegionTranslate(pDst->pCompositeClip,
+ -pDst->pDrawable->x, -pDst->pDrawable->y);
+-- 1.7.10.4
diff --git a/debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch b/debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
new file mode 100644
index 0000000..dbf210d
--- /dev/null
+++ b/debian/patches/236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
@@ -0,0 +1,88 @@
+From ec3ce5493ec00ca0a9304b705a58a40e364f88fb Mon Sep 17 00:00:00 2001
+From: Stefan Dirsch <sndirsch@suse.de>
+Date: Sun, 22 Jul 2012 12:29:51 +0200
+Subject: [PATCH 3/3] Do not use intel driver on Poulsbo, Oaktrail, Medfield, CDV.
+
+IDs stolen from Kernel psb driver.
+---
+ hw/xfree86/common/xf86pciBus.c | 64 +++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 56 insertions(+), 8 deletions(-)
+
+diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
+index a2c18eb..258988a 100644
+--- a/hw/xfree86/common/xf86pciBus.c
++++ b/hw/xfree86/common/xf86pciBus.c
+@@ -1147,14 +1147,62 @@ xf86VideoPtrToDriverList(struct pci_device *dev,
+ driverList[0] = "i128";
+ break;
+ case 0x8086:
+- if ((dev->device_id == 0x00d1) || (dev->device_id == 0x7800)) {
+- driverList[0] = "i740";
+- }
+- else if (dev->device_id == 0x8108) {
+- break; /* "hooray" for poulsbo */
+- }
+- else {
+- driverList[0] = "intel";
++ switch (dev->device_id)
++ {
++ /* Intel i740 */
++ case 0x00d1:
++ case 0x7800:
++ driverList[0] = "i740";
++ break;
++ /* GMA500/Poulsbo */
++ case 0x8108:
++ case 0x8109:
++ /* Try psb driver on Poulsbo - if available */
++ driverList[0] = "psb";
++ driverList[1] = "psb_drv";
++ break;
++ /* GMA600/Oaktrail */
++ case 0x4100:
++ case 0x4101:
++ case 0x4102:
++ case 0x4103:
++ case 0x4104:
++ case 0x4105:
++ case 0x4106:
++ case 0x4107:
++ /* Atom E620/Oaktrail */
++ case 0x4108:
++ /* Medfield */
++ case 0x0130:
++ case 0x0131:
++ case 0x0132:
++ case 0x0133:
++ case 0x0134:
++ case 0x0135:
++ case 0x0136:
++ case 0x0137:
++ /* GMA 3600/CDV */
++ case 0x0be0:
++ case 0x0be1:
++ case 0x0be2:
++ case 0x0be3:
++ case 0x0be4:
++ case 0x0be5:
++ case 0x0be6:
++ case 0x0be7:
++ case 0x0be8:
++ case 0x0be9:
++ case 0x0bea:
++ case 0x0beb:
++ case 0x0bec:
++ case 0x0bed:
++ case 0x0bee:
++ case 0x0bef:
++ /* Use fbdev/vesa driver on Oaktrail, Medfield, CDV */
++ break;
++ default:
++ driverList[0] = "intel";
++ break;
+ }
+ break;
+ case 0x102b:
+--
+1.7.3.4
+
diff --git a/debian/patches/series b/debian/patches/series
index 9753288..3d7935e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -25,7 +25,8 @@
232-xf86compatoutput-valgrind.patch
233-xf86events-valgrind.patch
234-composite-borderclip.patch
-235-composite-tracking.diff
+235-composite-tracking.patch
+236-use-fbdev-for-poulsbo-oaktrail-medfield.patch
## waiting for review by upstream
111_armel-drv-fallbacks.patch
Reply to: