参考资料
- (Wiki)GLX、DRI、Free and Open-Source Graphics Device Driver
窗口系统、图形API的演化
- 帧缓冲
- 应用程序 –> 帧缓冲驱动 –> GPU
- X窗口系统
- 应用程序 –> X –> X服务器 –> 2D驱动 –> GPU
- X服务器
- 设备无关的X(Device-Independent X,DIX)
- XFree86加速架构(XFree86 Acceleration Architecture,XAA)
- 设备相关的X(Device-Dependent X,DDX)
- OpenGL图形API
- (间接渲染,经过X)应用程序 –> GLX –> X服务器 –> Utah GLX驱动 –> GPU
- (直接渲染,不经过X)应用程序 –> OpenGL DRI驱动 –> GPU
- Linux内核,直接渲染管理器(Direct Rendering Manager,DRM)
- (桌面端渲染)应用程序 –> OpenGL DRI驱动 –> DRM –> GPU
- (移动端渲染)应用程序 –> OpenGLES DRI驱动 –> DRM –> GPU
- Wayland窗口系统
- 应用程序 –> EGL –> OpenGLES DRI驱动 –> DRM –> GPU
- 应用程序 –> Wayland合成器 –> EGL –> OpenGLES DRI驱动 –> DRM –> GPU
- Linux内核,内核态设置(Kernel Mode Setting,KMS)
- 应用程序 –> Wayland合成器 –> ioctl –> KMS –> GPU