<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).
+<li>The OpenGL library, <code>libGL.so</code>, contains everything (the
+ programming API, the GLX functions and all the rendering code).
</ul>
<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 <code>libGL.so</code> library provides the GL and GLX API functions,
+ a GLX protocol encoder, and a device driver loader.
+<li>The device driver modules (such as <code>r200_dri.so</code>) 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.
<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">
+Yes, SGI's <a href="http://web.archive.org/web/20171010115110_/http://oss.sgi.com/projects/ogl-sample/index.html">
OpenGL Sample Implementation (SI)</a> is available.
The SI was written during the time that OpenGL was originally designed.
Unfortunately, development of the SI has stagnated.
an open-source implementation of OpenGL ES for mobile devices.
<p>
-<a href="http://www.dsbox.com/minigl.html">miniGL</a>
-is a subset of OpenGL for PalmOS devices.
+<a href="http://web.archive.org/web/20130830162848/http://www.dsbox.com/minigl.html">miniGL</a>
+is a subset of OpenGL for PalmOS devices. The website is gone, but the source
+code can still be found on <a href="https://sourceforge.net/projects/minigl/">sourceforge.net</a>.
<p>
<a href="http://bellard.org/TinyGL/">TinyGL</a>
<h3>2.3 Where is the GLUT library?</h3>
<p>
-GLUT (OpenGL Utility Toolkit) is no longer in the separate MesaGLUT-x.y.z.tar.gz file.
+GLUT (OpenGL Utility Toolkit) is no longer in the separate
+<code>MesaGLUT-x.y.z.tar.gz</code> file.
If you don't already have GLUT installed, you should grab
<a href="http://freeglut.sourceforge.net/">freeglut</a>.
</p>
<h3>2.4 Where is the GLw library?</h3>
<p>
-GLw (OpenGL widget library) is now available from a separate <a href="https://cgit.freedesktop.org/mesa/glw/">git repository</a>. Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it.
+GLw (OpenGL widget library) is now available from a separate <a href="https://gitlab.freedesktop.org/mesa/glw">git repository</a>. Unless you're using very old Xt/Motif applications with OpenGL, you shouldn't need it.
</p>
<h2>2.5 What's the proper place for the libraries and headers?</h2>
<p>
On Linux-based systems you'll want to follow the
-<a href="http://oss.sgi.com/projects/ogl-sample/ABI/index.html">Linux ABI</a> standard.
+<a href="https://www.khronos.org/registry/OpenGL/ABI/">Linux ABI</a> standard.
Basically you'll want the following:
</p>
-<ul>
-<li>/usr/include/GL/gl.h - the main OpenGL header
-</li><li>/usr/include/GL/glu.h - the OpenGL GLU (utility) header
-</li><li>/usr/include/GL/glx.h - the OpenGL GLX header
-</li><li>/usr/include/GL/glext.h - the OpenGL extensions header
-</li><li>/usr/include/GL/glxext.h - the OpenGL GLX extensions header
-</li><li>/usr/include/GL/osmesa.h - the Mesa off-screen rendering header
-</li><li>/usr/lib/libGL.so - a symlink to libGL.so.1
-</li><li>/usr/lib/libGL.so.1 - a symlink to libGL.so.1.xyz
-</li><li>/usr/lib/libGL.so.xyz - the actual OpenGL/Mesa library. xyz denotes the
+<dl>
+<dt><code>/usr/include/GL/gl.h</code></dt>
+<dd>the main OpenGL header</dd>
+<dt><code>/usr/include/GL/glu.h</code></dt>
+<dd>the OpenGL GLU (utility) header</dd>
+<dt><code>/usr/include/GL/glx.h</code></dt>
+<dd>the OpenGL GLX header</dd>
+<dt><code>/usr/include/GL/glext.h</code></dt>
+<dd>the OpenGL extensions header</dd>
+<dt><code>/usr/include/GL/glxext.h</code></dt>
+<dd>the OpenGL GLX extensions header</dd>
+<dt><code>/usr/include/GL/osmesa.h</code></dt>
+<dd>the Mesa off-screen rendering header</dd>
+<dt><code>/usr/lib/libGL.so</code></dt>
+<dd>a symlink to <code>libGL.so.1</code></dd>
+<dt><code>/usr/lib/libGL.so.1</code></dt>
+<dd>a symlink to <code>libGL.so.1.xyz</code></dd>
+<dt><code>/usr/lib/libGL.so.xyz</code></dt>
+<dd>the actual OpenGL/Mesa library. xyz denotes the
Mesa version number.
-</li></ul>
+</dd>
+</dl>
<p>
When configuring Mesa, there are three meson options that affect the install
location that you should take care with: <code>--prefix</code>,
<p>
Make sure the ratio of the far to near clipping planes isn't too great.
Look
-<a href="https://www.opengl.org/resources/faq/technical/depthbuffer.htm#0040">here</a>
+<a href="https://www.opengl.org/archives/resources/faq/technical/depthbuffer.htm#0040">here</a>
for details.
</p>
<p>