The Allegro Wiki is migrating to github at

New front page text for website

From Allegro Wiki
Revision as of 19:58, April 1, 2014 by Beoran (talk | contribs) (Improved feature table layout)
Jump to: navigation, search
This article is incomplete and needs some revision or has some pending TODOs. Please help Allegro by editing and finishing it. When the article becomes complete, you may remove this tag.

Welcome to Allegro 5!

Allegro 5 is a cross-platform library designed mainly for game development and multimedia programming. It provides low level functionality to access modern graphics, audio hardware, as well as various kinds of input devices. Allegro 5 is not a game engine however, so you retain complete freedom and control over the design and structure of your program.

With Allegro 5 you can create windows, accept user input, load data, draw images, play sounds, etc. and generally abstract away the underlying platform. It accesses graphics hardware through OpenGL or Direct3D and will happily accept being used alongside them - utility functions for integration are available. Due to its modular structure, you can also leave certain jobs (e. g. audio) to other libraries, if you prefer to do so.

Allegro 5 officially supports Windows using MSVC or MinGW, Linux, Mac OS X, iOS and Android.

Written in C, Allegro5 provides a clear and consistent API with an intuitive naming scheme that can easily be used with C++ as well. Wrappers exist for Python, Lua, D, Chicken Scheme and mruby.

Allegro5 is open-source and distributed under a MIT license. You may use it freely for any kind of software.

If you need advice or support, you can ask our friendly, long-standing, active community that is always willing to help.


Allegro 5 supports the following features:

  • Managing one or more display windows in full screen or windowed mode.
  • Transformation matrices.
  • Portable handling of timers and time.
  • 2D Graphics routines: bitmap drawing, memory bitmaps, sub-bitmaps, deferred drawing, blending, direct memory access through bitmap locking
  • Event driven input handling, with support for joystick, keyboard, mouse, and touchscreen input devices, and custom events.
  • Portable thread management.
  • OpenGL and Direct3D integration, OpenGL extension management and shaders.
  • Portable handling of file I/O, configuration files, file paths and the file system.
  • And more!

Additionally, the following features are optionally available through well-integrated addons:

  • Flexible audio and audio stream system with audio codecs for .wav, .flac, .ogg, .it, .mod, .s3m and .xm. files.
  • Loading TrueType or bitmap fonts, text rendering.
  • Converting between various color formats.
  • Image loading and saving in BMP, PCX, TGA, PNG and JPEG format.
  • Native dialogs.
  • Loading resources from archives via PhysicsFS.

Completely rewritten, Allegro5 is a major milestone in Allegro's long and proud history of being an easy-to-use library. If you're looking for the legacy version, you can find it here.