summaryrefslogtreecommitdiff
path: root/docs/faq.html
diff options
context:
space:
mode:
authorBrian Paul <brian.paul@tungstengraphics.com>2004-11-22 17:49:15 +0000
committerBrian Paul <brian.paul@tungstengraphics.com>2004-11-22 17:49:15 +0000
commit65b79057b96e621de1bbd7b9c81cdbcee6bfa5b1 (patch)
treea3dd3f6fe4142563e48583643392d8986061b5bd /docs/faq.html
parentf76be3d6f2b054e5316aeb7b265ed28bda28c8ae (diff)
misc updates
Diffstat (limited to 'docs/faq.html')
-rw-r--r--docs/faq.html89
1 files changed, 54 insertions, 35 deletions
diff --git a/docs/faq.html b/docs/faq.html
index 4825f9d3a4..c9081c9aaa 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 @@ the 3Dfx Glide/Voodoo driver, an old S3 driver, etc) but the DRI drivers
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 @@ Still, Mesa serves at least these purposes:
</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 @@ if there's newer drivers.
</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 @@ but it does export the OpenGL API. It allows tiled rendering, sort-last
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 @@ has Mesa packages (like RPM or DEB) which you can easily install.
</a></p>
-<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>
+<h2><a name="part2">2.2 Running <code>configure; make</code> doesn't Work</a></h2>
+<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 @@ Mesa's not the solution.
</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 @@ package and unpack it before compiling Mesa.
-<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"