# Downloading

Primary Mesa download site: freedesktop.org (FTP)

When a new release is coming, release candidates (betas) may be found here.

Mesa is distributed in several parts:

- MesaLib-x.y.z - the main Mesa library source code, drivers and documentation.
- MesaDemos-x.y.z - OpenGL demonstration and test programs. Most of the programs require GLUT (either the original GLUT by Mark Kilgard or freeglut or OpenGLUT).
- MesaGLUT-x.y.z - Mark Kilgard's GLUT, easily compiled and used with Mesa. Plus, other implementation of GLUT for DOS, OS/2, BeOS, etc.

If you're not interested in running the demos, you'll only need the first package.

If you're new to this and not sure what you're doing, grab all three packages.

The packages are available in .tar.gz, .tar.bz2 and .zip formats. Other sites might offer additional package formats.

# Unpacking

All the packages should be in the same directory prior to unpacking.

- To unpack .tar.gz files:

      	tar zxf MesaLib-X.Y.tar.gz
      	tar zxf MesaDemos-X.Y.tar.gz
      	tar zxf MesaGLUT-X.Y.tar.gz

  or

      	gzcat MesaLib-X.Y.tar.gz | tar xf -
      	gzcat MesaDemos-X.Y.tar.gz | tar xf -
      	gzcat MesaGLUT-X.Y.tar.gz | tar xf -

  or

      	gunzip MesaLib-X.Y.tar.gz ; tar xf MesaLib-X.Y.tar
      	gunzip MesaDemos-X.Y.tar.gz ; tar xf MesaDemos-X.Y.tar
      	gunzip MesaGLUT-X.Y.tar.gz ; tar xf MesaGLUT-X.Y.tar

- To unpack .tar.bz2 files:

      	bunzip2 -c MesaLib-X.Y.tar.gz | tar xf -
      	bunzip2 -c MesaDemos-X.Y.tar.gz | tar xf -
      	bunzip2 -c MesaGLUT-X.Y.tar.gz | tar xf -

- To unpack .zip files:

      	unzip MesaLib-X.Y.zip
      	unzip MesaDemos-X.Y.zip
      	unzip MesaGLUT-X.Y.zip

# Contents

After unpacking you'll have these files and directories (among others):

    Makefile	- top-level Makefile for most systems
    configs/	- makefile parameter files for various systems
    include/	- GL header (include) files
    bin/		- shell scripts for making shared libraries, etc
    docs/		- documentation
    src/		- source code for libraries
    src/mesa	- sources for the main Mesa library and device drivers
    src/glu		- libGLU source code
    src/glx		- sources for building libGL with full GLX and DRI support
    src/glw		- Xt/Motif/OpenGL widget code

If you downloaded and unpacked the MesaDemos.X.Y package:

    progs/demos	- original Mesa demos
    progs/xdemos	- GLX OpenGL/Mesa demos
    progs/redbook	- examples from the OpenGL Programming Guide
    progs/samples	- examples from SGI
    progs/images/	- image files

If you downloaded and unpacked the MesaGLUT.X.Y package:

    src/glut	- GLUT library source code

Proceed to the compilation and installation instructions.