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;