Software Development Kit for Linux

The Mali OpenGL® ES Software Development Kit is a collection of resources to help you build OpenGL ES 2.0 and the latest OpenGL ES 3.0  applications for Mali GPU based platforms.

The various examples and tutorials are built upon a simple framework that can be easily integrated within your own applications.

What’s New in Version 2.4
  • Added Metaballs sample
  • Added ASTC sample
  • Added Cubemap/Skybox sample
What’s New in Version 2.3
  • Added Particle system sample
  • Added OpenGL ES 2.0 Shadow Map sample
  • Added Fur rendering sample
  • Added Simple Text rendering sample
What’s New in Version 2.2
  • 64-bit Host platform support
  • Updated OpenGL ES Emulator to v1.2.0
What’s New in Version 2.1
  • New samples : Occlusion Queries, Shadow Mapping and Min-Max blending
  • Added development on Linux support
  • Updated OpenGL ES 3.0 Emulator to version 1.1 (Khronos Conformant)
  • Documentation improvements


  • Samples & Tutorials
    Numerous samples from the basic set-up to more complex examples demonstrating shader effects
    New samples demonstrating features of OpenGL ES 3.0
  • Visual Studio Projects
    Project files for all samples supplied for Visual Studio. Make files also provided for command line building
  • Simple Framework
    A light weight framework with common math functions, text displaying & timing to see your results quickly
  • Android & Linux on ARM Support
    Packages provided for Linux on ARM and Android Development. Examples for both Android SDK and Android NDK are provided in the OpenGL ES 2.0 SDK for Android package





EGLConfig Listing
How to select the correct EGLConfig from the provided list

Empty template that you can use to start developing a new application.The code is structured to contain everything that is required to compile and run, but nothing is rendered



Simple Triangle
How to draw a simple coloured triangle on the screen using a programmable shader

Spinning Cube
This displays a spinning cube on the screen.The example uses matrix functions, renders fonts, and writes the FPS value to the terminal



This shows how to select anti-aliasing levels and the effect of different levels of anti-aliasing. 4x Anti-Aliasing only reduces performance by 2% on Mali GPU but has a huge visual impact when enabled



ETC Texture Compression with Alpha Channels
This example shows how to handle alpha channel compression within the Ericsson Texture Compression ETCv1 format as standardized by the Khronos group



ETC Textures with Mipmaps
This example shows how to load and display ETC format textures with Mipmaps

EGL Preserve
Color buffer preservation example

This example shows the render-to-texture feature of OpenGL ES 2.0. A colored spinning cube is rendered to a frame buffer, which is then attached as a texture on the faces of another spinning cube

This example shows how to implement a classic demo effect, rotating and zooming a texture. It shows how the work can actually be moved up from the fragment shader to the vertex shader and CPU to speed up the effect

This shows how to use transform feedback to do calculations on the GPU using shaders. Movement calculations are done on the GPU. Data is not transferred back to the CPU, thus reducing memory transfers

This shows how to use instancing in a vertex shader to render multiple copies of the same geometry with different properties. A single copy of the geometry is uploaded to the GPU to reduce memory transfers

Instanced Tesselation
This shows how to use instancing to create high complexity shapes from low-complexity geometry data. Patch data is combined with control points that are uploaded into buffers to create a complex model of a torus

ETC2 Texture Demo
This shows how to use each of the ten ETC2 texture compression formats that are supported in OpenGL ES 3.0

Integer Logic
This shows how to use integer formats in shaders. The sample demonstrates Rule 30 Cellular Automata



OpenGL ES SDK for Linux on ARM

Documentation included with installed package

Related Documentation

Performance Optimization of Embedded 3D Graphics Applications
Mali GPU Developer Tools Overview Slides
Mali GPU Developer Tools Technical Overview


Please submit your questions and issues to the Mali Developer Forums »