The Allegro Wiki is migrating to github at

New front page text for website

From Allegro Wiki
Revision as of 07:00, April 1, 2014 by Beoran (talk | contribs) (Added features, and some various editing)
Jump to: navigation, search


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.
  • Loading of configuration files.
  • Portable file I/O, file path and file system handling.
  • 2D Grapthics routines, bitmap handling and blitting.
  • Event driven input handling.
  • Support for joystick, keyboard, mouse, and touchscreen input devices.
  • OpenGL and Direct3D integration.
  • Transformation matrixes.
  • Portable memory management.
  • Timers and time handling.
  • Portable thread handling.
  • UTF-8 string routines.
  • Fixed point math.

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

  • Flexible audio and audio stream system.
  • Audio codecs for .wav, .flac, .ogg, .it, .mod, .s3m and .xm. files.
  • Color handling.
  • Loading TrueType fonts or bitmap fonts, and text rendering.
  • Image loading and saving in BMP, PCX, TGA, JPEG and PNG format.
  • Using a block o memory as if it was a file withthough the Memfile addon.
  • Native dialogs.
  • PhysicsFS for loading resources from archives.
  • Drawing 2D primitives.

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.