~ubuntu-branches/ubuntu/intrepid/xserver-xgl/intrepid

« back to all changes in this revision

Viewing changes to hw/xfree86/doc/devel/README.DRIcomp

  • Committer: Bazaar Package Importer
  • Author(s): Matthew Garrett
  • Date: 2006-02-13 14:21:43 UTC
  • Revision ID: james.westby@ubuntu.com-20060213142143-mad6z9xzem7hzxz9
Tags: upstream-7.0.0
ImportĀ upstreamĀ versionĀ 7.0.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
                            DRI Compilation Guide
 
2
 
 
3
          VA Linux Systems, Inc. Professional Services - Graphics.
 
4
 
 
5
                                21 April 2001
 
6
 
 
7
1.  Preamble
 
8
 
 
9
1.1  Copyright
 
10
 
 
11
Copyright 2000-2001 by VA Linux Systems, Inc.  All Rights Reserved.
 
12
 
 
13
Permission is granted to make and distribute verbatim copies of this document
 
14
provided the copyright notice and this permission notice are preserved on all
 
15
copies.
 
16
 
 
17
1.2  Trademarks
 
18
 
 
19
OpenGL is a registered trademark and SGI is a trademark of Silicon Graphics,
 
20
Inc.  Unix is a registered trademark of The Open Group.  The `X' device and X
 
21
Window System are trademarks of The Open Group.  XFree86 is a trademark of
 
22
The XFree86 Project.  Linux is a registered trademark of Linus Torvalds.
 
23
Intel is a registered trademark of Intel Corporation.  3Dlabs, GLINT, and
 
24
Oxygen are either registered trademarks or trademarks of 3Dlabs Inc. Ltd.
 
25
3dfx, Voodoo3, Voodoo4, and Voodoo5 are registered trademarks of 3dfx Inter-
 
26
active, Incorporated.  Matrox is a registered trademark of Matrox Electronic
 
27
Systems Ltd.  ATI Rage and Radeon is a registered trademark of ATI Technolo-
 
28
gies, Inc.  All other trademarks mentioned are the property of their respec-
 
29
tive owners.
 
30
 
 
31
2.  Introduction
 
32
 
 
33
This document describes how to download, compile and install the DRI.  The
 
34
DRI provides 3D graphics hardware acceleration for the XFree86 project.  This
 
35
information is intended for experienced Linux developers.  Beginners are
 
36
probably better off installing precompiled packages.
 
37
 
 
38
Edits, corrections and updates to this document may be mailed to <brian@tung-
 
39
stengraphics.com>.
 
40
 
 
41
Last updated on 13 February 2002 by Brian Paul.
 
42
 
 
43
3.  Prerequisites
 
44
 
 
45
You'll need the following:
 
46
 
 
47
   o An installation of XFree86 4.1 or later.  The DRI tree has been pruned
 
48
     down to minimize its size.  But in order to build the DRI tree you need
 
49
     to have recent X header files, etc. already installed.  If you don't
 
50
     have XFree86 4.1 (or later) installed you can probably install it from
 
51
     RPMs (or another package format).  Or, you can download XFree86 as
 
52
     sources and compile/install it yourself.
 
53
 
 
54
   o At least 200MB of free disk space.  If you compile for debugging (the -g
 
55
     option) then you'll need about 600MB.
 
56
 
 
57
   o GCC compiler and related tools.
 
58
 
 
59
   o ssh (secure shell) if you're a DRI developer and don't want to use
 
60
     anonymous CVS download.
 
61
 
 
62
   o A 2.4.x Linux Kernel.  See below for details.
 
63
 
 
64
   o FreeBSD support is not currently being maintained and may not work.
 
65
 
 
66
The DRI 3D drivers generally work on systems with Intel or AMD CPUs.  How-
 
67
ever, limited support for Alpha and PowerPC support is underway.
 
68
 
 
69
For 3dfx Voodoo hardware, you'll also need the Glide3 runtime library
 
70
(libglide3-v3.so for Voodoo3 or libglide3-v5.so for Voodoo4/5).  These can be
 
71
downloaded from the DRI website.  You can compile them yourself, but it's
 
72
often a painful process.
 
73
 
 
74
For Matrox G200/G400, Intel i810/i830 or ATI Rage128/Radeon hardware, you'll
 
75
also need AGP support in your Linux kernel, either built-in or as a loadable
 
76
module.
 
77
 
 
78
4.  Linux Kernel Preparation
 
79
 
 
80
Only the Linux 2.4.x kernels are currently supported by the DRI hardware
 
81
drivers.  2.5.x kernels may work, but aren't tested.
 
82
 
 
83
Most of the DRI drivers require AGP support and using Intel Pentium III SSE
 
84
optimizations also requires an up-to-date Linux kernel.  Configuring your
 
85
kernel correctly is very important, as features such as SSE optimizations
 
86
will be disabled if your kernel does not support them.  Thus, if you have a
 
87
Pentium III processor, you must configure your kernel for the Pentium III
 
88
processor family.
 
89
 
 
90
Building a new Linux kernel can be difficult for beginners but there are
 
91
resources on the Internet to help.  This document assumes experience with
 
92
configuring, building and installing Linux kernels.
 
93
 
 
94
Linux kernels can be downloaded from www.kernel.org
 
95
 
 
96
Here are the basic steps for kernel setup.
 
97
 
 
98
   o Download the needed kernel and put it in /usr/src.  Create a directory
 
99
     for the source and unpack it.  For example:
 
100
 
 
101
                    cd /usr/src
 
102
                    rm -f linux
 
103
                    mkdir linux-2.4.x
 
104
                    ln -s linux-2.4.x linux
 
105
                    bzcat linux-2.4.x.tar.bz2 | tar xf -
 
106
 
 
107
     It is critical that /usr/src/linux point to your new kernel sources,
 
108
     otherwise the kernel headers will not be used when building the DRI.
 
109
     This will almost certainly cause compilation problems.
 
110
 
 
111
   o Read /usr/src/linux/Documentation/Changes.  This file lists the minimum
 
112
     requirements for all software packages required to build the kernel.
 
113
     You must upgrade at least gcc, make, binutils and modutils to at least
 
114
     the versions specified in this file.  The other packages may not be
 
115
     needed.  If you are upgrading from Linux 2.2.x you must upgrade your
 
116
     modutils package for Linux 2.4.x.
 
117
 
 
118
   o Configure your kernel.  You might, for example, use make menuconfig and
 
119
     do the following:
 
120
 
 
121
        o Go to Code maturity level options
 
122
 
 
123
        o Enable Prompt for development and/or incomplete code/drivers
 
124
 
 
125
        o hit ESC to return to the top-level menu
 
126
 
 
127
        o Go to Processor type and features
 
128
 
 
129
        o Select your processor type from Processor Family
 
130
 
 
131
        o hit ESC to return to the top-level menu
 
132
 
 
133
        o Go to Character devices
 
134
 
 
135
        o Disable Direct Rendering Manager (XFree86 DRI support) since we'll
 
136
          use the DRI code from the XFree86/DRI tree and will compile it
 
137
          there.
 
138
 
 
139
        o Go to /dev/agpgart (AGP Support) (EXPERIMENTAL) (NEW)
 
140
 
 
141
        o Hit SPACE twice to build AGP support into the kernel
 
142
 
 
143
        o Enable all chipsets' support for AGP
 
144
 
 
145
        o It's recommended that you turn on MTRRs under Processor type and
 
146
          Features, but not required.
 
147
 
 
148
   o Configure the rest of the kernel as required for your system (i.e. Eth-
 
149
     ernet, SCSI, etc)
 
150
 
 
151
   o Exit, saving your kernel configuration.
 
152
 
 
153
   o Edit your /etc/lilo.conf file.  Make sure you have an image entry as
 
154
     follows (or similar):
 
155
 
 
156
                      image=/boot/vmlinuz
 
157
                            label=linux.2.4.x
 
158
                            read-only
 
159
                            root=/dev/hda1
 
160
 
 
161
     The important part is that you have /boot/vmlinuz without a trailing
 
162
     version number.  If this is the first entry in your /etc/lilo.conf AND
 
163
     you haven't set a default, then this will be your default kernel.
 
164
 
 
165
   o Compile the new kernel.
 
166
 
 
167
                    cd /usr/src/linux-2.4.x
 
168
                    make dep
 
169
                    make bzImage
 
170
                    make modules
 
171
                    make modules_install
 
172
                    make install
 
173
 
 
174
     Note that last make command will automatically run lilo for you.
 
175
 
 
176
   o Now reboot to use the new kernel.
 
177
 
 
178
5.  CPU Architectures
 
179
 
 
180
In general, nothing special has to be done to use the DRI on different CPU
 
181
architectures.  There are, however, a few optimizations that are CPU-depen-
 
182
dent.  Mesa will determine at runtime which CPU-dependent optimizations
 
183
should be used and enable them where appropriate.
 
184
 
 
185
5.1  Intel Pentium III Features
 
186
 
 
187
The Pentium III SSE instructions are used in optimized vertex transformation
 
188
functions in the Mesa-based DRI drivers.  On Linux, SSE requires a recent
 
189
kernel (such as 2.4.0-test11 or later) both at compile time and runtime.
 
190
 
 
191
5.2  AMD 3DNow! Features
 
192
 
 
193
AMD's 3DNow! instructions are used in optimized vertex transformation func-
 
194
tions in the Mesa-based DRI drivers.  3DNow! is supported in most versions of
 
195
Linux.
 
196
 
 
197
5.3  Alpha Features
 
198
 
 
199
On newer Alpha processors a significant performance increase can be seen with
 
200
the addition of the -mcpu= option to GCC.  This option is dependent on the
 
201
architecture of the processor.  For example, -mcpu=ev6 will build specifi-
 
202
cally for the EV6 based AXP's, giving both byte and word alignment access to
 
203
the DRI/Mesa drivers.
 
204
 
 
205
To enable this optimization edit your xc/config/host.def file and add the
 
206
line:
 
207
 
 
208
#define DefaultGcc2AxpOpt -O2 -mcpu=ev6
 
209
 
 
210
Additional speed improvements to 3D rendering can be achieved by installing
 
211
Compaq's Math Libraries (CPML) which can be obtained from http://www.sup-
 
212
port.compaq.com/alpha-tools/software/index.html
 
213
 
 
214
Once installed, you can add this line to your host.def to build with the CPML
 
215
libraries:
 
216
 
 
217
#define UseCompaqMathLibrary YES
 
218
 
 
219
The host.def file is explained below.
 
220
 
 
221
6.  Downloading the XFree86/DRI CVS Sources
 
222
 
 
223
The DRI project is hosted by SourceForge.  The DRI source code, which is a
 
224
subset of the XFree86 source tree, is kept in a CVS repository there.
 
225
 
 
226
The DRI CVS sources may be accessed either anonymously or as a registered
 
227
SourceForge user.  It's recommended that you become a registered SourceForge
 
228
user so that you may submit non-anonymous bug reports and can participate in
 
229
the mailing lists.
 
230
 
 
231
6.1  Anonymous CVS download:
 
232
 
 
233
  1.  Create a directory to store the CVS files:
 
234
 
 
235
                       cd ~
 
236
                       mkdir DRI-CVS
 
237
 
 
238
      You could put your CVS directory in a different place but we'll use
 
239
      ~/DRI-CVS/ here.
 
240
 
 
241
  2.  Check out the CVS sources:
 
242
 
 
243
                       cd ~/DRI-CVS
 
244
                       cvs -d:pserver:anonymous@cvs.dri.sourceforge.net:/cvsroot/dri login
 
245
                         (hit ENTER when prompted for a password)
 
246
                       cvs -z3 -d:pserver:anonymous@cvs.dri.sourceforge.net:/cvsroot/dri co xc
 
247
 
 
248
      The -z3 flag causes compression to be used in order to reduce the down-
 
249
      load time.
 
250
 
 
251
6.2  Registered CVS download:
 
252
 
 
253
  1.  Create a directory to store the CVS files:
 
254
 
 
255
                       cd ~
 
256
                       mkdir DRI-CVS
 
257
 
 
258
      You could put your CVS directory in a different place but we'll use
 
259
      ~/DRI-CVS/ here.
 
260
 
 
261
  2.  Set the CVS_RSH environment variable:
 
262
 
 
263
                       setenv CVS_RSH ssh      // if using csh or tcsh
 
264
                       export CVS_RSH=ssh      // if using sh or bash
 
265
 
 
266
  3.  Check out the CVS sources:
 
267
 
 
268
                       cd ~/DRI-CVS
 
269
                       cvs -z3 -d:ext:YOURID@cvs.dri.sourceforge.net:/cvsroot/dri co xc
 
270
 
 
271
      Replace YOURID with your CVS login name.  You'll be prompted to enter
 
272
      your sourceforge password.
 
273
 
 
274
      The -z3 flag causes compression to be used in order to reduce the down-
 
275
      load time.
 
276
 
 
277
6.3  Updating your CVS sources
 
278
 
 
279
In the future you'll want to occasionally update your local copy of the DRI
 
280
source code to get the latest changes.  This can be done with:
 
281
 
 
282
                cd ~/DRI-CVS
 
283
                cvs -z3 update -dA xc
 
284
 
 
285
The -d flag causes any new subdirectories to be created and -A causes most
 
286
recent trunk sources to be fetched, not branch sources.
 
287
 
 
288
7.  Mesa
 
289
 
 
290
Most of the DRI 3D drivers are based on Mesa (the free implementation of the
 
291
OpenGL API).  The relevant files from Mesa are already included in the
 
292
XFree86/DRI source tree.  There is no need to download or install the Mesa
 
293
source files separately.
 
294
 
 
295
Sometimes a newer version of Mesa will be available than the version included
 
296
in XFree86/DRI.  Upgrading Mesa within XFree86/DRI is not always straightfor-
 
297
ward.  It can be an error-prone undertaking, especially for beginners, and is
 
298
not generally recommended.  The DRI developers will upgrade Mesa when appro-
 
299
priate.
 
300
 
 
301
8.  Compiling the XFree86/DRI tree
 
302
 
 
303
8.1  Make a build tree
 
304
 
 
305
Rather than placing object files and library files right in the source tree,
 
306
they're instead put into a parallel build tree.  The build tree is made with
 
307
the lndir command:
 
308
 
 
309
                 cd ~/DRI-CVS
 
310
                 ln -s xc XFree40
 
311
                 mkdir build
 
312
                 cd build
 
313
                 lndir -silent -ignorelinks ../XFree40
 
314
 
 
315
The build tree will be populated with symbolic links which point back into
 
316
the CVS source tree.
 
317
 
 
318
Advanced users may have several build trees for compiling and testing with
 
319
different options.
 
320
 
 
321
8.2  Edit the host.def file
 
322
 
 
323
The ~/DRI-CVS/build/xc/config/cf/host.def file is used to configure the
 
324
XFree86 build process.  You can change it to customize your build options or
 
325
make adjustments for your particular system configuration
 
326
 
 
327
The default host.def file will look something like this:
 
328
 
 
329
                 #define DefaultCCOptions -Wall
 
330
     (i386)      #define DefaultGcc2i386Opt -O2
 
331
     (Alpha)     #define DefaultGcc2AxpOpt -O2 -mcpu=ev6 (or similar)
 
332
                 #define LibraryCDebugFlags -O2
 
333
                 #define BuildServersOnly YES
 
334
                 #define XF86CardDrivers vga tdfx mga ati i810
 
335
                 #define LinuxDistribution LinuxRedHat
 
336
                 #define DefaultCCOptions -ansi GccWarningOptions -pipe
 
337
                 #define BuildXF86DRI YES
 
338
                 /* Optionally turn these on for debugging */
 
339
                 /* #define GlxBuiltInTdfx YES */
 
340
                 /* #define GlxBuiltInMga YES */
 
341
                 /* #define GlxBuiltInR128 YES */
 
342
                 /* #define GlxBuiltInRadeon YES */
 
343
                 /* #define DoLoadableServer NO */
 
344
                 #define SharedLibFont NO
 
345
 
 
346
The ProjectRoot variable specifies where the XFree86 files will be installed.
 
347
We recommend installing the DRI files over your existing XFree86 installation
 
348
- it's generally safe to do and less error-prone.  This policy is different
 
349
than what we used to recommend.
 
350
 
 
351
If XFree86 4.x is not installed in /usr/X11R6/ you'll have to add the follow-
 
352
ing to the host.def file:
 
353
 
 
354
                 #define ProjectRoot pathToYourXFree86installation
 
355
 
 
356
Note the XF86CardDrivers line to be sure your card's driver is listed.
 
357
 
 
358
If you want to enable 3DNow! optimizations in Mesa and the DRI drivers, you
 
359
should add the following:
 
360
 
 
361
                 #define MesaUse3DNow YES
 
362
 
 
363
You don't have to be using an AMD processor in order to enable this option.
 
364
The DRI will look for 3DNow! support and runtime and only enable it if appli-
 
365
cable.
 
366
 
 
367
If you want to enable SSE optimizations in Mesa and the DRI drivers, you must
 
368
upgrade to a Linux 2.4.x kernel.  Mesa will verify that SSE is supported by
 
369
both your processor and your operating system, but to build Mesa inside the
 
370
DRI you need to have the Linux 2.4.x kernel headers in /usr/src/linux.  If
 
371
you enable SSE optimizations with an earlier version of the Linux kernel in
 
372
/usr/src/linux, Mesa will not compile.  You have been warned.  If you do have
 
373
a 2.4.x kernel, you should add the following:
 
374
 
 
375
                 #define MesaUseSSE YES
 
376
 
 
377
If you want to build the DRM kernel modules as part of the full build pro-
 
378
cess, add the following:
 
379
 
 
380
                 #define BuildXF86DRM YES
 
381
 
 
382
Otherwise, you'll need to build them separately as described below.
 
383
 
 
384
8.3  Compilation
 
385
 
 
386
To compile the complete DRI tree:
 
387
 
 
388
                 cd ~/DRI-CVS/build/xc/
 
389
                 make World >& world.log
 
390
 
 
391
Or if you want to watch the compilation progress:
 
392
 
 
393
                 cd ~/DRI-CVS/build/xc/
 
394
                 make World >& world.log &
 
395
                 tail -f world.log
 
396
 
 
397
With the default compilation flags it's normal to get a lot of warnings dur-
 
398
ing compilation.
 
399
 
 
400
Building will take some time so you may want to go check your email or visit
 
401
slashdot.
 
402
 
 
403
WARNING: do not use the -j option with make.  It's reported that it does not
 
404
work with XFree86/DRI.
 
405
 
 
406
8.4  Check for compilation errors
 
407
 
 
408
Using your text editor, examine world.log for errors by searching for the
 
409
pattern ***.
 
410
 
 
411
After fixing the errors, run make World again.  Later, you might just compile
 
412
parts of the source tree but it's important that the whole tree will build
 
413
first.
 
414
 
 
415
If you edited your host.def file to enable automatic building of the DRI ker-
 
416
nel module(s), verify that they were built:
 
417
 
 
418
               cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel
 
419
               ls
 
420
 
 
421
Otherwise, build them now by running
 
422
 
 
423
               cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel
 
424
               make -f Makefile.linux
 
425
 
 
426
For the 3dfx Voodoo, you should see tdfx.o.  For the Matrox G200/G400, you
 
427
should see mga.o.  For the ATI Rage 128, you should see r128.o.  For the ATI
 
428
Radeon, you should see radeon.o.  For the Intel i810, you should see i810.o.
 
429
 
 
430
If the DRI kernel module(s) failed to build you should verify that you're
 
431
using the right version of the Linux kernel.  The most recent kernels are not
 
432
always supported.
 
433
 
 
434
If your build machine is running a different version of the kernel than your
 
435
target machine (i.e. 2.2.x vs. 2.4.x), make will select the wrong kernel
 
436
source tree. This can be fixed by explicitly setting the value of LINUXDIR.
 
437
If the path to your kernel source is /usr/src/linux-2.4.x,
 
438
 
 
439
               cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel
 
440
               make -f Makefile.linux LINUXDIR=/usr/src/linux-2.4.x
 
441
 
 
442
or alternatively, edit Makefile.linux to set LINUXDIR before the ifndef LIN-
 
443
UXDIR line.
 
444
 
 
445
8.5  DRI kernel module installation
 
446
 
 
447
The DRI kernel modules will be in ~/DRI-CVS/build/xc/pro-
 
448
grams/Xserver/hw/xfree86/os-support/linux/drm/kernel/.
 
449
 
 
450
To load the appropriate DRM module in your running kernel you can either use
 
451
ismod and restart your X server or copy the kernel module to /lib/mod-
 
452
ules/2.4.x/kernel/drivers/char/drm/ then run depmod and restart your X
 
453
server.
 
454
 
 
455
Make sure you first unload any older DRI kernel modules that might be already
 
456
loaded.
 
457
 
 
458
Note that some DRM modules require that the agpgart module be loaded first.
 
459
 
 
460
9.  Normal Installation and Configuration
 
461
 
 
462
Most users will want to install the new X server and use it in place of their
 
463
old X server.  This section explains how to do that.
 
464
 
 
465
Developers, on the other hand, may just want to test the X server without
 
466
actually installing it as their default server.  If you want to do that, skip
 
467
to the next section.
 
468
 
 
469
9.1  Installation
 
470
 
 
471
Here are the installation commands:
 
472
 
 
473
                su
 
474
                cd ~/DRI-CVS/build/xc
 
475
                make install
 
476
 
 
477
9.2  Update the XF86Config File
 
478
 
 
479
You may need to edit your XF86Config file to enable the DRI.  The config file
 
480
is usually installed as /etc/X11/XF86Config-4.  See the DRI User Guide for
 
481
details, but basically, you need to load the "glx" and "dri" modules and add
 
482
a "DRI" section.
 
483
 
 
484
On the DRI web site, in the resources section, you'll find example XF86Config
 
485
files for a number of graphics cards.  These configuration files also setup
 
486
DRI options so it's highly recommended that you look at these examples.
 
487
 
 
488
The XFree86 4.x server can generate a basic configuration file itself.  Sim-
 
489
ply do this:
 
490
 
 
491
                  cd /usr/X11R6/bin
 
492
                  ./XFree86 -configure
 
493
 
 
494
A file named /root/XF86Config.new will be created.  It should allow you to
 
495
try your X server but you'll almost certainly have to edit it.  For example,
 
496
you should add HorizSync and VertRefresh options to the Monitor section and
 
497
Modes options to the Screen section.  Also, the ModulePath option in the
 
498
Files section should be set to /usr/X11R6/lib/modules.
 
499
 
 
500
9.3  Start the New X Server
 
501
 
 
502
The new X server should be ready to use now.  Start your X server in your
 
503
usual manner.  Often times the startx command is used:
 
504
 
 
505
                  startx
 
506
 
 
507
10.  Testing the Server Without Installing It
 
508
 
 
509
As mentioned at the start of section 9, developers may want to simply run the
 
510
X server without installing it.  This can save some time and allow you to
 
511
keep a number of X servers available for testing.
 
512
 
 
513
10.1  Configuration
 
514
 
 
515
As described in the preceding section, you'll need to create a configuration
 
516
file for the new server.  Put the XF86Config file in your ~/DRI-
 
517
CVS/build/xc/programs/Xserver directory.
 
518
 
 
519
Be sure the ModulePath option in your XF86Config file is set correctly.
 
520
 
 
521
10.2  A Startup Script
 
522
 
 
523
A simple shell script can be used to start the X server.  Here's an example.
 
524
 
 
525
             #!/bin/sh
 
526
             export DISPLAY=:0
 
527
             ./XFree86 -xf86config XF86Config & \
 
528
             sleep 2
 
529
             fvwm2 &
 
530
             xset b off
 
531
             xmodmap -e "clear mod4"
 
532
             xsetroot -solid "#00306f"
 
533
             xterm -geometry 80x40+0+0
 
534
 
 
535
You might name this script start-dri.  Put it in your ~/DRI-CVS/build/xc/pro-
 
536
grams/Xserver directory.
 
537
 
 
538
To test the server run the script:
 
539
 
 
540
                  cd ~/DRI-CVS/build/xc/programs/Xserver
 
541
                  ./start-dri
 
542
 
 
543
For debugging, you may also want to capture the log messages printed by the
 
544
server in a file.  If you're using the C-shell:
 
545
 
 
546
                  ./start-dri >& log
 
547
 
 
548
11.  Where To Go From Here
 
549
 
 
550
At this point your X server should be up and running with hardware-acceler-
 
551
ated direct rendering.  Please read the DRI User Guide for information about
 
552
trouble shooting and how to use the DRI-enabled X server for 3D applications.
 
553
 
 
554
     Generated from XFree86: xc/programs/Xserver/hw/xfree86/doc/sgml/DRIcomp.sgml,v 1.19 dawes Exp $
 
555
 
 
556