Allegro.cc - Online Community

Allegro.cc Forums » Allegro Development » My fork: Allegro with Mir/Ubuntu Touch support

This thread is locked; no one can reply to it. rss feed Print
My fork: Allegro with Mir/Ubuntu Touch support
Max Savenkov
Member #4,613
May 2004
avatar

I commited Mir/Ubuntu Touch support to my fork of Allegro.

Added flags:

WANT_UBUNTU_TOUCH - signifies that we are building for Ubuntu Touch, not just some other random Unix system.

WANT_MIR - signifies that we want Mir support (not necessarily tied to Ubuntu Touch!).

It's not implemented very cleanly, mostly because I needed to #ifdef-out all fixed pipeline stuff, and in some places it was already done in some other ways (see usages of ALLEGRO_CFG_OPENGLES2_ONLY).

I also wrote keyboard & mouse drivers, which, theoritically, should allow this port to support Mir on desktop, but since I don't have it installed, I never tested this code, so it might be full of bugs.

Multi-windows support is not implemented (event handling would need to be redone a bit for it to work).

Number of mouse buttons is hard-coded as Mir does not report this information, and I haven't gotten around to finding it out in some other way.

Joystick support is not a part of mir, so a system with Mir, but no XInput will not have joystick support, but even with XInput I'm not sure anything will work, since we don't have X display.

Beware of bugs and lacking features :)

Recommended flags for compilation, in case you will need to use Ubuntu SDK, which has awful interface for working with CMake:

-DWANT_UBUNTU_TOUCH=ON -DWANT_MONOLITH=ON -DWANT_GLES2=ON -DWANT_FONT=ON -DWANT_TTF=ON -DWANT_ACODEC_DYNAMIC_LOAD=OFF -DWANT_PHYSFS=OFF -DWANT_VIDEO=OFF -DWANT_DOCS=0 -DWANT_DEMO=0 -DWANT_TESTS=0 -DWANT_EXAMPLES=OFF -DWANT_OPENGL=1 -DWANT_VORBIS=ON -DWANT_AUDIO=ON -DWANT_MEMFILE=ON -DSHARED=OFF -DWANT_OSS=OFF -DCMAKE_BUILD_TYPE=RelWithDebugInfo

P.S. Do you think it's time to get rid of all the fixed-pipeline stuff in OpenGL code maybe?

SiegeLord
Member #7,827
October 2006
avatar

That's pretty sweet.

P.S. Do you think it's time to get rid of all the fixed-pipeline stuff in OpenGL code maybe?

On paper, we still technically support older platforms... so probably not yet.

"For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18
[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]

Max Savenkov
Member #4,613
May 2004
avatar

SiegeLord said:

On paper, we still technically support older platforms... so probably not yet.

I wonder if some newer platforms will start dropping it, like Ubuntu Touch did. I see this as a possible move on iPhone - Apple's not afraid to break backward compatibility with older apps, and likes to push developers to new technologies. They might not outright ban OpenGL in favor of Metal, but they might get rid of ES1. This is pure speculation, of course.

Another platform I would like to port Allegro to is Windows Phone (as we support it at work), but I know nothing of DirectX (this is why I picked up Allegro in the first place, heh), to say nothing of DirecX 11 or 12.

Go to: