Date: Wednesday, May 26, 2010 @ 17:10:17
  Author: jgc
Revision: 81155

Disable pageflipping, fixes rendering issues and crashes/hangs

Added:
  xf86-video-intel/trunk/intel-2.11-no-pageflipping.patch
Modified:
  xf86-video-intel/trunk/PKGBUILD

----------------------------------+
 PKGBUILD                         |    5 ++++-
 intel-2.11-no-pageflipping.patch |   33 +++++++++++++++++++++++++++++++++
 2 files changed, 37 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2010-05-26 20:33:35 UTC (rev 81154)
+++ PKGBUILD    2010-05-26 21:10:17 UTC (rev 81155)
@@ -3,7 +3,7 @@
 
 pkgname=xf86-video-intel
 pkgver=2.11.0
-pkgrel=1
+pkgrel=2
 pkgdesc="X.org Intel i810/i830/i915/945G/G965+ video drivers"
 arch=(i686 x86_64)
 url="http://xorg.freedesktop.org/";
@@ -14,12 +14,15 @@
 options=('!libtool')
 groups=('xorg-video-drivers')
 source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+        intel-2.11-no-pageflipping.patch
         LICENSE)
 md5sums=('91a8baa97c4c8c85d35291fea547dd15'
+         'dfc9f59fe048b412726c87fe3d45f4f5'
          'b924480931774dec14515e270db4924d')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  patch -Np1 -i "${srcdir}/intel-2.11-no-pageflipping.patch" || return 1
   ./configure --prefix=/usr --enable-dri || return 1
   make || return 1
   make DESTDIR="${pkgdir}" install || return 1

Added: intel-2.11-no-pageflipping.patch
===================================================================
--- intel-2.11-no-pageflipping.patch                            (rev 0)
+++ intel-2.11-no-pageflipping.patch    2010-05-26 21:10:17 UTC (rev 81155)
@@ -0,0 +1,33 @@
+diff -up xf86-video-intel-2.11.0/src/drmmode_display.c.no-flip 
xf86-video-intel-2.11.0/src/drmmode_display.c
+--- xf86-video-intel-2.11.0/src/drmmode_display.c.no-flip      2010-05-03 
15:30:19.000000000 -0400
++++ xf86-video-intel-2.11.0/src/drmmode_display.c      2010-05-03 
15:30:59.000000000 -0400
+@@ -1504,10 +1504,15 @@ Bool drmmode_pre_init(ScrnInfoPtr scrn, 
+       gp.value = &has_flipping;
+       (void)drmCommandWriteRead(intel->drmSubFD, DRM_I915_GETPARAM, &gp,
+                                 sizeof(gp));
++
++        xf86DrvMsg(scrn->scrnIndex, X_INFO,
++                   "Pageflipping %s in kernel, %s disabled in X\n",
++                   has_flipping ? "enabled" : "disabled",
++                   has_flipping ? "but" : "and");
+       if (has_flipping) {
+               xf86DrvMsg(scrn->scrnIndex, X_INFO,
+-                         "Kernel page flipping support detected, enabling\n");
+-              intel->use_pageflipping = TRUE;
++                         "Don't panic: https://bugzilla.redhat.com/588421\n";);
++              intel->use_pageflipping = FALSE;
+               drmmode->flip_count = 0;
+               drmmode->event_context.version = DRM_EVENT_CONTEXT_VERSION;
+               drmmode->event_context.vblank_handler = drmmode_vblank_handler;
+diff -up xf86-video-intel-2.11.0/src/i830_dri.c.no-flip 
xf86-video-intel-2.11.0/src/i830_dri.c
+--- xf86-video-intel-2.11.0/src/i830_dri.c.no-flip     2010-03-29 
14:23:02.000000000 -0400
++++ xf86-video-intel-2.11.0/src/i830_dri.c     2010-05-03 15:30:19.000000000 
-0400
+@@ -1013,7 +1013,7 @@ Bool I830DRI2ScreenInit(ScreenPtr screen
+ 
+       info.CopyRegion = I830DRI2CopyRegion;
+ #if DRI2INFOREC_VERSION >= 4
+-      if (intel->use_pageflipping) {
++      if (intel->use_pageflipping || 1) {
+           info.version = 4;
+           info.ScheduleSwap = I830DRI2ScheduleSwap;
+           info.GetMSC = I830DRI2GetMSC;

Reply via email to