diff --git a/docs/devinfo.html b/docs/devinfo.html
index e1761be..498b713 100644
--- a/docs/devinfo.html
+++ b/docs/devinfo.html
@@ -39,7 +39,7 @@
    extension is rather large, try to implement it in a new source file.
 </li>
 <li>
-   If hew extension adds new GL state, the functions in get.c, enable.c
+   If the new extension adds new GL state, the functions in get.c, enable.c
    and attrib.c will most likely require new code.
 </li>
 </ul>
@@ -94,7 +94,7 @@
 </p>
 
 <p>
-Global vars not allowed.
+Global variables are not allowed.
 </p>
 
 <p>
@@ -109,31 +109,22 @@
 </pre>
 
 
-<H2>Writing a Device Driver</H2>
-
-<p>
-XXX to do
-</p>
-
-
-
 <H2>Making a New Mesa Release</H2>
 
 <p>
 These are the instructions for making a new Mesa release.
 </p>
 
+<H3>Get latest source files</H3>
 <p>
-Be sure to do a "cvs update -d ." in the Mesa directory to
-get all the latest files.
+Use "cvs update -dAP " to get the latest Mesa files from CVS.
 </p>
 
-<p>
-Update the version definitions in src/mesa/main/version.h
-</p>
 
+<H3>Verify and update version info</H3>
 <p>
 Create/edit the docs/RELNOTES-X.Y file to document what's new in the release.
+Add the new RELNOTES-X.Y file to <a href="relnotes.html">relnotes.html</a>.
 Update the docs/VERSIONS file too.
 </p>
 
@@ -143,14 +134,32 @@
 </p>
 
 <p>
+Make sure the values in src/mesa/main/version.h is correct.
+</p>
+
+<p>
 Edit the top-level Makefile and verify that DIRECTORY, LIB_NAME and
 DEMO_NAME are correct.
 </p>
 
 <p>
+Update the docs/news.html file and docs/contents.html files.
+</p>
+
+<p>
+Check in all updates to CVS.
+</p>
+
+<p>
+Tag the CVS files with the release name (in the form <b>mesa_X_Y</b>).
+</p>
+
+
+<H3>Make the tarballs</H3>
+<p>
 Make a symbolic link from $(DIRECTORY) to 'Mesa'.  For example,
-ln -s Mesa Mesa-6.3    This is needed in order to make a correct
-tar file in the next step.
+ln -s Mesa Mesa-6.3
+This is needed in order to make a correct tar file in the next step.
 </p>
 
 <p>
@@ -160,16 +169,25 @@
 </pre>
 
 <p>
+After the tarballs are created, the md5 checksums for the files will
+be computed.
+Add them to the docs/news.html file.
+</p>
+
+<p>
 Copy the distribution files to a temporary directory, unpack them,
 compile everything, and run some demos to be sure everything works.
 </p>
 
+<H3>Update the website and announce the release</H3>
 <p>
-Upload the *.tar.gz and *.zip files to ftp.mesa3d.org
+Follow the directions on SourceForge for creating a new "release" and
+uploading the tarballs.
 </p>
 
 <p>
-Update the web site.
+Update the web site by copying the docs/ directory's files to 
+/home/users/b/br/brianp/mesa-www/htdocs/
 </p>
 
 <p>
diff --git a/docs/faq.html b/docs/faq.html
index 4825f9d..c9081c9 100644
--- a/docs/faq.html
+++ b/docs/faq.html
@@ -7,7 +7,7 @@
 
 <center>
 <h1>Mesa Frequently Asked Questions</h1>
-Last updated: 27 April 2004
+Last updated: 17 November 2004
 </center>
 
 <br>
@@ -53,7 +53,7 @@
 are the modern ones.
 </p>
 
-<h2>1.3 What purpose does Mesa (software-based rendering) serve today?</h2>
+<h2>1.3 What purpose does Mesa serve today?</h2>
 <p>
 Hardware-accelerated OpenGL implementations are available for most popular
 operating systems today.
@@ -80,7 +80,39 @@
 </li>
 </ul>
 
-<h2>1.4 How do I upgrade my DRI installation to use a new Mesa release?</h2>
+
+<h2>1.4 What's the difference between"Stand-Alone" Mesa and the DRI drivers?</h2>
+<p>
+<em>Stand-alone Mesa</em> is the original incarnation of Mesa.
+On systems running the X Window System, it does all its rendering through
+the Xlib API.
+<ul>
+<li>The GLX API is supported, but it's really just an emulation of the
+     real thing.
+<li>The GLX wire protocol is not supported and there's no OpenGL extension
+    loaded by the X server.
+<li>There is no hardware acceleration.
+<li>The OpenGL library, libGL.so, contains everything (the programming API,
+    the GLX functions and all the rendering code).
+</ul>
+</p>
+<p>
+Alternately, Mesa acts as the core for a number of OpenGL hardware drivers
+within the DRI (Direct Rendering Infrastructure):
+<ul>
+<li>The libGL.so library provides the GL and GLX API functions, a GLX
+    protocol encoder, and a device driver loader.
+<li>The device driver modules (such as r200_dri.so) contain a built-in
+    copy of the core Mesa code.
+<li>The X server loads the GLX module.
+    The GLX module decodes incoming GLX protocol and dispatches the commands
+    to a rendering module.
+    For the DRI, this module is basically a software Mesa renderer.
+</ul>
+
+
+
+<h2>1.5 How do I upgrade my DRI installation to use a new Mesa release?</h2>
 <p>
 You don't!  A copy of the Mesa source code lives inside the XFree86/DRI source
 tree and gets compiled into the individual DRI driver modules.
@@ -100,7 +132,7 @@
 </p>
 
 
-<h2>1.5 Are there other open-source implementations of OpenGL?</h2>
+<h2>1.6 Are there other open-source implementations of OpenGL?</h2>
 <p>
 Yes, SGI's <a href="http://oss.sgi.com/projects/ogl-sample/index.html"
 target="_parent">
@@ -135,12 +167,13 @@
 rendering, etc.
 </p>
 
-
 <p>
 There may be other open OpenGL implementations, but Mesa is the most
 popular and feature-complete.
 </p>
 
+
+
 <br>
 <br>
 
@@ -156,38 +189,24 @@
 </a></p>
 
 
-<h2><a name="part2">2.2 Running <code>configure; make</code> Doesn't Work</a></h2>
+<h2><a name="part2">2.2 Running <code>configure; make</code> doesn't Work</a></h2>
 <p>
-<a name="part2">Unfortunately, the GNU autoconf/automake/libtool system doesn't seem to work
-too well on non GNU/Linux systems, even after installing gmake, gcc, etc.
-For that reason, Mesa's <b>old-style</b> makefile system is still included.
-The old-style system uses good old traditional Makefiles.  Try the following:
-</a></p><pre><a name="part2">  cd Mesa-x.y.z
-  cp Makefile.X11 Makefile
-  make
-</a></pre>
-<a name="part2">You'll see a list of system configurations from which to choose.
-For example:
-</a><pre><a name="part2">  make linux-x86
-</a></pre>
-<p>
-<a name="part2">If you're experienced with GNU autoconf/automake/libtool and think you can help
-with maintence, contact the Mesa developers.
-FYI, the Mesa developers generally don't use the autoconf/automake system.
-We're especially annoyed with the fact that a +5000-line script (libtool)
-is needed to make shared libraries (ugh).
-</a></p>
+Mesa no longer supports GNU autoconf/automake.  Why?
+<ul>
+<li>It seemed to seldom work on anything but Linux
+<li>The config files were hard to maintain and hard to understand
+<li>libtool caused a lot of grief
+</ul>
 
-<h2><a name="part2">2.3 Mesa still doesn't compile</a></h2>
 <p>
-<a name="part2">If the old-style Makefile system doesn't work either, make sure you have
-the most recent version of Mesa.
-Otherwise, file a bug report or post to the Mesa3d-users mailing list.
-Give as much info as possible when describing your problem.
-</a></p>
+Now, Mesa again uses a conventional Makefile system (as it did originally).
+Basically, each Makefile in the tree includes one of the configuration
+files from the config/ directory.
+The config files specify all the variables for a variety of popular systems.
+</p>
 
 
-<h2><a name="part2">2.4 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
+<h2><a name="part2">2.3 I get undefined symbols such as bgnpolygon, v3f, etc...</a></h2>
 <p>
 <a name="part2">You're application is written in IRIS GL, not OpenGL.
 IRIS GL was the predecessor to OpenGL and is a different thing (almost)
@@ -196,7 +215,7 @@
 </a></p>
 
 
-<h2><a name="part2">2.5 Where is the GLUT library?</a></h2>
+<h2><a name="part2">2.4 Where is the GLUT library?</a></h2>
 <p>
 <a name="part2">GLUT (OpenGL Utility Toolkit) is in the separate MesaDemos-x.y.z.tar.gz file.
 If you don't already have GLUT installed, you should grab the MesaDemos
@@ -205,7 +224,7 @@
 
 
 
-<h2><a name="part2">2.6 What's the proper place for the libraries and headers?</a></h2>
+<h2><a name="part2">2.5 What's the proper place for the libraries and headers?</a></h2>
 <p>
 <a name="part2">On Linux-based systems you'll want to follow the
 </a><a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html"
