ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ΅Π½ ΡΡΡΠ²ΡΡ , ΡΠ°Π·Π²ΠΈΠ²Π°Ρ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄ΠΏΠΎΠΌΠ°Π³Π°Ρ ΠΏΡΠ»Π½Π°ΡΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Π² Enlightenment, GNOME, KDE ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΠ΅Π΄ΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Weston Π΅ Π½Π°ΡΠΎΡΠ΅Π½Π° ΠΊΡΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° Wayland Π² Π΄Π΅ΡΠΊΡΠΎΠΏ ΡΡΠ΅Π΄ΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎ-ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ, ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΌΠ΅ΠΆΠ΄ΡΠΏΡΠΎΡΠ΅ΡΠ½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈΡΠ΅ Wayland 1.18 Π·Π° 11 ΡΠ΅Π²ΡΡΠ°ΡΠΈ.
ΠΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈΡ Π½ΠΎΠΌΠ΅Ρ Π½Π° Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° Weston Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π° ΠΎΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ABI, Π½Π°ΡΡΡΠ°Π²Π°ΡΠΈ ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡΠ°. ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Weston:
- Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° DRM (Direct Rendering Manager) Ρ
Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΠ°Π½Π΅ Ρ ΡΠ΅Π³ΠΈΠΎΠ½ΠΈΡΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅ΡΠ° (hardware planes);
- Π Π±ΡΠΊΠ΅Π½Π΄ , ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° ΡΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π½Π° ΡΠ΄ΡΠΎΡΠΎ DRM (Direct Rendering Manager), KMS (Kernel Mode Setting) ΠΈ evdev, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π·Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ Π½Π° Π·Π²ΡΠΊΠΎΠ²ΠΎ ΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ , ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎΡΠΈΠ³Π½Π°Π»Π°, ΠΏΡΠ΅Π΄Π°Π²Π°Π½ ΠΏΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΈ DVI, DisplayPort, HDMI, GVIF ΠΈΠ»ΠΈ UDI;
- Π gl-renderer Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠ΅Π½ Π΄ΠΎΡΡΡΠΏ ΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΅ΠΊΡΠ°Π½Π½ΠΈ ΡΠ½ΠΈΠΌΠΊΠΈ Π½Π° ΠΎΠ±Π»Π°ΡΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π·Π°ΡΠΈΡΠ΅Π½ΠΎ ΠΎΡ ΠΊΠΎΠΏΠΈΡΠ°Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅;
- Π Π±ΡΠΊΠ΅Π½Π΄ headless, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅ Π±Π΅Π· Π΅ΠΊΡΠ°Π½, Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅ Π² Π±ΡΡΠ΅Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° OpenGL (Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΎΠΏΡΠΈΡ ββuse-glβ), ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Π΅ΠΊΡΠ°Π½Π° Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΎ Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ;
- Π Π±ΡΠΊΠ΅Π½Π΄Π° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ ΠΏΡΠ΅Π· ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DRM (Direct Rendering Manager) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ Π±Π΅Π· Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° (Generic Buffer Manager), ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π½Π° Π² Mesa Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±ΡΡΠ΅ΡΠΈΡΠ΅ Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅. ΠΠΌΠ΅ΡΡΠΎ ΡΠΎΡΠΌΠ°ΡΠΈ GBM ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΎΡΠΌΠ°ΡΠΈ , ΠΏΡΠΈΠ»Π°Π³Π°Π½ΠΈ Π² ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° DRM;
- ΠΠ° Π΄Π° ΡΠ΅ Π½Π°ΠΌΠ°Π»ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² Π½ΡΠΊΠΎΠΈ GPU, Π²Π΅ΡΠ΅ Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΎ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° EGL-ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠΎ ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΠΈΡΠ΅, ΠΏΡΠΎΠΏΡΡΠΊΠ°ΠΉΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠΈ, Π² ΠΊΠΎΠΈΡΠΎ Π½ΡΠΌΠ° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ;
- Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π½Π° ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π·Π° Π²ΠΎΠ΄Π΅Π½Π΅ Π½Π° ΠΎΡΠ»Π°Π΄ΡΡΠ½ΠΈ Π»ΠΎΠ³ΠΎΠ²Π΅;
- Π gl-renderer Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠΎΡΠΌΠ°ΡΠ° XYUV;
- Π ΡΠΏΡΠ°Π²ΠΈΡΠ΅Π»Ρ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈΡΠ΅ xwm ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΡΠ° Wayland ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ° Ρ Xwayland, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ΡΠΎ Π½Π° Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΈ ΠΏΡΠΈ Π΄Π΅ΠΊΠΎΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ Π½Π° X11 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΡΠ½Π°ΡΠΈ Π² ΡΡΠ΅Π΄Π°, Π±Π°Π·ΠΈΡΠ°Π½Π° Π½Π° Wayland;
- ΠΠ°ΠΌΠ°Π»Π΅Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΏΡΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Ρ ΠΎΠΌΠΎΠ³Π΅Π½Π΅Π½ ΡΠΎΠ½ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡ ΠΏΠ»ΠΎΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±ΡΡΠ΅Ρ 1Γ1 Π·Π° ΡΠ΅Π»ΠΈΡ viewport;
- ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ dmabuf Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΊΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΡΠ° Π½Π° Π΅ΠΊΡΠ°Π½Π°.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
