Linux graphic 架構還滿複雜的, 在看時需要大略了解几個名詞及之間的關係.
X Window System:
目前來到第11版本所以叫X11, 是以X window System Core protocol為基礎的window system.wayland:
由於X11太過複雜且在embbeded system中的效能不佳, 用來取代X window System Core protocol.weston (wayland compositor):
以wayland protocol來實做的compositor做為參考的範例, 實用上會用Westeros, Clutter…等.KMS/UMS:
Kernel mode-setting 及User mode-setting.OpenGL: 由Khronos Group制定的跨平台graphic API.
GLX:
是一個extension, 做為OpenGL與X window system之間的橋樑. 就像embedded system的EGL, MacOS的AGL.DRM(Direct Rendering Manager):
為了防止世界被破壞, 保護世界的和平. 防止同時使用graphic buffer.DRI(Direct Rendering Infrastructure):
Mesa及DRM之間的橋樑. Ref: Introduction to the Direct Rendering InfrastructureCRTC (CRT Controller):
Crtc is in charge of reading the framebuffer memory and routes the data to an encoder.
Other resources:
Linux GPU Driver Developer’s Guide
dri-explanation.txt
Linux Graphics Drivers: an Introduction
Direct Rendering Manager (DRM)
Using Linux Media Controller for Wayland/Weston Renderer
Graphics Stack Update
Graphic Architectures
Linux Graphics Stack 2013 Source
Intel Graphics Stack Architecture Diagram Source
Wayland/X11 Graphics Architecture Source
Android Graphics Architecture Source