Π‘Π»Π΅Π΄ Π΄Π΅Π²Π΅Ρ ΠΌΠ΅ΡΠ΅ΡΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ, Π±Π΅ΡΠ΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° ΡΡΠ°Π±ΠΈΠ»Π½Π° Π²Π΅ΡΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈΡ ΡΡΡΠ²ΡΡ Weston 14.0, ΠΊΠΎΡΡΠΎ ΡΠ°Π·Π²ΠΈΠ²Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠ»Π΅ΡΠ½ΡΠ²Π°ΡΠΈ ΠΏΠΎΡΠ²Π°ΡΠ° Π½Π° ΠΏΡΠ»Π½ΠΎΡΠ΅Π½Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland Π² Enlightenment, GNOME, KDE ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΠ΅Π΄ΠΈ. Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° Weston ΠΈΠΌΠ° Π·Π° ΡΠ΅Π» Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈ Π²ΠΈΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π° ΠΊΠΎΠ΄ΠΎΠ²Π° Π±Π°Π·Π° ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠΈ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Wayland Π² Π΄Π΅ΡΠΊΡΠΎΠΏ ΡΡΠ΅Π΄ΠΈ ΠΈ Π²Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΊΠ°ΡΠΎ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ Π·Π° Π°Π²ΡΠΎΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΠΎ-ΡΠ°Π·Π²Π»Π΅ΠΊΠ°ΡΠ΅Π»Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΈ, ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠΈ ΠΈ Π΄ΡΡΠ³ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT.
ΠΡΠΎΠΌΠ΅Π½ΠΈ Π² Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° Weston:
- Π Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ ΠΏΡΠ΅Π· DRM (Direct Rendering Manager) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Ρ Π°ΡΠ΄ΡΠ΅ΡΠ½ΠΎ Π½Π°Π»Π΅ΠΏΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ (hardware underlay). ΠΠΊΠ»ΡΡΠ΅Π½ Π΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΌΠ΅ΠΆΠ΄Ρ Π΄Π²Π° Π±ΡΡΠ΅ΡΠ° Π² Π²ΠΈΠ΄Π΅ΠΎΠΏΠ°ΠΌΠ΅ΡΡΠ° (atomic async flip).
- Π ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° βmirror-ofβ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠ³Π»Π΅Π΄Π°Π»Π΅Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π°.
- Π Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ ΠΏΡΠ΅Π· ΠΌΡΠ»ΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΈΡ ΡΡΡΠ²ΡΡ Pipewire Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° DmaBuf.
- Π ΠΊΠ»ΠΈΠ΅Π½ΡΠ° simple-egl Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΎΠ·ΠΈΡΠ½ΠΈ ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΠΈ Ρ 16-Π±ΠΈΡΠΎΠ²ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΡΠ²Π΅ΡΠ°. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΎΠΏΡΠΈΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° EGL ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ EGL_EXT_present_opaque. Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ Π½Π° ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΠΈΡΠ΅.
- Π Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ ΠΏΡΠ΅Π· RDP ΠΏΡΠΎΡΠΎΠΊΠΎΠ» Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° FreeRDP 3.x.
- Π Π±Π΅ΠΊΠ΅Π½Π΄Π° Π·Π° ΠΈΠ·Ρ ΠΎΠ΄ ΠΏΡΠ΅Π· VNC Π΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΡΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° TLS ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΡΠΎΠ»Π° Π·Π° ΡΠ΄ΠΎΡΡΠΎΠ²Π΅ΡΡΠ²Π°Π½Π΅ Π² ΡΠ΅ΠΆΠΈΠΌ Π±Π΅Π· TLS.
- Π libweston Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ²Π΅ΡΠ° (color-management). Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΠΎΠ±Π»Π°ΡΡΡΠ° Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΊΡΡΡΠΎΡΠ° Π½Π° ΠΏΡΠ»Π½ΠΎΠ΅ΠΊΡΠ°Π½Π½ΠΈ ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΠΈ.
- Π ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ° Π·Π° ΡΠ΅Π½Π΄Π΅ΡΠΈΡΠ°Π½Π΅ ΠΏΡΠ΅Π· OpenGL (gl-renderer) Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π·Π°Ρ Π²Π°ΡΠ°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° OpenGL ES 3 ΠΈ OpenGL ES 2 Π² Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ²Π΅ΡΠ° Π½Π° ΠΎΠ±Π΅ΠΊΡΠΈΡΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ΅ΠΉΠ΄ΡΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
