ΠΠΎΡΡΡΠΏΠ΅Π½ Π²ΡΠΏΡΡΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Louvre 1.2.0, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΡ ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π±Π΅ΡΡΡ Π½Π° ΡΠ΅Π±Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ Π±ΡΡΠ΅ΡΠ°ΠΌΠΈ, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ Π²Π²ΠΎΠ΄Π° ΠΈ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠΌΠΈ API Π² Linux, ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ Π³ΠΎΡΠΎΠ²ΡΠ΅ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° Wayland. Π‘ΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π° Π±Π°Π·Π΅ Louvre ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡΠ½ΡΠΉ ΡΠ΅ΡΠ²Π΅Ρ, ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ Π·Π°ΠΌΠ΅ΡΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ Weston ΠΈ Sway. ΠΠΎΠ΄ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Π‘++ ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv3. ΠΠ±Π·ΠΎΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Louvre ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² Π°Π½ΠΎΠ½ΡΠ΅ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²ΡΠΏΡΡΠΊΠ° ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ:
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π½Π΅ΡΠ΅Π»ΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΌΠ°ΡΡΡΠ°Π±Π° (fractional scale) ΠΈ ΠΏΠ΅ΡΠ΅ΡΡΠΌΠΏΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ (oversampling) Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΠΎΡ ΡΠ³Π»Π°ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½ΠΈΠΈ ΠΌΠ°ΡΡΡΠ°Π±Π°. ΠΠ»Ρ Π΄ΡΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ Wayland-ΠΏΡΠΎΡΠΎΠΊΠΎΠ» fractional-scale.
- ΠΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° tearing-control ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ (VSync) Ρ ΠΊΠ°Π΄ΡΠΎΠ²ΡΠΌ Π³Π°ΡΡΡΠΈΠΌ ΠΈΠΌΠΏΡΠ»ΡΡΠΎΠΌ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ°Π·ΡΡΠ²ΠΎΠ² ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ (tearing) Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ . Π ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² ΠΈΠ·-Π·Π° ΡΠ°Π·ΡΡΠ²ΠΎΠ² ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΡΠΌ ΡΡΡΠ΅ΠΊΡΠΎΠΌ, Π½ΠΎ Π² ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ Ρ Π°ΡΡΠ΅ΡΠ°ΠΊΡΠ°ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΌΠΈΡΠΈΡΡΡΡ, Π΅ΡΠ»ΠΈ Π±ΠΎΡΡΠ±Π° Ρ Π½ΠΈΠΌΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π³Π°ΠΌΠΌΠ°-ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Wayland-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° wlr-gamma-control.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wayland-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° «viewporter», ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΠΌΠ°ΡΡΡΠ°Π±ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ΅Π·Π°Π½ΠΈΡ ΠΊΡΠ°ΡΠ² ΠΏΠΎΠ²Π΅ΡΡ Π½ΠΎΡΡΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΡΠ΅ΡΠ²Π΅ΡΠ°.
- Π ΠΊΠ»Π°ΡΡ LPainter Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΌΠ΅ΡΠΎΠ΄Ρ Π΄Π»Ρ ΠΎΡΡΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ ΡΠ΅ΠΊΡΡΡΡ Ρ Π²ΡΡΠΎΠΊΠΎΠΉ ΡΠΎΡΠ½ΠΎΡΡΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ.
- Π ΠΊΠ»Π°ΡΡΠ΅ LTextureView ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΡΡ ΠΎΠ΄Π½ΡΡ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² («source rect», ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½Π°Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ) ΠΈ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠ°ΡΠΈΠΉ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊΠ»Π°ΡΡ LBitset Π΄Π»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ Ρ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΡΠ»Π°Π³ΠΎΠ² ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru