Skip to content

Releases: freeglut/freeglut

freeglut 3.8.0

16 Nov 19:02

Choose a tag to compare

Release date: 16 November 2025

Changes

  • New experimental Cocoa (native MacOS X) backend.
  • Add glutSwapInterval, to control vsync (currently X11 and win32 only).
  • glutExtensionSupported now also reports platform extensions (GLX/WGL).
  • Fix build issues with new cmake versions while maintaining compatibility with old cmake.
  • Fix handling of UTF8 window/icon titles.
  • Fix issue with some X11 window managers not properly restoring iconified windows (send _NET_ACTIVE_WINDOW EWMH client message).
  • Fix build issues with C23 compilers (empty argument list semantics).
  • Fix compatibility with older versions of windows which don't have RAWHID support (before XP), by loading the entry points dynamically.
  • Fix glutInitDisplayString parsing of "aux", and add =N parsing support to specify samples and auxbufs.
  • Various fixes and improvements in the GameCube/Wii backend.
  • Altbuild support for Solaris 2.6/SUN Workshop C.
  • Started conversion of documentation from the website to markdown in the source tree: doc/api.md
  • Added the original GLUT manpages, with permission from Mark Kilgard.
  • New demos: accum, vsync, and windows.
  • Cleanup of some old and no longer relevant, or redundant comments in the source code.
  • Removed some out of date README files, and updated others.

freeglut 3.6.0

11 Jun 23:08

Choose a tag to compare

Release date: 12 June 2024

Changes

  • New platforms: Nintendo Gamecube and Nintendo Wii.
  • Minimum cmake version raised to 3.1.
  • Make XInput an optional dependency.
  • Fix incorrect modifier bit mapped to GLUT_ACTIVE_SUPER on X11.
  • Add support for ARM64 MSVC targets.
  • Fix for unicode builds on windows.
  • Fix build on some versions of MinGW carrying an incorrect winuser.h.
  • Fix menu-related memory leak when an error occurs.
  • Various build improvements & fixes.

freeglut 3.4.0

07 Oct 16:15

Choose a tag to compare

Release date: 7 October 2022

Changes

  • Add GLUT_ACTIVE_SUPER modifier, and corresponding GLUT_KEY_SUPER_L and GLUT_KEY_SUPER_R special keys. These map to Windows/Command keys.
  • Fix RGB mode (GLUT_RGBA) colors on 8bpp displays on windows (construct default RGB332 palette).
  • Fix indexed color context creation on X11 and windows (GLUT_INDEX).
  • Add missing colormap management functions for X11 and windows (glutSetColor, glutGetColor).
  • Fix crash when calling glutTimerFuncUcall.
  • Fix FreeBSD build by essentially disabling the joystick code for newer FreeBSD versions. It will eventually need to be replaced/fixed.
  • Add fallbacks for the old GLX (<1.3) context creation API (glXChooseVisual/glXCreateContext), makes us compatible with IRIX 5.x and other old UNIX systems.
  • Add fallbacks for OpenGL 1.0 (no vertex arrays/client state).
  • Use nanosleep instead of usleep on UNIX, which is more widely supported on old UNIX systems.
  • Fix build on X11 if GL_SAMPLES is not defined.
  • Fix overly strict context version checking on Android leading to context creation failure in some cases.
  • Fix GLUT_CURSOR_INFO on windows, should be IDC_HAND, not IDC_HELP.
  • Fix mismatched font declarations on X11.
  • Add alternative simple ways to build freeglut with native tools only, without having to use cmake.
  • Fix build on windows with cmake 3.0.0. Explicitly link with gdi32.
  • Fix build on MSVC 2005.
  • Fix build on MacOS X. Link with all the necessary X libraries.
  • Fix build on SGI IRIX.
  • Fix build on Android (mismatched function prototypes and missing glutCreateMenuUcall).
  • Add support for the ninja multi-config generator.
  • Removed spurious dependency on a C++ compiler. One of the demos was being compiled as C++ for no reason.
  • Silence unnecessary warnings when VBOs or GLSL are not available.
  • New demo programs: 3dview, keyboard, joystick.
  • Documentation: added MacOS X build instructions.
  • Made it possible to eventually support building freeglut as a single compilation unit, by avoiding name conflicts on static variables.
  • Other minor fixes.

freeglut 3.2.2

09 Mar 00:59

Choose a tag to compare

Release date: 6 February 2022

Changes

  • Fix netbsd/aarch64 build by including sys/joystick.h instead of machine/joystick.h.
  • Fix build with gcc >= 10 which made -fno-common the default by no longer relying on COMMON symbols for globals.
  • Fix android build (default to FREEGLUT_GLES, and check for debug flags).
  • Add flat shading option to the shapes demo.
  • Fix crash when calling primitive drawing functions without creating a window first.
  • Dropped really old and unmaintained doc directory from the source tree.

freeglut 3.2.1

09 Mar 00:48

Choose a tag to compare

Release date: 29 September 2019

Changes

  • Fixed failure to install glut.h when the "replace glut" build option is enabled.
  • Take into account CMAKE_INSTALL_LIBDIR in the installed cmake module.
  • Fixed broken menu drawing when the user requests a core profile context.

freeglut 3.2.0

09 Mar 00:48

Choose a tag to compare

Release date: 16 September 2019

Changes

  • Added new callback registration functions and corresponding callback types in the extended API, which take an extra user pointer, and pass it through to the callbacks (ucall API).
  • Added initial wayland support.
  • Fixed mousewheel callbacks on X11.
  • Fallback to non-sRGB context, instead of crashing, if the user requested SRGB but failed to get one.
  • Added GLUT_WINDOW_SRGB query to check if the context supports sRGB or the fallback was triggered.
  • Added missing spaceball support for windows.
  • Fixed crash on re-init after having set a custom cursor.
  • Added init error handler demo.
  • Added cmake package.
  • Added GLUT_ALLOW_NEGATIVE_WINDOW_POSITION option.
  • Fixed incorrect library name in pkg-config files when building with "replace glut" option disabled.
  • Added spaceball button definitions in the extended API header.
  • Added the "replace glut" option on windows too.
  • Fixed missing static defines from pkg-config.
  • Fixed incorrectly trying to install glut.h when the "replace glut" option is disabled.
  • Take "maximized" state into account when updating the visibility flag on windows.
  • Corrected "exit state" checking in the main loop, by placing the check after every glutMainLoopEvent invocation.
  • Added checking for the XInput dependency in cmake.
  • Fixed netbsd build (joystick code).
  • Fixed -pedantic GCC warnings on GNU/Linux.
  • Fixed PDB installation for nmake/msvc builds on windows.
  • Clear window work mask when marking it for destruction.
  • Fixed android build with clang.
  • Fixed GLUT_STEREO on nvidia windows drivers, which don't play well with fullscreen windows with frames.
  • Fixed original-GLUT compatibility in spaceball button numbering.
  • Dropped unnecessary X11 utility library dependencies.
  • Fixed namespace pollution due to some global symbols missing the fg prefix.
  • Fixed improper setting of the non-blocking flag in the joystick code on UNIX.

freeglut 3.0.0

09 Mar 00:47

Choose a tag to compare

Release date: 7 March 2015

freeglut 2.4.0

09 Mar 00:40

Choose a tag to compare

Release date: 10 June 2005

freeglut 2.2.0

09 Mar 00:39

Choose a tag to compare

Release date: 13 December 2003

freeglut 2.0.1

09 Mar 00:38

Choose a tag to compare

Release date: 15 October 2003