Π‘ΠΌΠ΅Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ Weston ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ABI, Π½Π°ΡΡΡΠ°ΡΡΠΈΠΌΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²
-
ΠΠΎΠ²ΡΡΠ΅Π½Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ Π² DRM (Direct Rendering Manager) Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΡΠ΅Π³ΠΈΠΎΠ½Π°ΠΌΠΈ ΠΏΠ°ΠΌΡΡΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΌΠΈ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅ΡΠ° (hardware planes); - Π Π±ΡΠΊΠ΅Π½Π΄
DRM , ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΄ΡΠ° DRM (Direct Rendering Manager), KMS (Kernel Mode Setting) ΠΈ evdev, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°HDCP , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡΠΈΠ³Π½Π°Π»Π°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ DVI, DisplayPort, HDMI, GVIF ΠΈΠ»ΠΈ UDI; - Π gl-renderer
Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π·Π°Ρ Π²Π°ΡΠ°, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° ΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΡΠΈΠ½ΡΠΎΡΠΎΠ² ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π·Π°ΡΠΈΡΡΠ½Π½ΡΠΉ ΠΎΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½Ρ; - Π Π±ΡΠΊΠ΅Π½Π΄ headless, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ Π΄Π»Ρ ΡΠ΅Π½Π΄Π΅ΡΠΈΠ½Π³Π° Π±Π΅Π· ΡΠΊΡΠ°Π½Π°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ Π² Π±ΡΡΠ΅Ρ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ OpenGL (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ «—use-gl»), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΊΡΠ°Π½Π° Π² ΠΏΠ°ΠΌΡΡΠΈ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠ΄Π°Π»ΡΠ½Π½ΠΎΠΌΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡ;
- Π Π±ΡΠΊΠ΅Π½Π΄Π΅ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ DRM (Direct Rendering Manager) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ Π±Π΅Π· ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅
GBM (Generic Buffer Manager), ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅ΠΌΠΎΠΉ Π² Mesa Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ Π±ΡΡΠ΅ΡΠΎΠ² ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΡΠΌΠ°ΡΠΎΠ² GBM Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΡΠΎΡΠΌΠ°ΡΡFourCC , ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ΅ DRM; - ΠΠ»Ρ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΠ°ΠΌΡΡΡ Π² Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
GPU ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ EGL-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅
EGL_KHR_partial_update , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠ΅ΠΉ, ΠΏΡΠΎΠΏΡΡΠΊΠ°Ρ ΠΎΠ±Π»Π°ΡΡΠΈ, Π² ΠΊΠΎΡΠΎΡΡΡ Π½Π΅ Π±ΡΠ»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ; - Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΄Π»Ρ Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ Π»ΠΎΠ³ΠΎΠ²;
- Π gl-renderer Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡΠΌΠ°ΡΠ° XYUV;
- Π ΠΎΠΊΠΎΠ½Π½ΠΎΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠ΅ xwm
ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π·Π° Π²ΡΠ²ΠΎΠ΄ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΡ Wayland ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Xwayland, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ» ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΠΊΠΎΠ½ X11-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌΡΡ Π² ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠΈ Π½Π° Π±Π°Π·Π΅ Wayland; - Π‘Π½ΠΈΠΆΠ΅Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΎΠ΄Π½ΠΎΡΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ ΡΡΠΎΠ»Π° Π·Π° ΡΡΡΡ
ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° 1×1 Π΄Π»Ρ Π²ΡΠ΅Π³ΠΎ viewport-Π°; -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡweston-direct-display , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ dmabuf Π½Π°ΠΏΡΡΠΌΡΡ Π² ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅Ρ ΡΠΊΡΠ°Π½Π°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru