Intel 852/855GM and DRI

Lance Duivenbode lduivenbode at pienetworks.com
Thu Oct 11 00:37:55 PDT 2007


Hi all,

I've been trying to get Xorg 7.3 with the new Intel (2.1.1) driver to 
work with an industrial PC board that our company uses in conjunction 
with industrial LVDS panels to build our kiosk products.

The first problem I encountered was the LVDS flickering quite badly - an 
existing problem we had hoped would be fixed by the new drivers. After 
some investigation this was fixed by applying the patch listed with bug 
#11917 (use BIOS instead of probed mode if they don't match). I'm not 
sure if this is relevant to the problem I'm experiencing but I thought 
it was worth a mention just in case.

With this problem being fixed, I'm now trying to enable hardware 
acceleration to improve performance. Try as I might though, I cannot get 
DRI and therefore hardware acceleration to work. Running X with the 
"ModeDebug" directive I've traced the problem to be the following 
section of the log:

   (II) intel(0): I830CheckAvailableMemory: 440316 kB available
   (==) intel(0): VideoRam: 131072 KB
   (II) intel(0): Attempting memory allocation with tiled buffers and
              large DRI memory manager reservation:
   (WW) intel(0): xf86AllocateGARTMemory: allocation of 10 pages failed
       (Cannot allocate memory)
   (WW) intel(0): xf86AllocateGARTMemory: allocation of 4 pages failed
       (Cannot allocate memory)
   (WW) intel(0): Disabling HW cursor because the cursor memory
   allocation failed.

Which leads to the following message later in the log:

   (--) intel(0): DRI is disabled because it needs HW cursor, 2D accel
   and AGPGART.

Further investigation of the code has found that it appears to failing 
in the call to xf86AllocateGARTMemory in 
xserver/hw/xfree86/os-support/linux/lnx_agp.c on line 216:

       if (ioctl(gartFd, AGPIOC_ALLOCATE, &alloc) != 0) {
           xf86DrvMsg(screenNum, X_WARNING, "xf86AllocateGARTMemory: "
                  "allocation of %d pages failed\n\t(%s)\n", pages,
                  strerror(errno));
           return -1;
       }

After this, I have to admit I'm stumped. I've loaded the agpgart kernel 
module and have tried both the i810 and i830 DRM kernel modules. I've 
also built Xorg against the latest stable Mesa (7.0.1) and built the 
i915_dri.so module (since the i810 module is deprecated?). Nothing 
appears to work at this stage, and the only thing I can think of is that 
the kernel version is too old since we are currently using 2.4.26. We 
will be moving to a 2.6 series kernel soon, but I would prefer to have 
it as a separate project if possible.

Hopefully someone can shed some light on the problem! I've also attached 
a log file with ModeDebug enabled to assist.

Thanks in advance,
Lance
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Xorg-no-dri.log
Type: text/x-log
Size: 61088 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20071011/be09c881/attachment.bin>


More information about the xorg mailing list