home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 August - Disc 2 / chip_20018102_hu.iso / linux / X-4.1.0 / doc / README.DRIcomp < prev    next >
Encoding:
Text File  |  2001-06-27  |  21.3 KB  |  603 lines

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