OpenGL ES Emulator for OpenGL ES 2.0, OpenGL ES 3.0 and OpenGL ES 3.1

Develop applications for the next generation graphics API

The OpenGL® ES Emulator is a library that maps OpenGL ES 3.1 API calls to the OpenGL API. By running on a standard PC, the emulator helps software development and testing of next generation OpenGL ES 3.1 applications since no embedded platform is required. The emulator requires a graphics card that supports at least OpenGL 4.3.

View previous releases

Features & Benefits

  • OpenGL ES 3.1 Emulation High Performance OpenGL ES 3.1 Emulation accelerated by desktop GPU capable of OpenGL 4.3. Support for OpenGL ES features such as transform feedback, multiple render targets, instancing and more
  • Submitted to Khronos for OpenGL ES 3.0 Conformance Non-compromised development of OpenGL ES 3.0 development on desktop
  • Tutorial Examples Example applications to demonstrate ease of use

Release Notes

What’s New in Version 2.2Latest version

  • Extensions from Android Extension Pack supported:

    • KHR_debug
    • KHR_texture_compression_astc_ldr
    • KHR_blend_equation_advanced
    • OES_sample_shading
    • OES_sample_variables
    • OES_shader_image_atomic
    • OES_shader_multisample_interpolation
    • OES_texture_stencil8
    • OES_texture_storage_multisample_2d_array
    • EXT_copy_image
    • EXT_draw_buffers_indexed
    • EXT_geometry_shader
    • EXT_gpu_shader5
    • EXT_primitive_bounding_box
    • EXT_shader_io_blocks
    • EXT_tessellation_shader
    • EXT_texture_border_clamp
    • EXT_texture_buffer
    • EXT_texture_cube_map_array
    • EXT_texture_sRGB_decode
  • eglGetProcAddress  gives pointers to any of all implemented entrypoints.

What’s New in Version 2.1.1

  • Fixed problem with MSAA using EGL configurations

What’s New in Version 2.1

  • Support for Geometry shaders and Tessellation shaders, part of the Android Extension Pack
  • The following OpenGL ES extensions are now supported in the emulator:
    • GL_EXT_shader_io_blocks,
    • GL_EXT_gpu_shader5,
    • GL_EXT_geometry_shader,
    • GL_EXT_tessellation_shader

What’s New in Version 2.0

  • Added support for OpenGL ES 3.1 API version
  • Extensions GL_OES_EGL_image and GL_OES_EGL_image_external are supported for GLES 3.0 contexts

What’s New in Version 1.4.1

  • Buffer operations with GL_PIXEL_UNPACK_BUFFER binding point and compressed textures fixed.
  • Implementation of glMapBufferOES improved.
  • DEB package installation on Ubuntu 14.04 free from warning messages.
  • Fixed implementations of EGLImage and glEGLImageTargetTexture2DOES.
  • Fixed glViewport not updating resolution when re-using same context with various EGL surfaces.

What’s New in Version 1.4

  • Single library containing complete EGL/OpenGL ES emulation code for improving library loading scenarios.
  • Improvements on how textures are working in various use scenarios.
  • Shader source processing is reflecting extension support correctly.
  • Providing mali-cube executable for installation verification.
  • Debian Software Package (.deb) now available for Ubuntu

What’s New in Version 1.3.2

  • Added support for NVIDIA GPU drivers version newer than 332.76

What’s New in Version 1.3.1

  • Support for additional OpenGL ES extensions.
  • Improved support of existing OpenGL ES extensions under OpenGL ES 2.0 and 3.0 contexts
  • Improved handling of depth textures
  • Various improvements and bug fixes

What’s New in Version 1.2

  • Support for ASTC compressed textures
  • Support for new OpenGL ES extensions
  • General bug fixes and improvements

What’s New in Version 1.1

  • Added support for context sharing
  • OpenGL ES 3.0 Khronos conformant
  • Added support for ETC1 Textures in addition to ETC2
  • Added support for OpenGL ES 2.0 contexts
  • Improved ESSL error detection
  • General bug fixes and improvements


Open the download dialog to access the User Guide.



Please submit your questions and issues to the Mali Developer Forums