Application programming interface
EGL is aninterface betweenKhronosrendering APIs (such asOpenGL,OpenGL ES orOpenVG) and the underlying native platformwindowing system. EGL handles graphics context management,surface/buffer binding,rendering synchronization, and enables "high-performance, accelerated, mixed-mode2D and3D rendering using other Khronos APIs."[2] EGL is managed by thenon-profit technology consortiumKhronos Group.
The acronymEGL is aninitialism, which starting from EGL version 1.2 refers toKhronos Native Platform Graphics Interface.[3] Prior to version 1.2, the name of the EGL specification wasOpenGL ES Native Platform Graphics Interface.[4]X.Org development documentation glossary defines EGL as "Embedded-System Graphics Library".[5]
Wayland clients use EGL to directly draw into the
framebuffer. The display server sits between the
kernel (
here:Linux kernel) and its clients. It communicates with its clients over a given protocol.
- TheBlackBerry 10 andBlackBerry Tablet OS mobile device operating system uses EGL for 3D graphics rendering. Both support EGL version 1.4.[6]
- TheAndroid mobile device operating system uses EGL for 3D graphics rendering.[7]
- TheWayland display server protocol uses EGL.[8] It is implemented in a way that Wayland clients will draw directly to the framebuffer using EGL.
- Mesa 3D has an implementation of EGL formerly known as Eagle.[9]
- TheMir display server protocol byCanonical Ltd. uses EGL.[10]
- TheSimple DirectMedia Layer toolkit has been ported to use EGL. It can useXlib, write directly to theframebuffer or use EGL.
- TheRaspberry Pi single-board computer has an EGL interface to hardware-accelerated 3D graphics rendering.[11]
- The proprietaryNvidia driver 331.13 BETA from 4 October 2013 supports the EGL API.[12]
- Tizen OS uses EGL with either OpenGL ES 1.1 or OpenGL ES 2.0 for 3D graphics rendering[13]
- WGL – the equivalentWindows interface to OpenGL
- CGL – the equivalentOS X interface to OpenGL
- GLX – the equivalentX11 interface to OpenGL
- AIGLX – an attempt to accelerate GLX
- WSI – the Vulkan Window System Interface (WSI) does for Vulkan what EGL does for OpenGL ES.