# DRI on i865GV. Is it a bug or what?

## zieloo

This is driving me crazy.

Good beginning, isn't it...?

Well - direct rendering is NOT working on my hardware. What's more it does not want to work...

```
glxinfo

name of display: :0.0

display: :0  screen: 0

direct rendering: No

[...]

```

I'm experiencing very weird problems with my onboard i865GV card.

Ok, what do I have:

the kernel:

```
/dev/agpgart (AGP Support)

             Intel i865 chipset support (AGP_INTEL_MCH)

             Intel 440LX/BX/GX, I8xx and E7x05 chipset support (AGP_INTEL)

Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) (DRM)

            Intel 830M, 845G, 852GM, 855GM, 865G (DRM_I830)

            Intel I810 (DRM_I810)
```

I have disabled Direct Rendering Manager for some reason before but even now dri failes to work.

xorg.conf:

```
# initialisation of the XFree86-DGA extension within that module.

    SubSection  "extmod"

#      Option    "omit xfree86-dga"   # don't initialise the DGA extension

    EndSubSection
```

Commented out. Why? Cuz xorg is hanging the computer otherwise...

```

    Load        "type1"

    Load        "speedo"

    Load        "freetype"

    Load        "xtt"

    Load        "dri"

    Load   "GLcore"

    Load   "glx"
```

```

Section "Extensions"

    Option "Composite" "Disable"

EndSection
```

To be sure it does not mess up sth.

```

Section "Device"

    Identifier   "Standard VGA"

    VendorName   "Unknown"

    BoardName   "Unknown"

Chipset   "i810"

Driver     "i810"

EndSection
```

```

Section "Device"

   Identifier  "video"

   Driver      "i810"

   VideoRam    32768

EndSection
```

Yes, using only 32Mb of shared memory.

```
Section "dri"

   Group        0

   Mode         0666

EndSection
```

glxgears do:

```
1351 frames in 5.0 seconds = 270.200 FPS

1440 frames in 5.0 seconds = 288.000 FPS

1440 frames in 5.0 seconds = 288.000 FPS

1560 frames in 5.0 seconds = 312.000 FPS
```

which is ok. 

Sorry for this lengthy post, but i wanted everything to be as clear as possible.

If there're some magicans around could you please look at this case and give some advice?Last edited by zieloo on Sun Apr 24, 2005 1:19 pm; edited 3 times in total

----------

## zieloo

Anyone?

----------

## Tuna

well.. what about checking /var/log/Xorg.0.log for errors?

and check dmesg after boot if the dri kernel module gets loaded for your card.

----------

## zieloo

 *Tuna wrote:*   

> well.. what about checking /var/log/Xorg.0.log for errors?
> 
> and check dmesg after boot if the dri kernel module gets loaded for your card.

 

Hm. I even wrote that down to post the log...

Here it's (part of):

```
(II) I810(0): [drm] DRM interface version 1.2

(II) I810(0): [drm] created "i915" driver at busid "pci:0000:00:02.0"

(II) I810(0): [drm] drmAddMap failed

(EE) I810(0): [dri] DRIScreenInit failed. Disabling DRI.

(II) I810(0): Updated framebuffer allocation size from 5120 to 8192 kByte

(II) I810(0): Updated pixmap cache from 512 scanlines to 1280 scanlines

(II) I810(0): 0x848b3a0: Memory at offset 0x00020000, size 8192 kBytes

(II) I810(0): 0x84e3d90: Memory at offset 0x07fff000, size 4 kBytes

(II) I810(0): 0x84e3db8: Memory at offset 0x07ffb000, size 16 kBytes

(II) I810(0): 0x8473b2c: Memory at offset 0x00000000, size 128 kBytes

(II) I810(0): 0x848b3e0: Memory at offset 0x07fea000, size 64 kBytes

(II) I810(0): 0x848b9d0: Memory at offset 0x07ffa000, size 4 kBytes

(WW) I810(0): Failed to set up write-combining range (0xf0000000,0x8000000)

(II) I810(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(II) I810(0): xf86BindGARTMemory: bind key 4 at 0x007df000 (pgoffset 2015)

(II) I810(0): xf86BindGARTMemory: bind key 0 at 0x07fff000 (pgoffset 32767)

(II) I810(0): xf86BindGARTMemory: bind key 1 at 0x07ffb000 (pgoffset 32763)

(II) I810(0): xf86BindGARTMemory: bind key 3 at 0x07fea000 (pgoffset 32746)

(II) I810(0): xf86BindGARTMemory: bind key 2 at 0x07ffa000 (pgoffset 32762)

(WW) I810(0): PGTBL_ER is 0x00000029

(WW) I810(0): PRB0_CTL (0x0001f001) indicates ring buffer enabled

(WW) I810(0): Extended BIOS function 0x5f05 not supported.

(II) I810(0): BIOS call 0x5f05 not supported, setting refresh with VBE 3 method.

(II) I810(0): Display plane A is enabled and connected to Pipe A.

(II) I810(0): Enabling plane A.

(II) I810(0): Display plane A is now enabled and connected to Pipe A.

(II) I810(0): PIPEACONF is 0x80000000

(II) I810(0): Mode bandwidth is 47 Mpixel/s

(WW) I810(0): Extended BIOS function 0x5f28 not supported.

(WW) I810(0): Extended BIOS function 0x5f61 not supported.

(II) I810(0): Using XFree86 Acceleration Architecture (XAA)

   Screen to screen bit blits

   Solid filled rectangles

   8x8 mono pattern filled rectangles

   Indirect CPU to Screen color expansion

   Solid Horizontal and Vertical Lines

   Offscreen Pixmaps

   Setting up tile and stipple cache:

      32 128x128 slots

      12 256x256 slots

(==) I810(0): Backing store disabled

(==) I810(0): Silken mouse enabled

(II) I810(0): Initializing HW Cursor

(II) I810(0): direct rendering: Failed
```

Edit: Didn't notice that before, but X tries to start 2 times. First time a grey sth appears around the mouse pointer, then x restart itself and starts again w/o dri...

----------

## Tuna

hm.. does /deV/dri/card0 exist? or are some notes about Opendrm on a specifig device? are they successfull? i could not find any mistakes in your confguration so far.

```
(II) I810(0): [drm] drmAddMap failed 
```

this sounds like a memory problem. maybe the device does not exist or cant be openend propperly. maybe if X is really started twice the device is in use from the first instance and thus the second may be rejected to access the card again. i have no other usefull hints right now..

----------

## zieloo

```
ls -l /dev/dri/card0

crw-rw-rw-  1 root root 226, 0 Apr 21 20:20 /dev/dri/card0
```

I wonder why the *(%(* I haven't noticed X reporting some errors and oopses in my logs.[/code]

edit (cause? X crash!):

This is tailed system log.

```
Apr 21 20:20:53 rakieta mtrr: base(0xf0020000) is not aligned on a size(0x300000) boundary

Apr 21 20:20:53 rakieta [drm:i830_dma_initialize] *ERROR* can not find dma buffer map!

Apr 21 20:20:53 rakieta [drm:i830_irq_emit] *ERROR* i830_irq_emit called without lock held

Apr 21 20:20:53 rakieta mtrr: 0xf0000000,0x8000000 overlaps existing 0xf0000000,0x400000

Apr 21 20:20:59 rakieta kdm[4088]: X server for display :0 terminated unexpectedly

Apr 21 20:20:59 rakieta mtrr: base(0xf0020000) is not aligned on a size(0x300000) boundary

Apr 21 20:20:59 rakieta [drm:i830_dma_initialize] *ERROR* can not find dma buffer map!

Apr 21 20:20:59 rakieta [drm:i830_irq_emit] *ERROR* i830_irq_emit called without lock held

Apr 21 20:20:59 rakieta mtrr: 0xf0000000,0x8000000 overlaps existing 0xf0000000,0x400000

Apr 21 20:21:04 rakieta Unable to handle kernel paging request at virtual address f000e2d3

Apr 21 20:21:04 rakieta printing eip:

Apr 21 20:21:04 rakieta c0212339

Apr 21 20:21:04 rakieta *pde = 00000000

Apr 21 20:21:04 rakieta Oops: 0000 [#1]

Apr 21 20:21:04 rakieta Modules linked in: w83627hf eeprom i2c_sensor i2c_isa i2c_i801 i2c_core

Apr 21 20:21:04 rakieta CPU:    0

Apr 21 20:21:04 rakieta EIP:    0060:[<c0212339>]    Not tainted

Apr 21 20:21:04 rakieta EFLAGS: 00013202   (2.6.7-ck5)

Apr 21 20:21:04 rakieta eax: f000e2c3   ebx: 00000000   ecx: 00000010   edx: dde5eeb0

Apr 21 20:21:04 rakieta esi: c0439740   edi: 00000000   ebp: df6eb080   esp: dd2afefc

Apr 21 20:21:04 rakieta ds: 007b   es: 007b   ss: 0068

Apr 21 20:21:04 rakieta Process X (pid: 4118, threadinfo=dd2ae000 task=dde5eeb0)

Apr 21 20:21:04 rakieta Stack: 00000000 c0213fbb c0439740 c0439740 dd2ae000 c020f3a3 c0439740 00000001

Apr 21 20:21:04 rakieta 0000000a 00000000 dde5eeb0 c010ea71 00000000 00000000 00000000 00000000

Apr 21 20:21:04 rakieta dd2aff50 00000000 dde5eeb0 c010ea71 00100100 00200200 00000c14 dd2ae000

Apr 21 20:21:04 rakieta Call Trace:

Apr 21 20:21:04 rakieta [<c0213fbb>]  [<c020f3a3>]  [<c010ea71>]  [<c010ea71>]  [<c01136b2>]  [<c020f158>]  [<c0146132>]  [<c010501d>]

Apr 21 20:21:04 rakieta Code: 8b 40 10 8b 90 34 20 00 00 81 e2 fc ff 1f 00 89 51 14 8b 43

Apr 21 20:21:05 rakieta kdm[4088]: X server for display :0 terminated unexpectedly

Apr 21 20:21:06 rakieta <4>mtrr: 0xf0000000,0x8000000 overlaps existing 0xf0000000,0x400000

Apr 21 20:25:59 rakieta kdm[4088]: X server for display :0 terminated unexpectedly
```

Thanks for the input so far. It's possible X crashed due to overclocking, isn't it?

----------

## Imago

if the kernel version from your signature is correct, try again with vanilla kernel.

 *Quote:*   

> 
> 
> Thanks for the input so far. It's possible X crashed due to overclocking, isn't it?
> 
> 

 

can be.

should be worth to try without overclocking.

CU

 Imago

----------

## zieloo

Oh, I sorry, that's not the correct version. That was 2.6.7-ck5 i use for my desktop. At normal CPU speed it's almost the same (no debug information in the log). But DRI is still missing. Pretty weird cuz I have an older i810-based computer and it's impossible to get xorg working on that machine, not matter how hard you try. 

Is it the chipset or the drivers that suck (sorry for the word, but it's really annoying).

----------

## zieloo

More logs:

```
drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 7, (OK)

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 7, (OK)

drmOpenByBusid: Searching for BusID pci:0000:00:02.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 7, (OK)

drmOpenByBusid: drmOpenMinor returns 7

drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0

(II) I810(0): [drm] DRM interface version 1.2

(II) I810(0): [drm] created "i915" driver at busid "pci:0000:00:02.0"

(II) I810(0): [drm] drmAddMap failed

(EE) I810(0): [dri] DRIScreenInit failed. Disabling DRI.

(II) I810(0): Updated framebuffer allocation size from 5120 to 8192 kByte

(II) I810(0): Updated pixmap cache from 512 scanlines to 1280 scanlines

(II) I810(0): 0x848b3a0: Memory at offset 0x00020000, size 8192 kBytes

(II) I810(0): 0x84e3d90: Memory at offset 0x07fff000, size 4 kBytes

(II) I810(0): 0x84e3db8: Memory at offset 0x07ffb000, size 16 kBytes

(II) I810(0): 0x8473b2c: Memory at offset 0x00000000, size 128 kBytes

(II) I810(0): 0x848b3e0: Memory at offset 0x07fea000, size 64 kBytes

(II) I810(0): 0x848b9d0: Memory at offset 0x07ffa000, size 4 kBytes

(WW) I810(0): Failed to set up write-combining range (0xf0000000,0x8000000)

(II) I810(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(II) I810(0): xf86BindGARTMemory: bind key 4 at 0x007df000 (pgoffset 2015)

(II) I810(0): xf86BindGARTMemory: bind key 0 at 0x07fff000 (pgoffset 32767)

(II) I810(0): xf86BindGARTMemory: bind key 1 at 0x07ffb000 (pgoffset 32763)

(II) I810(0): xf86BindGARTMemory: bind key 3 at 0x07fea000 (pgoffset 32746)

(II) I810(0): xf86BindGARTMemory: bind key 2 at 0x07ffa000 (pgoffset 32762)

(WW) I810(0): PGTBL_ER is 0x00000029

(WW) I810(0): PRB0_CTL (0x0001f001) indicates ring buffer enabled

(WW) I810(0): Extended BIOS function 0x5f05 not supported.

(II) I810(0): BIOS call 0x5f05 not supported, setting refresh with VBE 3 method.

(II) I810(0): Display plane A is enabled and connected to Pipe A.

(II) I810(0): Enabling plane A.

(II) I810(0): Display plane A is now enabled and connected to Pipe A.

(II) I810(0): PIPEACONF is 0x80000000

(II) I810(0): Mode bandwidth is 47 Mpixel/s

(WW) I810(0): Extended BIOS function 0x5f28 not supported.

(WW) I810(0): Extended BIOS function 0x5f61 not supported.

(II) I810(0): Using XFree86 Acceleration Architecture (XAA)

        Screen to screen bit blits

        Solid filled rectangles

        8x8 mono pattern filled rectangles

        Indirect CPU to Screen color expansion

        Solid Horizontal and Vertical Lines

        Offscreen Pixmaps

        Setting up tile and stipple cache:

                32 128x128 slots

                12 256x256 slots

(==) I810(0): Backing store disabled

(==) I810(0): Silken mouse enabled

(II) I810(0): Initializing HW Cursor

(II) I810(0): direct rendering: Failed

(==) RandR enabled
```

I emerged x11-drm, reconfigured my kernel (DRM and agp as modules) but still nothing.

I would go back to xfree if there's an ebuild left:)

----------

