Mesa is the library that provides the foundation for the 3D support included in XFree86. Originally, Mesa included a software-only libGL that only claims to be "similar to that of OpenGL." Mesa now also supports hardware acceleration for a growing number of cards (see their site for details). The Mesa package also includes an implementation of the libGLU Utility library and the libglut GL Utility Toolkit library. Some versions of XFree86 only included the libGL from Mesa and some header files. With recent releases of XFree86, like 4.2.0, more has been added from Mesa, like libGLU and the manual pages. libglut may still be missing from your XFree86 distribution, so you may still like to get it from the Mesa distribution or from the GLUT distribution directly.
As shipped, XFree86 will support software OpenGL rendering (painfully slow) using the Mesa libGL. It may also support hardware accelerated OpenGL for some cards that have a fully open source driver. But for NVIDIA, the subject of this document, there is no fully open sourced hardware accelerated OpenGL driver included in XFree86. The NVIDIA GLX/OpenGL driver we download from NVIDIA.com is a binary, closed source driver that is a drop-in hardware accelerated replacement for the Mesa libGL.so file.
libGLU is a library built on top of libGL to provide some higher-level functions for applications. OpenGL itself, libGL, is considered a low-level library. GLU is a standard part of most OpenGL installations and many programs make use of it.
MesaDemos provides many OpenGL demo programs and, more importantly, the GL Utility Toolkit (libglut) library. GLUT provides a window system independent interface between OpenGL and any supported window system. For instance, on the X Window System, it hides the details of using glX functions to setup a window. Programmers can write code once and can compile it to work on MS Windows or X, etc provided that a GLUT library is available on the target platform. Like libGLU, libglut is a standard part of most OpenGL installations and is required by many programs.
While GLUT is bundled with MesaDemos, it is also available as separate packages:
You may use either the GLUT included with MesaDemos (preferred and easier) or the GLUT from its project website. Don't install both! It's recommended at this time to go with the GLUT packaged with MesaDemos, but instructions on how to install the other GLUT are still provided in the next section as an option. Note that MesaDemos does not include the glut manpages, so you may want to download the project GLUT package just to install its man pages.