Allegro 5.2.2 released!

Wow! Yet another release of Allegro!

As a special treat, Windows packages now come with OPUS support so if you're into hipster file formats, you can go wild.

Check out the source archives here.

MSYS2 binaries are available here with the dependency packages available here.

You can grab the MSVC Nuget package here.

Ubuntu and homebrew will be updated in the coming days as usual.

Changes from to 5.2.2 (December 2016)

The main developers this time were: Trent Gamblin, SiegeLord, Elias Pschernig.


  • Don't accumulate time in the timer while it is stopped.

  • Use dynamic OpenGL ES checks, so binaries produced on newer platforms don't crash on older ones.

  • Destabilize the OpenGL extensions API (BREAKING CHANGE!).

Raspberry Pi port

Android port

  • Fix buffer overrun and memory leak in the clipboard support.

  • Add WANT_GLES3 to disable some of the newer features on platforms where they aren't supported.

  • Fix build in Android versions below 3.1.

  • Fix a crash when activity is destroyed/paused.

  • Allow building for android mips, arm64 and mips64.

  • Add al_android_get_jni_env and al_android_get_activity utility functions.

  • Update manifest files for newer Android versions.

Windows port

  • Handle keyboard input properly when Ctrl is pressed (Tobias Scheuer).

Hurd port

  • Define a fallback PATH_MAX (Andreas Rönnquist).

OSX port

  • Clear window to black when going in/out of fullscreen.

  • Fix window centering when going out of FULLSCREEN_WINDOW mode.

  • Fix OSX 10.12 build.

  • Allow 32 bit builds on OSX (Marcus Calhoun-Lopez).

Build system

  • Fix issues with building on GCC6 on Windows.

  • Fix source directory littering while configuring the Android build.

Python binding

  • Add support Python 3 (Gabriel Queiroz).



  • Add kerning to the al_get_glyph example in ex_ttf.

  • Various fixes in ex_camera (Erich Erstu).


0fd76b6b556fec5dd8f587ce694ae7ee7fa2eeb464fa20646615db19b7a836ec  Allegro.
258f264aa4671592adaaaf70ca4bda3660d994f5dc0d3cbd1dfe168f015331c2  allegro-
e285b9e12a7b33488c0e7e139326903b9df10e8fa9adbfcfe2e1105b69ce94fc  allegro-5.2.2.tar.gz
ed4d6000fb8a944c818a8f69626bd233c6412ab7d103e7e9d300e01347264db5  AllegroDeps.

Edgar Reynaldo

I may not be making binaries for MinGW this time. There have been some unresolved issues with DirectX lately. If I can steal the headers and libs from MSYS2 I might do it, but I don't know what is involved.

As an aside, is it even possible to build Allegro without DirectX support? I know DirectInput is required for Windows, and I don't know about DirectSound. Can OpenAL replace DirectSound? What are the hard and fast requirements for a Windows build?


Just DirectInput, I think. OpenAL can replace DirectSound.

Rodolfo Lam

Wohoo optimizations for Raspberry Pi are welcome! Thanks guys!


Great work! :)

SiegeLord said:

Fix source directory littering while configuring the Android build.

Ah, this was quite annoying; good to see it fixed.
I've just tried it; there's still 3 files created inside of android/example, though. Is that intentional?


No, that's not intentional. What are the 3 files and do you know where in CMakeLists.txt they get written to the wrong directory?


These are android/example/, ./, and ./jni/
I think android/example/Example.cmake is the culprit with CMAKE_CURRENT_SOURCE_DIR being referenced via EXAMPLE_DIR in the configure_file commands.

Gideon Weems
SiegeLord said:

Use dynamic OpenGL ES checks, so binaries produced on newer platforms don't crash on older ones.

That sounds really cool but also involving to test. Allegro keeps getting better! I didn't even realize there was a Hurd port. :o


Add support Python 3 (Gabriel Queiroz).



Pretty nice to know that a new version have been released but, how do I install Allegro 5.2.2 in Code::Blocks?, I mean, V5.0.10 had bin and lib folders, but his one lacks of them :-[

Edgar Reynaldo

There are binaries for MSYS2 available. MSYS2 comes with MinGW-W64 and 32. Setup Codeblocks right and they should work.

See here :


You can grab pre-built Allegro binaries here:, they'll have your lib and bin folders. You probably want one with 'dynamic' in its name, and probably x64 if you're using Windows7 and above.

Don Freeman

Trying to run the curl example and the window opens along with the log window but does nothing...just blank screen. Running Ubuntu mate 16.04. Everything compiled without complaints. libcurl version reports as 7.47.0 :-/ Everything else seems to work...haven't tried video yet though.


There was a bug in how example interacted with libcurl, leading to a hang. Should be fixed now on master, thanks for reporting this.


Polybios: Sorry, was busy with work and then Krampushack - but I believe this pull request should fix the source folder littering:

Ideally we should not show how to build for Android in an unsupported way any longer and update the example to use a gradle based build.

Thread #616640. Printed from