# Documentation ## End-User Documentation * [[Building|Building]] the DRI Instructions for building the DRI on your own machine. * [[DriTroubleshooting|DriTroubleshooting]] This page covers the most common issues with configuring the DRI for Linux and FreeBSD. * [[ConfigurationInfrastructure|ConfigurationInfrastructure]] This page describes the configuration file format and contains links to a configuration GUI. * [[DriverFiles|DriverFiles]] This page describes the files that make up the 2D and 3D drivers and DRM for each driver. * [[DRI Debugging Guide|http://gatos.sf.net/dri-debug.php]] This guide explains how to debug a DRI installation that is not working. Thanks to Vladimir Dergachev and the LiViD folks for putting it together. ## General Developer Documentation * [[Development|Development]] This page collects various information related to development of the DRI. * [[Linux DRM Developer's Guide|http://www.kernel.org/doc/htmldocs/drm/]] Incomplete, but much more recent (2009) than most of the other docs here - new enough to mention TTM and GEM. * [[Introduction to the Direct Rendering Infrastructure|http://dri.sourceforge.net/doc/DRIintro.html]] This document was written for a tutorial session at [[LinuxWorld|LinuxWorld]] 2000 (San Jose) and explains the DRI at a high level. * [[CvsBranches|CvsBranches]] This page lists the active branches of DRI CVS. * [[CvsPolicy|CvsPolicy]] This document explains the rules for DRI development and how CVS branches are to be used. * [[Managing Graphics Hardware Vendor Relationships in the Linux Developer Community|http://dri.sourceforge.net/doc/vendor_relationships_paper.html]] A paper presented at the Linux World Conference and Expo in San Jose, CA on March 4, 1999. This paper offers guidelines to anyone who is responsible for establishing or maintaining business relationships. Although the paper is written to describe a specific type of business relationship, it can be applicable to many similar situations. ## High-Level Design Documents and Diagrams * [[Data Flow Diagram - with explanation|http://dri.sourceforge.net/doc/dri_data_flow.html]] * [[Control Flow Diagram - with explanation|http://dri.sourceforge.net/doc/dri_control_flow.html]] * [[Data Flow Diagram|http://dri.sourceforge.net/doc/images/data_flow.jpg]] * [[Control Flow Diagram|http://dri.sourceforge.net/doc/images/control_flow.jpg]] * [[Control Flow Diagram (Poster Size)|http://dri.sourceforge.net/doc/images/control_flow_poster.jpg]] * [[A Multipipe Direct Rendering Architecture for 3D, High-Level Design Document|http://dri.sourceforge.net/doc/design_high_level.html]] ## Low-Level Design Documents * [[Direct Rendering Infrastructure, Low Level Design Document|http://dri.sourceforge.net/doc/design_low_level.html]] * [[The Direct Rendering Manager, Kernel Support for the Direct Rendering Infrastructure|http://dri.sourceforge.net/doc/drm_low_level.html]] * [[Hardware Locking for the Direct Rendering Infrastructure|http://dri.sourceforge.net/doc/hardware_locking_low_level.html]] * [[A Security Analysis of the Direct Rendering Infrastructure|http://dri.sourceforge.net/doc/security_low_level.html]] * [[DRI Extensions for supporting the Direct Rendering Protocol Specification|http://dri.sourceforge.net/doc/dri_extensions_low_level.txt]] * [[The DRM Memory manager|http://www.tungstengraphics.com/mm.pdf]] ([[archive|http://web.archive.org/web/20070703024247/http://www.tungstengraphics.com/mm.pdf]]) * [[TTMFencing|http://dri.freedesktop.org/wiki/TTMFencing]] - Information on fencing and flushes using TTM ## Other Documents * [[Updated Radeon 9000 driver comparison - from R.Scheidegger|http://homepage.hispeed.ch/rscheidegger/atilinux_oct03/ati_linux_comp_oct03.html]] * [[Original driver comparison|http://homepage.hispeed.ch/rscheidegger/atilinux/ati_linux_comp.html]] * [[X Server Multi-rendering for OpenGL and PEX|http://www.realitydiluted.com/mirrors/reality.sgi.com/mjk/multirender/multirender.html]] (from SGI doesn't apply to DRI but interesting read) ([[archive|http://web.archive.org/web/20000819072931/http://reality.sgi.com/mjk/multirender/multirender.html]]) ## Deprecated Documents These documents refer to older versions of the DRI. They may still be useful, but they are not entirely accurate anymore. Most of the information in these is being merged into the wiki. * [[DRI Beginner's Guide|http://dri.sourceforge.net/doc/DRIbeginner.html]] A short, step-by-step guide on how to setup the DRI. Read this guide to get started, then refer to the user guide for more information. * [[DRI User Guide|http://dri.sourceforge.net/doc/DRIuserguide.html]] This guide explains how to use the DRI and troubleshoot common problems. Please read this document before reporting problems on the DRI mailing lists. * [[DRI Compilation Guide|http://dri.sourceforge.net/doc/DRIcompile.html]] **This guide is outdated!**. Please see Building for updated information. This guide explains how to download, compile and install the XFree86 X server with DRI 3D acceleration. * [[Compiling Glide3 for the Voodoo 5|http://dri.sourceforge.net/doc/GlideVoodoo5.txt]] Instructions for compiling Glide3 for the Voodoo5 for DRI. The 3dfx page has better information.