xorg X11 using i81x drivers is very slow now! It does come up though!

Jim Cornette fct-cornette at sbcglobal.net
Tue Aug 31 00:26:15 UTC 2004


Alan Cox wrote:
> On Mon, Aug 30, 2004 at 07:46:59AM -0400, Jim Cornette wrote:
> 
>>If I load the binary i810 driver from the latest xorg-x11 binary rpm, 
>>even with the i686 compiled rpms installed, it slows down *tremendously*
> 
> 
> Do you see vast numbers of interrupts of some form ?
> 
> 

It seems to be that the major fallout is with the screen not refreshing 
properly. If you go to the hat (or foot, with my theme), you only see 
the menu items if you hover the mouse over w/ the mouse button depressed.

There is a new patch submitted which is recorded from the first bug 
submitted by Mike. The patch is below. Why the i686 compilation worked 
and the binary rpm version on cvs did not is beyond me.

My interrupts seem to be pretty much ordinary. I hope the new patch 
works better. mtrr usually adds the last line to the file. With the 
rawhide version binary driver, the last line is never added (reg02)

cat /proc/mtrr
reg00: base=0x00000000 (   0MB), size= 512MB: write-back, count=1
reg01: base=0x1ff00000 ( 511MB), size=   1MB: uncachable, count=1
reg02: base=0xf8000000 (3968MB), size=  64MB: write-combining, count=1

I have a screenshot of the resulting screen attached to the bug report.

https://freedesktop.org/bugzilla/attachment.cgi?id=782&action=view

The patch is in the below bug report.

https://freedesktop.org/bugzilla/show_bug.cgi?id=1084

Jim


Index: i810_driver.c
===================================================================
RCS file: 
/cvs/xorg/xc/programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c,v
retrieving revision 1.8
diff -u -r1.8 i810_driver.c
--- i810_driver.c	30 Jul 2004 21:36:40 -0000	1.8
+++ i810_driver.c	23 Aug 2004 04:56:12 -0000
@@ -274,6 +274,7 @@
     "drmAgpRelease",
     "drmAgpUnbind",
     "drmAuthMagic",
+   "drmCommandNone",
     "drmCommandWrite",
     "drmCreateContext",
     "drmCtlInstHandler",
@@ -1123,6 +1124,14 @@
     xf86SetOperatingState(resVgaIo, pI810->pEnt->index, ResUnusedOpr);
     xf86SetOperatingState(resVgaMem, pI810->pEnt->index, ResDisableOpr);

+   pI810->LpRing = xalloc(sizeof(I810RingBuffer));
+   if (!pI810->LpRing) {
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+		"Could not allocate lpring data structure.\n");
+     I810FreeRec(pScrn);
+     return FALSE;
+   }
+
     return TRUE;
  }

@@ -2495,6 +2504,9 @@
      */
     xf86GARTCloseScreen(scrnIndex);

+   xfree(pI810->LpRing);
+   pI810->LpRing = NULL;
+
     pScrn->vtSema = FALSE;
     pScreen->CloseScreen = pI810->CloseScreen;
     return (*pScreen->CloseScreen) (scrnIndex, pScreen);

-- 
Another name for a Windows tutorial is "crash course".





More information about the test mailing list