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