OpenGL ES Emulator

Emulator for OpenGL ES 2.0, 3.0 and 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.

Features and 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


For help and support from ARM and fellow developers, please visit the ARM Mali Graphics Developer Community.


  • Using latest Mali Offline Compiler with support for OpenGL SL 310 es version of shader language
  • Fixed problem with incorrect log content on successful OpenGL SL 310 es shader compilation.
  • Improving mix(…)  built-in functions support in OpenGL SL 310 es shaders.
  • 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.

  • Fixed problem with MSAA using EGL configurations
  • 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
    • 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

See previous releases here.