Mesa is a 3-D graphics library with an API which is very similar to that of OpenGL.* To the extent that Mesa utilizes the OpenGL command syntax or state machine, it is being used with authorization from Silicon Graphics, Inc. However, the author makes no claim that Mesa is in any way a compatible replacement for OpenGL or associated with Silicon Graphics, Inc. Those who want a licensed implementaion of OpenGL should contact a licensed vendor. This software is distributed under the terms of the GNU Library General Public License, see the LICENSE file for details.
While Mesa is not a licensed OpenGL implementation, it is currently being tested with the OpenGL conformance tests. For the current conformance status see the CONFORM file included in the Mesa distribution.
* OpenGL(R) is a registered trademark of Silicon Graphics, Inc.
My work on Mesa is in no way associated with my work at Avid Technology.
Mesa is a 3-D graphics library which uses the OpenGL API (Application Programming Interface). Mesa cannot be called an implementation of OpenGL since I did not obtain an OpenGL license from SGI. Furthermore, Mesa cannot claim OpenGL conformance since the conformance tests are only available to OpenGL licensees. Despite these technical/legal terms, you may find Mesa to be a valid alternative to OpenGL.
Most applications written for OpenGL can use Mesa instead without changing the source code.
I started writing Mesa in my spare time in August of 1993. I wrote the library because I thought it would be fun to do and expected other people could make use of it. Also, the library implements many basic 3-D computer graphics algorithms- beginners may find it instructional. I continue to work on Mesa because I enjoy it.
Mesa's performance is most directly related to CPU performance. Recent releases of Mesa have featured speed optimizations and support for consumer 3-D graphics cards. Mesa's getting faster all the time!
Please do not refer to the library as MesaGL (for legal reasons). It's just Mesa or the Mesa 3-D graphics library.
Others have contributed drivers for the Amiga, Apple Macintosh, BeOS, NeXT, OS/2, MS-DOS, VMS, and Windows 95/NT. See the README file included with the Mesa distribution for more details.
The primary Mesa download site is
ftp://www.ssec.wisc.edu/pub/Mesa.
Mesa is distributed in two pieces: the main libraries and demos.
Download by shift-clicking on the following:
Look below for pointers to Mesa for the Mac, Amiga, Acorn
RISC OS, etc.
Please don't ask me (Brian) for precompiled libraries.
Patches to Mesa 3.0 (if any) can be found
here.
Beta releases of upcoming Mesa releases (if any) can be found
here.
If you try a beta release be sure to report any bugs or problems that
you encounter.
An assortment of utilities, programs and libraries contributed by Mesa
users can be found in the Mesa
contrib
directory.
See the contrib/README file.
Since people sometimes ask, I don't use Imakefiles or GNU Config for a
number of reasons:
Since the OpenGL API is used, OpenGL documentation can serve as the
documentation for Mesa's core functions.
Thanks to Pedro Vazquez for setting up the lists!
To unsubscribe from the list send the following message to
majordomo@iqm.unicamp.br
If you're only interested in getting messages regarding Mesa announcements
such as new versions and patches you should just subscribe to the
mesa-announce list.
How to get Mesa
The current release of Mesa is version 3.0, released on
September 17, 1998.
Previous versions are still available at the ftp site given below.
Mirrors
Pre-compiled Libraries
Patches
Beta Releases
Contributed Files
Building Mesa
The README file has detailed instructions on compiling and installing Mesa
but basically you type make
followed by a system configuration.
You can view a list of supported system configurations by typing
make
alone. It's easy to add new configurations if your
system isn't currently supported. However, 40 different Unix configurations
are already supported.
I'm not against Imake or GNU Config, they'd probably work OK for Mesa if
I had the time and energy to figure them out.
Documentation and Hyperlinks
Specifically for Mesa are:
Other useful links:
Mailing lists
There are two Mesa-related mailing lists.
One is for general discussion and the other is just for announcements.
General Mesa List
To subscribe, send the following message body to
majordomo@iqm.unicamp.br
subscribe mesa your-email-address
For example:
subscribe mesa brian_paul@avid.com
You will receive a welcome message from the list server when you have
been added to the list.
To post to the list send your message to
mesa@iqm.unicamp.br
unsubscribe mesa your-email-address
Announcements list
subscribe mesa-announce your-email-addressTo unsubscribe from the list send the following message to majordomo@iqm.unicamp.br
unsubscribe mesa-announce your-email-address
There is an archives of the list at
If you have trouble using the mailing list send your question to owner-mesa@iqm.unicamp.br
If you're having installation or runtime problems with Mesa then read the documentation first! This includes the various README files included with Mesa and the Mesa FAQ. If you're still stuck ask on the Mesa mailing list. 3Dfx/Linux-related problems can be posted to the 3Dfx Linux Glide newsgroup.
As a last resort you can ask me (Brian) for help. I'll help if I have the time.
If you find a bug in Mesa you should first check if there's a more recent version of Mesa or a patch on the ftp site. If you think you've found a new bug in Mesa I'd certainly like to hear about it.
Please send me a detailed description of the problem and if possible, a test program which demonstrates the problem. The test program should be easy to compile and use. A GLUT-based program is ideal.
Also, tell me which version of Mesa you're using and what kind of computer and operating system you're using. If you're using X and seeing rendering problems also mention the class/depth of X visual you're using.
I primarily develop and test Mesa on Linux and IRIX. If you're having problems on Windows 95/98/NT your best source for help is the Mesa mailing list.
Here's how application writers have been putting Mesa to use. Send me a URL if you have an application to add to the list.
David Bucciarelli wrote and maintains the 3Dfx driver for Mesa. Look here for the latest info.
Daryll Strauss wrote and maintains the Linux version of Glide. Look here for the latest info.
New projects
S.u.S.E. is working with the XFree86 group to integrate 3-D hardware support into the XFree86 X server for Linux. Currently, a variety of 3Dlabs chipsets are being targeted. There is no targeted release date at this time. Also see the XFree86 3D Status Report for information.
Why isn't there hardware support for my graphics card?
Supporting the 3Dfx hardware was relatively simple because of the 3Dfx Glide library. In order to support other 3D hardware we need:
If you would like to work on a hardware project you should post to the Mesa mailing list to organize a development team. It will probably be easier to get hardware vendor cooperation if there is an organized group of developers rather than just one person.
If your commercial (or free) software uses Mesa I'd be happy to get a copy of it. I might be able to test your software with new versions of Mesa before release.
I like beer. Among my favorites are ales and stouts. So if there's a local brewery in your area I'd be happy to get a sample.