chess demo
GLUT's "Chess" demo
running with FreeGLUT.


FreeGLUT is a completely OpenSourced alternative to the OpenGL Utility Toolkit (GLUT) library. GLUT was originally written by Mark Kilgard to support the sample programs in the second edition OpenGL 'RedBook'. Since then, GLUT has been used in a wide variety of practical applications because it is simple, widely available and highly portable.

GLUT (and hence FreeGLUT) allows the user to create and manage windows containing OpenGL contexts on a wide range of platforms and also read the mouse, keyboard and joystick functions.

FreeGLUT is released under the X-Consortium license.


The original GLUT library seems to have been abandoned with the most recent version (3.7) dating back to August 1998. Its license does not allow anyone to distribute modified library code. This would be OK, if not for the fact that GLUT is getting old and really needs improvement. Also, GLUT's license is incompatible with some software distributions (e.g., XFree86).


FreeGLUT was originally written by Pawel W. Olszta with contributions from Andreas Umbach and Steve Baker. Steve is now the official owner/maintainer of FreeGLUT.


Pawel started FreeGLUT development on December 1st, 1999. The project is now virtually a 100% replacement for the original GLUT with only a few departures (such as the abandonment of SGI-specific features such as the Dials&Buttons box and Dynamic Video Resolution) and a shrinking set of bugs.

There are some additional features such as a larger set of predefined shapes for use in applications.

Help out!

FreeGLUT 3.0 is in active development, and will feature ports to Android and BlackBerry 10 as well as a host of other enhancements. We are looking for developers to help out with further work on the Android and BlackBerry 10 ports. Furthermore, ports to Cocoa/Carbon on OSX, and maybe even Wayland are planned, along with some enhancements to the API and implementation. See here for an overview of the major points on our todo list. You can easily help out by forking the unofficial clone of our SVN repository on github. For more information about helping out, see the Help Out page and join the freeglut-developer mailing list.


Below are file links for the FreeGLUT project. README files are included. Have fun!

Testing Releases

Freeglut 3.0.0 Release Candidate 2 [Released: 26 Dec 2014]

Freeglut 3.0.0 Release Candidate 1 [Released: 29 Oct 2014]

Amongst many smaller enhancements and bugfixes, this RC includes experimental ports to Android and BlackBerry 10 as well as other API and implementation enhancements (e.g., move to CMake build system, VBO and shader support for geometry). Also moved to CMake as build system. Please try it out and give us feedback on how it worked for you.

Stable Releases

Freeglut 2.8.1 [Released: 5 April 2013]
Freeglut 2.8.0 [Released: 2 January 2012]
Freeglut 2.6.0 [Released: 27 November 2009]
Freeglut 2.4.0 [Released: 9 June 2005]
Freeglut 2.2.0 [Released: 12 December 2003]
Freeglut 2.0.1 [Released: 23 October 2003]

Prepackaged Releases

The FreeGLUT project does not support packaged versions of FreeGLUT excepting, of course, the tarballs distributed here. However, various members of the community have put time and effort into providing source or binary rollups, and we thank them for their efforts. Here's a list which is likely incomplete:

Martin Payne's Windows binaries (MSVC and MinGW)
Florian Echtler's MPX Patch

If you have problems with these packages, please contact their maintainers - we of the FreeGLUT team probably can't help.

Development Releases

SVN trunk tarball
Anonymous SVN Instructions


Don't be afraid to ask for help. We don't bite. Much.

Send FreeGLUT related questions to the appropriate FreeGLUT mailing list:

Please note that you must subscribe before you can post to our mailing lists. Sorry for the inconvenience.