Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Cuarzo OS ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡ Π° ΠΏΡΡΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π½Π° ΠΡΠ²ΡΡΠ°, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΠΈ ΡΡΡΠ²ΡΡΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. ΠΠΎΠ΄ΡΡ Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ ΡΠ΅ ΡΠ°Π·ΠΏΡΠΎΡΡΡΠ°Π½ΡΠ²Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π· GPLv3.
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° ΡΠ΅ Π³ΡΠΈΠΆΠΈ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π° Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈ Π±ΡΡΠ΅ΡΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ Π²Ρ ΠΎΠ΄Π½ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈ API Π² Linux, Π° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π³ΠΎΡΠΎΠ²ΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π½Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. ΠΠ°Π»ΠΈΡΠΈΠ΅ΡΠΎ Π½Π° Π³ΠΎΡΠΎΠ²ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π½Π΅ ΠΎΡΠ΄Π΅Π»ΡΡΠ΅ ΠΌΠ΅ΡΠ΅ΡΠΈ Π½Π° ΡΠ°Π±ΠΎΡΠ° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΠΎΡ Π½ΠΈΡΠΊΠΎ Π½ΠΈΠ²ΠΎ, Π° Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π³ΠΎΡΠΎΠ²Π° ΠΈ ΡΠ°Π±ΠΎΡΠ΅ΡΠ° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½Π° ΡΡΡΠ²ΡΡΠ½Π° ΡΠ°ΠΌΠΊΠ°, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½Π° ΠΊΡΠΌ Π²Π°ΡΠΈΡΠ΅ Π½ΡΠΆΠ΄ΠΈ ΠΈ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½Π° Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡ. ΠΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°ΠΌΠ΅Π½ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅Π½ΠΈ ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ°, Π·Π° Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ, Π²Ρ ΠΎΠ΄Π½ΠΈ ΡΡΠ±ΠΈΡΠΈΡ ΠΈ ΡΡΠ±ΠΈΡΠΈΡ Π·Π° ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅.
Π‘ΠΏΠΎΡΠ΅Π΄ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅Π²ΡΠ·Ρ ΠΎΠΆΠ΄Π° ΠΊΠΎΠ½ΠΊΡΡΠ΅Π½ΡΠ½ΠΈΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΡΡΡΡΠ°Π²Π΅Π½ ΡΡΡΠ²ΡΡ, louvre-weston-clone, Π½Π°ΠΏΠΈΡΠ°Π½ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Louvre, ΠΊΠΎΠΉΡΠΎ Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Weston, Π² ΡΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ Ρ Weston ΠΈ Sway, ΠΊΠΎΠ½ΡΡΠΌΠΈΡΠ° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ CPU ΠΈ GPU ΡΠ΅ΡΡΡΡΠΈ Π² ΡΠ΅ΡΡΠΎΠ²Π΅ΡΠ΅ ΠΈ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π·Π° ΠΏΠΎΡΡΠΈΠ³Π°Π½Π΅ Π½Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²ΠΈΡΠΎΠΊ FPS, Π΄ΠΎΡΠΈ Π² ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ.
ΠΡΠ½ΠΎΠ²Π½ΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠΈ Π½Π° ΠΡΠ²ΡΡΠ°:
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ GPU (Multi-GPU).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΡΠ΅ΡΠΈΠΈ (Multi-Session, TTY switching).
- Π‘ΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΌΠ΅ΡΠΎΠ΄ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° 2D ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ (LPainter), ΡΡΠ΅Π½ΠΈ ΠΈ ΠΈΠ·Π³Π»Π΅Π΄ΠΈ.
- ΠΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΡΠ΅ΠΉΠ΄ΡΡΠΈ ΠΈ OpenGL ES 2.0 ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ.
- ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π½Π°ΡΠ΅ΡΡΠ°Π²Π°Π½Π΅, ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΎ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ (ΡΠ°ΠΌΠΎ ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΎΠ±Π»Π°ΡΡΡΠ° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ).
- ΠΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²Π° ΡΠ°Π±ΠΎΡΠ°, ΠΊΠΎΡΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ΡΠ΅ Π²ΠΈΡΠΎΠΊ FPS Ρ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ v-sync Π΄ΠΎΡΠΈ ΠΏΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ»ΠΎΠΆΠ½ΠΈ ΡΡΠ΅Π½Π°ΡΠΈΠΈ (Π΅Π΄Π½ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΈΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈΠΌΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΠΎΠΊ FPS ΠΏΠΎΡΠ°Π΄ΠΈ Π»ΠΈΠΏΡΠ²Π°ΡΠΈ ΠΊΠ°Π΄ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ ΠΏΠΎΡΠ°Π΄ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ, ΡΠ°ΠΊΠ°ΡΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΈΠΌΠΏΡΠ»ΡΠ° Π·Π° Π·Π°Π³Π»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° (vblank).
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° Π΅Π΄ΠΈΠ½ΠΈΡΠ½ΠΎ, Π΄Π²ΠΎΠΉΠ½ΠΎ ΠΈ ΡΡΠΎΠΉΠ½ΠΎ Π±ΡΡΠ΅ΡΠΈΡΠ°Π½Π΅.
- ΠΠ½Π΅Π΄ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄ Π·Π° ΡΠ΅ΠΊΡΡΠΎΠ²ΠΈ Π΄Π°Π½Π½ΠΈ.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Wayland ΠΈ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ:
- XDG Shell Π΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΠΈ ΠΊΠ°ΡΠΎ ΠΏΡΠΎΠ·ΠΎΡΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Π³ΠΈ ΠΌΠ΅ΡΡΠΈΡΠ΅ ΠΏΠΎ Π΅ΠΊΡΠ°Π½Π°, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅, ΡΠ°Π·ΡΠΈΡΡΠ²Π°ΡΠ΅, ΠΏΡΠ΅ΠΎΡΠ°Π·ΠΌΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΈ Ρ.Π½.
- XDG Decoration - ΠΈΠ·ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π΅ΠΊΠΎΡΠ°ΡΠΈΠΈ Π½Π° ΠΏΡΠΎΠ·ΠΎΡΡΠΈ ΠΎΡ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°.
- ΠΡΠ΅ΠΌΠ΅ Π·Π° ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅ - ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ.
- Linux DMA-Buf - ΡΠΏΠΎΠ΄Π΅Π»ΡΠ½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΠΊΠ°ΡΡΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° dma-buf.
- ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ°Π±ΠΎΡΠ° Π² ΡΡΠ΅Π΄ΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΈ Π½Π° Intel (i915), AMD (amdgpu) ΠΈ NVIDIA (ΡΠΎΠ±ΡΡΠ²Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΠΈΠ»ΠΈ nouveau).
- Π€ΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΠΈΡΠΎ Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈ (Π² ΡΠΏΠΈΡΡΠΊΠ° Ρ ΠΏΠ»Π°Π½ΠΎΠ²Π΅):
- Touch Events - ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΡΡΠ±ΠΈΡΠΈΡ Π½Π° ΡΠ΅Π½Π·ΠΎΡΠ΅Π½ Π΅ΠΊΡΠ°Π½.
- ΠΠ΅ΡΡΠΎΠ²Π΅ Ρ ΠΏΠΎΠΊΠ°Π·Π°Π»Π΅Ρ - ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈ Π½Π° ΡΠ΅Π½Π·ΠΎΡΠ½ΠΈΡ Π΅ΠΊΡΠ°Π½.
- Viewporter - ΠΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΌΠ°ΡΠ°Π±ΠΈΡΠ°Π½Π΅ ΠΎΡ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° ΠΈ ΠΏΠΎΠ΄ΡΡΠ·Π²Π°Π½Π΅ Π½Π° ΡΡΠ±ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΠΏΠΎΠ²ΡΡΡ Π½ΠΎΡΡΡΠ°.
- Π’ΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°Π½Π΅ Π½Π° LView ΠΎΠ±Π΅ΠΊΡΠΈ.
- XWayland - ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° X11 ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru