ΠΠ½Π°ΡΠ°ΡΠ½Π°ΡΠ° ΠΏΡΠΎΠΌΠ΅Π½Π° Π½Π° Π±ΡΠΎΡΠΎΡ Π½Π° Π²Π΅ΡΠ·ΠΈΡΠ°ΡΠ° Π½Π° ΠΠ΅ΡΡΠΎΠ½ ΡΠ΅ Π΄ΠΎΠ»ΠΆΠΈ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π° ABI ΠΊΠΎΠΈ ΡΠ° Π½Π°ΡΡΡΡΠ²Π°Π°Ρ ΠΊΠΎΠΌΠΏΠ°ΡΠΈΠ±ΠΈΠ»Π½ΠΎΡΡΠ°. ΠΡΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ
- ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ° Π·Π° Π·Π°ΡΡΠΈΡΠ° ΠΎΠ΄ Π½Π΅Π»Π΅Π³Π°Π»Π½ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°
HDCP , ΠΊΠΎΡ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΡΠΈΡΡΠΈΡΠ°ΡΠ΅ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΡΠΈΠ³Π½Π°Π»ΠΈ ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½ΠΈ ΠΏΡΠ΅ΠΊΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠΈ DVI, DisplayPort, HDMI, GVIF ΠΈΠ»ΠΈ UDI. libweston ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ° Π·Π½Π°ΠΌΠ΅Π½ΡΠ΅ Π·Π° ΠΏΠΎΠ²ΠΈΡΠΈΡΠ΅ weston_output, weston_surface ΠΈ weston_head Π·Π° Π΄Π° ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠΈ Π·Π°ΡΡΠΈΡΠ° Π½Π° ΠΏΡΠ΅Π½Π΅ΡΠ΅Π½Π°ΡΠ° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°. ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠ° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅ Π·Π°ΡΡΠΈΡΠ΅Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°; - ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΄ΠΎΠ΄Π°ΡΠΎΠΊ Π·Π° ΠΌΠ΅Π΄ΠΈΡΠΌΡΠΊΠΈ ΡΠ΅ΡΠ²Π΅Ρ
PipeWire , ΡΠ°Π·Π²ΠΈΠ΅Π½ Π΄Π° Π³ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈ PulseAudio ΠΈ, ΠΏΠΎΠΊΡΠ°Ρ Π°ΡΠ΄ΠΈΠΎ, ΠΏΠΎΠ΄Π΄ΡΠΆΡΠ²Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΡΡΡΠΈΠΌ. ΠΠΊΠ»ΡΡΠΈ, ΠΏΠΎΠ²ΡΠ·ΠΈΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ·Π»Π΅Π· Π½Π° Π΄Π°Π»Π΅ΡΠΈΠ½ΡΠΊΠ° ΡΠ°Π±ΠΎΡΠ½Π° ΠΏΠΎΠ²ΡΡΠΈΠ½Π° ΡΠ»ΠΈΡΠ΅Π½ Π½Π° ΠΏΡΠ΅ΡΡ ΠΎΠ΄Π½ΠΎ Π΄ΠΎΡΡΠ°ΠΏΠ½ΠΈΠΎΡ ΠΈΠ·Π»Π΅Π·Π΅Π½ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° GStreamer. ΠΠ° ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΏΡΠΈΠΌΠ°ΡΠ΅, ΡΠ΅ΠΊΠΎΡ ΠΊΠ»ΠΈΠ΅Π½Ρ ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ΅Π²ΠΊΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ Π·Π° ΠΏΡΠΈΠΊΠ°ΠΆΡΠ²Π°ΡΠ΅, Π²ΠΊΠ»ΡΡΡΠ²Π°ΡΡΠΈ Π³ΠΎ ΠΈ GStreamer (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, βgst-launch-1.0 pipewiresrc ! video/x-raw,format=BGRx! ...β); - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° EGL Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΡΠ° Π½Π° gl-renderer
EGL_KHR_partial_update Π·Π° ΡΠ΅Π»Π΅ΠΊΡΠΈΠ²Π½ΠΎ Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π°ΡΠ° Π½Π° ΠΏΠΎΠ²ΡΡΠΈΠ½ΠΈΡΠ΅, ΠΏΡΠ΅ΡΠΊΠΎΠΊΠ½ΡΠ²Π°ΡΡΠΈ Π³ΠΈ ΠΎΠ±Π»Π°ΡΡΠΈΡΠ΅ ΡΡΠΎ Π½Π΅ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ΡΠΈ; - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΡΠ°ΠΌΠΊΠ° weston_debug Π·Π° Π΄Π΅Π±Π°Π³ΠΈΡΠ°ΡΠ΅ ΠΈ Π΅Π²ΠΈΠ΄Π΅Π½ΡΠΈΡΠ° Π½Π° Π½Π°ΡΡΠ°Π½ΠΈ (weston_log_context);
- ΠΠΎΠ΄Π°Π΄Π΅Π½ΠΈ ΡΠ΅ Π½ΠΎΠ²ΠΈ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎ Π·Π°Π³Π»Π°Π²ΠΈΡΠ° libweston-internal.h ΠΈ backend.h. ΠΡΠ²ΠΈΠΎΡ ΡΠΎΠ΄ΡΠΆΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π·Π° ΡΠ°Π±ΠΎΡΠ° ΡΠΎ
'weston_compositor', 'weston_plane', 'weston_seat', 'weston_surface', 'weston_spring', 'weston_view' ΠΈ Π²ΠΎ Π²ΡΠΎΡΠ°ΡΠ° - 'weston_output'; - ΠΠ°ΠΏΡΠ°Π²Π΅Π½ΠΈ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ
ΠΏΠΎΠ²ΡΠΎΡΠ»ΠΈΠ²ΠΈ Π³ΡΠ°Π΄Π±ΠΈ ; - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° ΡΠ²ΠΎΡΡΡΠ²ΠΎΡΠΎ FB_DAMAGE_CLIPS Π½Π° compositor-drm. ΠΠΎΡΠ΅Π±Π½ΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ ΡΠΎΠ΄ΡΠΆΠ°Ρ ΠΊΠΎΠ΄ Π·Π° Π²ΡΠ°ΡΠ°ΡΠ΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ EDID, ΡΠ΅ΠΆΠΈΠΌΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° Π²ΠΈΠ΄Π΅ΠΎ, ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠ° ΡΠΎ KMS API, ΡΠ°Π±ΠΎΡΠ° ΡΠΎ Π±Π°ΡΠ΅ΡΠΎΡ Π½Π° ΡΠ°ΠΌΠΊΠ°ΡΠ° ΠΈ ΡΠΎΡΡΠΎΡΠ±ΠΈ Π·Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ°;
- ΠΠΎΠ΄Π°Π΄Π΅Π½ Π΅ ΠΏΡΠΈΠΊΠ»ΡΡΠΎΠΊ Π·Π° βΠΏΡΠΎΡΠΎΠΊ Π½Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈβ Π·Π° ΠΏΡΠ΅Π½ΠΎΡ Π½Π° ΡΠΎΠ΄ΡΠΆΠΈΠ½Π° ΠΎΠ΄ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°;
- Backends-drm ΡΠ΅ ΡΠΌΠ΅ΡΡΠ΅Π½ΠΈ Π²ΠΎ ΠΏΠΎΡΠ΅Π±Π΅Π½ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ,
Π·Π°Π΄Π½ΠΈΠ½ΡΠΊΠΈ-Π±Π΅Π· Π³Π»Π°Π²Π°
backend-rdp
Π·Π°Π΄Π½ΠΈΠ½Π°-Π²Π΅ΡΠ»Π΅Π½Π΄
backend-x11 ΠΈ
backend-fbdev; - Π‘Π΅ ΠΊΠΎΡΠΈΡΡΠΈ ΠΏΠ°ΠΊΠ΅Ρ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ Π½Π° PNG ΡΠ»ΠΈΠΊΠΈ
zopflipng Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π°Π»Π³ΠΎΡΠΈΡΠ°ΠΌ Π·Π° ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡΠ°Π·ΠΎΠΏΡΠ»ΠΈ ; - ΠΠΎΠ΄Π°Π΄Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΊΠ° Π·Π° Π΅ΠΊΡΡΠ΅Π½Π·ΠΈΠΈ xdg_output_unstable_v1 ΠΈ zwp_linux_explicit_synchronization_v1. ΠΠ³ΠΎΠ»Π΅ΠΌΠ΅Π½ΠΈ Π±Π°ΡΠ°ΡΠ° Π·Π° Π²Π΅ΡΠ·ΠΈΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΎΡ
wayland-ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΈ (1.18 Π΅ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ Π·Π° ΡΠΊΠ»ΠΎΠΏΡΠ²Π°ΡΠ΅); - ΠΡΠ΅ΠΌΠΈΠ½ΠΎΡ ΠΊΠΎΠ½ ΠΌΠΎΠ½ΡΠ°ΠΆΠ½ΠΈΠΎΡ ΡΠΈΡΡΠ΅ΠΌ Π΅ Π·Π°Π²ΡΡΠ΅Π½
ΠΠ΅ΡΠΎΠ½ . ΠΠ·Π³ΡΠ°Π΄Π±Π°ΡΠ° ΡΠΎ ΠΏΠΎΠΌΠΎΡ Π½Π° Π°Π²ΡΠΎΠΌΠ°ΡΡΠΊΠΈ Π°Π»Π°ΡΠΊΠΈ Π΅ ΠΏΡΠ΅ΠΊΠΈΠ½Π°ΡΠ°.
ΠΠ·Π²ΠΎΡ: opennet.ru