-   Linux - Hardware (
-   -   XFree86 DRI : glxinfo -> Direct rendering : No (

Muzzy 05-01-2004 04:48 PM

XFree86 DRI : glxinfo -> Direct rendering : No
Hi all,

I have been working on getting accelerated 3D today for Gentoo, following the Gentoo guidelines at:

I have an Intel chipset 82845G/GL. There doesn't seem to be any mention of an AGP bridge in my lspci, which I don't understand - I thought all modern cards were AGP, but this is a laptop so I guess thats why? Any explanation? Does it matter? Anyway, as you can see from my lsmod the agpgart module is loaded (automatically). Do I even need this if it is not an AGP card?

When I run startx I get a few strange errors and warnings, but it starts up fine anyway. One of the messages is:


[drm] failed to load kernel module "i830"
Why does it mention i830? I specifically said "i810" in my XF86Config. Where did i830 come from?

I tried running glxinfo and it reports that dri is not working.


$ glxinfo | grep rendering
direct rendering: No

I have tried searching with google for the error messages, but have not really got anywhere, so does anybody have any idea at all what the problem might be? I'll have another go at it tomorrow, and I need a bit of inspiration.

Here follows some information about my system, I will post more info if requested. Thanks for your time reading this post, it was a long one!



# lspci

00:00.0 Host bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset Host Bridge (rev 03)
00:02.0 VGA compatible controller: Intel Corp. 82845G/GL [Brookdale-G] Chipset Integrated Graphics Device (rev 03)
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 02)
00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 02)
00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 02)
00:1d.7 USB Controller: Intel Corp. 82801DB USB EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 82)
00:1f.0 ISA bridge: Intel Corp. 82801DB ISA Bridge (LPC) (rev 02)
00:1f.1 IDE interface: Intel Corp. 82801DB ICH4 IDE (rev 02)
00:1f.3 SMBus: Intel Corp. 82801DB SMBus (rev 02)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio (rev 02)
00:1f.6 Modem: Intel Corp. 82801DB AC'97 Modem (rev 02)
01:0c.0 Ethernet controller: National Semiconductor Corporation DP83815 (MacPhyter) Ethernet Controller

# lsmod

Module                  Size  Used by    Not tainted
i810                  59648  0 (unused)
agpgart                19144  6 (autoclean)
sr_mod                14360  0 (autoclean) (unused)
scsi_mod              87780  1 (autoclean) [sr_mod]
usb-uhci              23600  0 (unused)
ehci-hcd              18668  0 (unused)
serial                48260  0 (unused)
usbcore                40996  0 [usb-uhci ehci-hcd]
supermount            78304  1 (autoclean)
i810_audio            24668  2
ac97_codec            13780  0 [i810_audio]
soundcore              3940  2 [i810_audio]
natsemi                16832  1
crc32                  2912  0 [natsemi]

# cat /var/log/XFree86.0.log


(II) Loading sub module "int10"
(II) LoadModule: "int10"
(II) Reloading /usr/X11R6/lib/modules/linux/libint10.a
(II) I810(0): initializing int10
(II) I810(0): Primary V_BIOS segment is: 0xc000
(II) I810(0): VESA BIOS detected
(II) I810(0): VESA VBE Version 3.0
(II) I810(0): VESA VBE Total Mem: 8000 kB
(II) I810(0): VESA VBE OEM: Intel(r)845G/845GL/845GE/845GV Graphics Chip Accelerated VGA BIOS
(II) I810(0): VESA VBE OEM Software Rev: 1.0
(II) I810(0): VESA VBE OEM Vendor: Intel Corporation
(II) I810(0): VESA VBE OEM Product: Intel(r)845G/845GL/845GE/845GV Graphics Controller
(II) I810(0): VESA VBE OEM Product Rev: Hardware Version 0.0
(II) I810(0): Before: SWF1 is 0x00001801
(II) I810(0): After: SWF1 is 0x00001808
(==) I810(0): Default visual is TrueColor
(II) I810(0): Allocated 128 kB for the ring buffer at 0x0
(II) I810(0): Allocating at least 512 scanlines for pixmap cache
(II) I810(0): Initial framebuffer allocation size: 5120 kByte
(II) I810(0): Allocated 4 kB for HW cursor at 0x7fff000
(II) I810(0): Allocated 4 kB for Overlay registers at 0x7ffe000 (0x187f5000).
(II) I810(0): Allocated 64 kB for the scratch buffer at 0x7fee000
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: open result is -1, (No such device)
drmOpenDevice: Open failed
[drm] failed to load kernel module "i830"
(II) I810(0): [drm] drmOpen 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): 0x830cc08: Memory at offset 0x00020000, size 8192 kBytes
(II) I810(0): 0x830cc28: Memory at offset 0x07fff000, size 4 kBytes
(II) I810(0): 0x830cc4c: Memory at offset 0x00000000, size 128 kBytes
(II) I810(0): 0x830cc7c: Memory at offset 0x07fee000, size 64 kBytes
(II) I810(0): 0x830cc9c: Memory at offset 0x07ffe000, size 4 kBytes
(==) I810(0): Write-combining range (0xd0000000,0x8000000)
(II) I810(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
(II) I810(0): xf86BindGARTMemory: bind key 3 at 0x007df000 (pgoffset 2015)
(II) I810(0): xf86BindGARTMemory: bind key 0 at 0x07fff000 (pgoffset 32767)
(II) I810(0): xf86BindGARTMemory: bind key 2 at 0x07fee000 (pgoffset 32750)
(II) I810(0): xf86BindGARTMemory: bind key 1 at 0x07ffe000 (pgoffset 32766)
(WW) I810(0): PGTBL_ER is 0x00000049
(II) I810(0): Before: SWF1 is 0x00001808
(II) I810(0): After: SWF1 is 0x00001808
(II) I810(0): Display plane A is enabled.
(II) I810(0): Display plane B is disabled.
(II) I810(0): PIPEACONF is 0x80000000
(II) I810(0): Mode bandwidth is 47 Mpixel/s
(II) I810(0): maxBandwidth is 1152 Mbyte/s, pipe bandwidths are 252 Mbyte/s, 0 Mbyte/s
(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
(WW) I810(0): Option "ForcePCIMode" is not used


ToniT 05-01-2004 06:20 PM

The other one is kernel(drm) module, other an XF86-driver. Try loading the kernel module by hand and see if it gets loaded.

Muzzy 05-01-2004 06:30 PM

What is the name of the kernel module I should load?

Muzzy 05-01-2004 06:55 PM

Ah it turns out it was quite simple to fix... I changed one line of my /etc/make.conf:


VIDEO_CARDS="i810 i830"

and remerged xfree-drm and that seemed to do the trick, plus I fiddled with my kernel a bit, but I'm not sure that it made any difference. Anyway now when I do lsmod, I get both i810 and i830, but the important thing is:


mark@tux mark $ glxinfo | grep rendering
direct rendering: Yes

and a much better frame rate form glxgears :)

Hopefully this post will help others that run into the same problem.

Muzzy 05-02-2004 05:06 AM

I'm still convinced i can get more out of my card... looking at other people's frame rates, my 400FPS doesn't look that great! It seems that the drivers for the 845G have some problems with the BIOS or something, according to this site:

I still get a number of warnings in my XFree86.log.0:

$ grep '(WW)' /var/log/XFree86.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(WW) Open APM failed (/dev/apm_bios) (No such file or directory)
(WW) I810(0): Extended BIOS function 0x5f11 not supported.
(WW) I810(0): PGTBL_ER is 0x00000049
(WW) I810(0): Extended BIOS function 0x5f61 not supported.
(WW) I810(0): Option "AGPMode" is not used
(WW) I810(0): Option "AGPFastWrite" is not used
(WW) I810(0): Option "EnablePageFlip" is not used

Seems that my optimisations are being ignored, APM isn't working and BIOS isn't working as it should, oh joy, so many problems! I guess I'll be spending most of today searching the Web, and I might even try the CVS version of DRI, since there appear to be some changes to the driver for my card which were not in the last release.

I'd love to hear from anyone that has had success with this card...


Muzzy 05-08-2004 03:32 PM

Upgraded to kernel 2.6.6-rc1 and now I'm getting 600FPS.
The saga continues... would still be interested to hear what others are getting for this card.

Choncey 05-20-2004 09:51 AM

I am also having a problem with my Dimension 2300
Here are the system specs

2.4 Ghz P4
1 GB pc 133 SDRAM
Linux Mandrake 9.1
Intel 845GL Graphics
Sound Blaster Live! 5.1 Surround

For some reason my version of linux comes with Kernel 2.6.x
My XFree86 version is 4.3.x as well.
Also, it finds the graphics card as a Intel 845GL card but still no direct rendering. I have tried the I810 that is supplied as well as I830 and still no luck. I am curious on how to get this machine running it so that I may play UT2k4 on it. LOL... I await some answers or questions.

I will post the needed information if asked for, on here when I get home today. That way I can be at the machine when posting here.

Also, I don't get hardly any errors except for the one about the DRI message. Which is typical. I can run most games including tux racer but the refresh rate is very very bad. Especially with no direct rendering.

Muzzy 05-20-2004 12:35 PM

I can help you get as far as I got...

What frame rate do you get with glxgears at the default size?

$ glxgears
Post the output of these commands:

$ glxinfo | grep rendering
$ grep '(WW)\|(EE)' /var/log/XFree86.0.log
$ /sbin/lsmod
$ /sbin/lspci

Choncey 05-20-2004 12:38 PM

Will do. I will be home at 5:00pm (GMT -7:00 Mountain Standard Time)

I will post those once I get home to sit down at the machine. Thanks Muzzy.. It is muchly appreciated.

Muzzy 05-20-2004 01:04 PM

I think the breakthrough for me was realising I had to use the i810 driver in XF86Config, but both the i810 and i830 drivers have to be installed.

Here are some extracts from my XF86Config. Check that something like this in your /etc/X11/XF86Config:


Section "Module"
    Load      "glx"
    Load      "dri"


Section "Device"
    Identifier  "* Generic VESA compatible"
    Driver      "i810"


Section "dri"
  Mode 0666

Choncey 05-20-2004 01:14 PM

So do you actually have to manually input it into the XF86config file?? If so, I believe I have done that once before. Then what do you think I should do.

Choncey 05-20-2004 01:16 PM

Also, with mandrake, I should also be able to set the graphics card using the xfdrake, I believe.

Muzzy 05-20-2004 03:37 PM

Editing it manually is fine. It is the way I would recommend because it simple, and it works on all distributions, so if you ever decide to switch distribution you don't have to relearn it.

The Mandrake tools might work. I don't know, because I've never tried them...

Choncey 05-20-2004 03:40 PM

sweet. I will post the info once I get home. Thanks Muzzy.

Choncey 05-20-2004 06:17 PM

This is the results of the commands


glxgears shows 200fps

$ glxinfo | grep rendering
Xlib:  extension "XFree86-DRI" missing on display ":0.0".
direct rendering: No

# grep '(WW)\|(EE)'
        (WW) warning, (EE) error, (NI) no
t implemented, (??) unknown.
(WW) Option "XkbCompat" requires an string
(WW) Option "XkbOptions" requires an strin
g value
(WW) I810(0): Bad V_BIOS checksum
(WW) I810(0): Extended BIOS function 0x5f1
1 not supported.
(WW) I810(0): Bad V_BIOS checksum
*(WW) (1600x1200,monitor1) mode clock 162M
Hz exceeds DDC maximum 110MHz
(WW) (1600x1200,monitor1) mode clock 175.5 MHz exceeds DDC maximum 110MHz
(WW) (1600x1200,monitor1) mode clock 189MH z exceeds DDC maximum 110MHz
(WW) (1600x1200,monitor1) mode clock 202.5 MHz exceeds DDC maximum 110MHz
(WW) (1600x1200,monitor1) mode clock 229.5 MHz exceeds DDC maximum 110MHz
(WW) (1280x1024,monitor1) mode clock 135MH z exceeds DDC maximum 110MHz
(WW) (1280x1024,monitor1) mode clock 157.5 MHz exceeds DDC maximum 110MHz
(WW) I810(0): Bad V_BIOS checksum
(WW) I810(0): Correcting plane A stride (1 280 -> 2048)
(WW) I810(0): Extended BIOS function 0x5f6 1 not supported.

# /sbin/lsmod
Module                  Size  Used by    Not tainted
nls_cp437              5148  2  (autoclean)
smbfs                  40144  2  (autoclean)
isofs                  27988  1  (autoclean)
zlib_inflate          21156  0  (autoclean) [isofs]
nls_iso8859-1          3516  3  (autoclean)
udf                    90464  0  (autoclean)
sg                    34636  0  (autoclean)
parport_pc            25096  1  (autoclean)
lp                      8096  0  (autoclean)
parport                34176  1  (autoclean) [parport_pc lp]
agpgart                40896  6  (autoclean)
i810_audio            26248  0
soundcore              6276  0  [i810_audio]
ac97_codec            12488  0  [i810_audio]
nfsd                  74256  0  (autoclean)
af_packet              14952  0  (autoclean)
8139too                17160  1  (autoclean)
mii                    3832  0  (autoclean) [8139too]
supermount            15296  3  (autoclean)
sr_mod                16920  0  (autoclean)
ide-scsi              11280  0  (autoclean)
ide-cd                33856  1  (autoclean)
cdrom                  31648  0  (autoclean) [sr_mod ide-cd]
floppy                55132  0  (autoclean)
hpusbscsi              8228  0
scsi_mod              103284  4  [sg sr_mod ide-scsi hpusbscsi]
ehci-hcd              18568  0  (unused)
usb-uhci              24652  0  (unused)
usbcore                72992  1  [hpusbscsi ehci-hcd usb-uhci]
rtc                    8060  0  (autoclean)
ext3                  59916  2
jbd                    38972  2  [ext3]

# /sbin/lspci
bash: /sbin/lspci: No such file or directory

All times are GMT -5. The time now is 08:32 AM.