Cannot get a voodoo3 card to work with dri for opengl

Bug #35610 reported by McQuaid
8
Affects Status Importance Assigned to Milestone
xserver-xorg-video-tdfx (Ubuntu)
New
Medium
Unassigned

Bug Description

My gf4 card burnt out and I put this old voodoo3 card in. Works fine in 2d but can't get opengl working.

I upgraded to dapper yesterday in hopes that it might resolve this but it hasn't.

This is how I have xorg.conf setup:

Section "Module"
 Load "GLcore"
 Load "bitmap"
 Load "ddc"
 Load "dri"
 Load "extmod"
 Load "freetype"
 Load "glx"
 Load "int10"
 Load "type1"
 Load "vbe"
EndSection

Section "Device"
 Identifier "3Dfx Interactive, Inc. Voodoo 3"
 Driver "tdfx"
 BusID "PCI:2:12:0"
EndSection

I got the busID by running reconfigure on xserver-xorg as this is a PCI voodoo3 and not an agp card.

Also, I set up xorg.conf only for 16 bit colour as this is required for 3dfx cards to operate with hardware opengl.
I'm running a desktop resolution of 1024x768

Xorg log seems fine:
drmOpenByBusid: Searching for BusID pci:0000:02:0c.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: drmOpenMinor returns 7
drmOpenByBusid: drmGetBusid reports pci:0000:02:0c.0
(II) TDFX(0): [drm] DRM interface version 1.2
(II) TDFX(0): [drm] created "tdfx" driver at busid "pci:0000:02:0c.0"
(II) TDFX(0): [drm] added 8192 byte SAREA at 0xc8ba5000
(II) TDFX(0): [drm] mapped SAREA 0xc8ba5000 to 0xb38cd000
(II) TDFX(0): [drm] framebuffer handle = 0xfc000000
(II) TDFX(0): [drm] added 1 reserved context for kernel
(II) TDFX(0): [drm] Registers = 0xf4000000
(II) TDFX(0): visual configs initialized
(**) TDFX(0): DPMS enabled
(II) TDFX(0): X context handle = 0x1
(II) TDFX(0): [drm] installed DRM signal handler
(II) TDFX(0): [DRI] installation complete
(II) TDFX(0): Direct rendering enabled
(==) RandR enabled

Running glxinfo with export LIBGL_DEBUG=verbose i see this:

mcquaid@mcquaid:/usr/X11R6/lib/modules$ glxinfo
name of display: :0.0
libGL: XF86DRIGetClientDriverName: 1.1.1 tdfx (screen 0)
libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/tdfx_dri.so
libGL error: dlopen /usr/X11R6/lib/modules/dri/tdfx_dri.so failed (/usr/X11R6/lib/modules/dri/tdfx_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to find driver: tdfx_dri.so
display: :0 screen: 0
direct rendering: No

I found it strange that it's looking for a directory 'dri' under modules which doesn't exist. I found the dri directory /usr/lib/dri so I decided to make a symlink hoping it would resolve it. Glxinfo then gives this output

mcquaid@mcquaid:/usr/X11R6/lib/modules$ glxinfo
name of display: :0.0
libGL: XF86DRIGetClientDriverName: 1.1.1 tdfx (screen 0)
libGL: OpenDriver: trying /usr/X11R6/lib/modules/dri/tdfx_dri.so
libGL error: dlopen /usr/X11R6/lib/modules/dri/tdfx_dri.so failed (/usr/X11R6/lib/modules/dri/tdfx_dri.so: undefined symbol: _glapi_add_dispatch)
libGL error: unable to find driver: tdfx_dri.so
display: :0 screen: 0
direct rendering: No

From what I've read at this site http://72.14.203.104/search?q=cache:http%3A//dri.freedesktop.org/wiki/DriTroubleshooting
(google cache as it seems to be down):

If the driver complains about unresolved symbols:

libGL error: dlopen /usr/X11R6/lib/modules/dri/radeon_dri.so failed
   (/usr/X11R6/lib/modules/dri/radeon_dri.so: undefined symbol: _glapi_noop_enable_warnings)

then your libGL is out of sync with your DRI drivers. Because APIs change, you typically need a libGL from the latest X.Org release to run DRI drivers, and sometimes you need a libGL from X.Org CVS for the latest drivers. Reinstall both your drivers and your libGL from sources from the same date.

*************

Here's the modules loaded:
Module Size Used by
tdfx 3840 1
drm 72852 2 tdfx
agpgart 34888 2 drm,intel_agp

I'm not sure if having the agpgart loaded could be an issue with a PCI video card, but from what I've read it's required for dri to function properly.

I've done a lot of searching and this is as far as I've gotten so any suggestions in resolving this issue would be great.

Revision history for this message
Javier Jardón (jjardon) wrote :

You need install libglide3 (in universe). See Bug:#44115

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.