LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (https://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   XFree86 DRI : glxinfo -> Direct rendering : No (https://www.linuxquestions.org/questions/linux-hardware-18/xfree86-dri-glxinfo-direct-rendering-no-176760/)

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:

http://www.gentoo.org/doc/en/dri-howto.xml

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:

Code:

[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.

Code:

$ 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!

Mark.

Code:

# 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

<SNIP>........

(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

.......<SNIP>


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:

Code:

#VIDEO_CARDS="i810"
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:

Code:

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:

http://www.xfree86.org/~dawes/845driver.html

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...

Mark.

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?
Code:

$ glxgears
Post the output of these commands:
Code:

$ 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:

Code:

Section "Module"
    ....
    Load      "glx"
    Load      "dri"
EndSection

....

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

....

Section "dri"
  Mode 0666
EndSection


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


Code:

glxgears shows 200fps

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

# grep '(WW)\|(EE)'
/var/log/XFree86.0.log
        (WW) warning, (EE) error, (NI) no
t implemented, (??) unknown.
(WW) Option "XkbCompat" requires an string
 value
(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


Choncey 05-20-2004 08:18 PM

OK.. I fixed it all I had to due was add the load "DRI" and the module "DRI" Then change the graphics to I810.. Thanks Muzzy for giving me the pointers. They muchly appreciated..

Muzzy 05-21-2004 03:13 AM

Ah it seems that lspci it is installed to /usr/bin/lspci on Mandrake systems. Try that instead:
Code:

/usr/bin/lspci
If that doesn't work, try just 'lspci' as root. If that fails, then you need to download and install the pciutils package. That command gives useful info about your hardware, so it would be nice to see the output of it.

Anyway I can see that the modules i810 and i830 are not listed in lsmod, so try doing this an d see if you get any errors (you need to be root):
Code:

# modprobe i810
# modprobe i830

From your XFree86.0.log I can see that there are a few warnings but no errors. There are quite a lot of warnings related to I810, but no mention of I830. Some of the warnings are the same as the ones I get when it is working fine. But some of them I have not seen before, perhaps a Google search could explain it. Anyway try the modprobes first, and post the output of them, and also see if you can get lpsci installed.

Choncey 05-21-2004 11:22 AM

I will try that tonight. will post them when I get home. Thanks again Muzzy..

Choncey 05-21-2004 06:38 PM

Here are the 3 things you wanted.

Code:

$ lspci
00:00.0 Host bridge: Intel Corp. 82845G/GL [Brookdale-G] Chipset Host Bridge (rev 01)
00:02.0 VGA compatible controller: Intel Corp. 82845G/GL [Brookdale-G] Chipset Integrated Graphics Device (rev 01)
00:1d.0 USB Controller: Intel Corp. 82801DB USB (Hub #1) (rev 01)
00:1d.1 USB Controller: Intel Corp. 82801DB USB (Hub #2) (rev 01)
00:1d.2 USB Controller: Intel Corp. 82801DB USB (Hub #3) (rev 01)
00:1d.7 USB Controller: Intel Corp. 82801DB USB EHCI Controller (rev 01)
00:1e.0 PCI bridge: Intel Corp. 82801BA/CA/DB PCI Bridge (rev 81)
00:1f.0 ISA bridge: Intel Corp. 82801DB ISA Bridge (LPC) (rev 01)
00:1f.1 IDE interface: Intel Corp. 82801DB ICH4 IDE (rev 01)
00:1f.3 SMBus: Intel Corp. 82801DB SMBus (rev 01)
00:1f.5 Multimedia audio controller: Intel Corp. 82801DB AC'97 Audio (rev 01)
01:04.0 Modem: Broadcom Corporation BCM4212 v.90 56k modem (rev 02)
01:05.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

As far as these go, This is all I get, when putting in the commands.

Code:

# modprobe i810
# modprobe i830

Here is the latest LSMOD Code as well

Code:

$ lsmod
Module                  Size  Used by    Not tainted
i810                  61248  0 (unused)
nls_cp437              5148  3 (autoclean)
smbfs                  40144  3 (autoclean)
isofs                  27988  1 (autoclean)
zlib_inflate          21156  0 (autoclean) [isofs]
nls_iso8859-1          3516  4 (autoclean)
udf                    90464  0 (autoclean)
parport_pc            25096  1 (autoclean)
lp                      8096  0 (autoclean)
parport                34176  1 (autoclean) [parport_pc lp]
i830                  68096  18
agpgart                40896  12 (autoclean)
i810_audio            26248  0
soundcore              6276  0 [i810_audio]
ac97_codec            12488  0 [i810_audio]
nfsd                  74256  8 (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 (unused)
scsi_mod              103284  3 [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]


Muzzy 05-22-2004 09:19 AM

It looks fine! No errors during the modprobe... have you tried modprobing then restarting the X server? If that doesn't work then I'm stumped... perhaps there is more info in the XFree86.0.log file that would be interesting to see.

Choncey 05-24-2004 07:03 AM

Yeah, everything is working great other than the slowness to the actual FPS. When the direct rendering is on, it shows a framerate of about 200 - 400 frames verying on what I am doing. Otherthan that it is working great. Thanks for the help muzzy....


All times are GMT -5. The time now is 02:41 PM.