openFrameworks sunxi mali framebuffer support


For the last several months I have been working to add support for the mali framebuffer using for AllWinner SoCs commonly referred to as sunxi. The changes are built on the Raspberry Pi changes and have gone through several iterations. Assistance in developing the necessary changes was provided by @bakercp and @fieldOfView.

See these posts for background:

At this point I would like to submit the changes for review prior to submitting a pull request. The changes can be found here:

and are implemented on the feature-sunxi branch.

Details on the changes can be found in the commit logs etc… but primarily consist of:

  • Changes to ofAppEGLWindow and ofAppRunner.
  • The addition a library that is required to be included,
  • The addition of an example based on the Raspberry Pi example.
  • The addition of a make file.

In addition updates were made to ofTrueTypeFont.cpp to handle include files for freetype 2.5.1.

Please provide feedback as to the suitability of these changes being added. Once feedback has been provided I will make any necessary changes and submit a pull request.




This would be great. Yay for all Allwinner A10 and A20 boards and sticks (and tablets and boxes)!

In ofAppRunner.cpp there are a couple of instances where you’re now checking for defined(TARGET_RASPBERRY_PI) || defined(TARGET_SUNXI_MFB) to use EGL instead of GLF. I am wondering if it would not be better in the long run to introduce a USE_GLES platform-define, which is added to both the raspberry pi and sunxi build configs. Similarly a USE_FRAMEBUFFER might be interesting. This way, if at a later stage a PowerVR-based branch comes along we don’t have to do defined(TARGET_RASPBERRY_PI) || defined(TARGET_SUNXI_MFB) || defined(TARGET_POWERVR) || defined(TARGET_VIVANTI) etc.