Compiling XFree86 4.0.2 with DRI for Voodoo3

Compiling XFree86 4.0.2 with DRI for Voodoo3

Post by Jeff Bonggre » Tue, 09 Jan 2001 06:23:16

I've downloaded the source for XFree86 4.0.2 and I wish to build in DRI
support for my Voodoo3 card.  I've noticed an entry in the config files for
specifying the version and location of the glide include files.  I believe
this indicates that I need to build Glide seperately beforehand.

These are the config lines from xf86site.def concerning Glide.

 * To enable building the glide driver, you need to define
 * HasGlide2 to YES and set the Glide2IncDir variable.
 * HasGlide2 is per default NO.
#define HasGlide2 YES

 * Set the path to your Glide include files.
#define Glide2IncDir /usr/include/glide

 * The 3Dfx 3D DRI driver requires glide 3.
#define HasGlide3 YES

 * Set the path to your Glide 3 include files.
#define Glide3IncDir /usr/include/glide3

I got the Glide V3 source from the now defunct (the day
before it went down!) and tried to compile it.  Apparently their Makefiles
are not properly built to handle shared library dependencies properly and
fail during the compile.  The Glide source tree is so far sufficiently
large and confusing to prevent me from simply fixing the Makefiles myself.

It looks like the Glide shared library gets built but the test programs
that link to the library fail due to a dependency.  They do not
explicitly link with   Either the dependencies did not get
compiled into the properly or the test programs forgot to link

The command I used to build Glide was:
make V3_DRI

Is a seperate Glide package really necessary to build X 4.0.2 DRI support
for Voodoo3?

If so, has anyone else had these same problems when compiling Glide?



1. DRI & SuSE 7.2 & XFree86 4.1, how to compile the modules?


I installed a SuSE 7.2 (update from 7.0), then got the updated XFree86
4.1 from their homepage. After installation my Matrox G400 runs fine
with 2D applications. But I cannot compile the DRI modules. In their
README they state:


3) DRI (3D accelerated OpenGL support)

...(some lines omitted)

b) SuSE 7.2:
  # cp /boot/vmlinuz.config /usr/src/linux/.config
  # cp /boot/vmlinuz.version.h /usr/src/linux/include/linux/version.h
  # cd /usr/src/linux; make cloneconfig; make dep

Then you'll have to compile the DRM kernel modules. The sources can be
found in

* suse70/DRI (SuSE Linux 7.0 / glibc 2.1.3)
* suse71/DRI (SuSE Linux 7.1 / glibc 2.2)
* suse72/DRI (SuSE Linux 7.0 / glibc 2.2)

Install the sources with

# rpm -Uhv km_drm-*.i386.rpm

Compile and install the kernel modules with

# cd /usr/src/kernel-modules/drm
# make -f Makefile.module
# rm -f /lib/modules/`uname -r`/video/{gamma.o,i810.o,mga.o,r128.o,tdfx.o}
# install -m 644 -o root -g root gamma.o i810.o mga.o r128.o radeon.o tdfx.o /lib/modules/`uname -r`/kernel/drivers/char/drm
# depmod -a


This I have done. After the step

# make -f Makefile.module

I get the output

make -f Makefile.linux clean
make[1]: Entering directory `/usr/src/kernel-modules/drm'
rm -f *.o *.a *~ core
make[1]: Leaving directory `/usr/src/kernel-modules/drm'
cp /usr/src/linux/include/linux/module.h /usr/src/linux/include/linux/module.h.orig
grep -v modversions /usr/src/linux/include/linux/module.h.orig > /usr/src/linux/include/linux/module.h
make TREE=/usr/src/linux/include -f Makefile.linux
make[1]: Entering directory `/usr/src/kernel-modules/drm'
=== KERNEL HEADERS IN /usr/src/linux/include
=== kill_fasync has 3 parameters
=== Compiling for machine i686
=== WARNING 2.4.0 kernels before 2.4.0-test11 DO NOT WORK
cc -O2 -Wall -Wwrite-strings -Wpointer-arith -Wcast-align -Wstrict-prototypes -Wnested-externs -Wpointer-arith -D__KERNEL__ -DMODULE -fomit-frame-pointer -DCONFIG_AGP -DCONFIG_AGP_MODULE -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -DKILLFASYNCHASTHREEPARAMETERS -DEXPORT_SYMTAB -I/usr/src/linux/include -c gamma_drv.c -o gamma_drv.o
In file included from gamma_drv.c:72:
drm_vm.h: In function `gamma_vm_shm_nopage':
drm_vm.h:110: structure has no member named `virtual'
drm_vm.h:89: warning: `physical' might be used uninitialized in this function
make[1]: *** [gamma_drv.o] Error 1
make[1]: Leaving directory `/usr/src/kernel-modules/drm'
make: *** [all] Error 2

Can somebody help me?

Best regards


Ich sag' nicht viel, aber was ich sag' ist Quatsch! (Pippi Langstrumpf)

2. Adaptec AHA-3940 ultra wide on multi processor computer

3. Voodoo3 DRI/DRM kernel module problems

4. Caldera 2.3 kernel recompilation

5. DRI very slow with Voodoo3 3000

6. Setup for LAN with cable modem -- Please help!

7. DRI and Voodoo3 3000, direct rendering=yes

8. tcp wrappers problem

9. DRI voodoo3 vsync

10. Help needed with DRI and Voodoo3 2000

11. Voodoo3 + XFree 4.2 + DRI problem

12. Voodoo3 DRI in FreeBSD

13. 8.2 vs Voodoo3 DRI