Π‘ΠΌΠ΅Π½Π° Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅ΡΠ° Π²Π΅ΡΡΠΈΠΈ Weston ΠΎΠ±ΡΡΠ»ΠΎΠ²Π»Π΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ ABI, Π½Π°ΡΡΡΠ°ΡΡΠΈΠΌΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΡ. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π·Π°ΡΠΈΡΡ ΠΎΡ Π½Π΅Π·Π°ΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°
HDCP , ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎΡΠΈΠ³Π½Π°Π»Π°, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π· ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ DVI, DisplayPort, HDMI, GVIF ΠΈΠ»ΠΈ UDI. Π libweston Π΄Π»Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ² weston_output, weston_surface ΠΈ weston_head ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ»Π°Π³ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°. ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°; - ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ»Π°Π³ΠΈΠ½ Π΄Π»Ρ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°
PipeWire , ΡΠ°Π·Π²ΠΈΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ PulseAudio ΠΈ ΠΊΡΠΎΠΌΠ΅ Π·Π²ΡΠΊΠ° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ. ΠΠ»Π°Π³ΠΈΠ½ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠ΄Π°Π»ΡΠ½Π½ΡΠΉ ΡΠ°Π±ΠΎΡΠΈΠΉ ΡΡΠΎΠ» ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΡΠ°Π½Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° Π±Π°Π·Π΅ GStreamer. ΠΠ° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΠ΅ΠΉ ΡΡΠΎΡΠΎΠ½Π΅ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π»ΡΠ±ΠΎΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ pipewire, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ GStreamer (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «gst-launch-1.0 pipewiresrc ! video/x-raw,format=BGRx ! …»); - Π gl-renderer Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° EGL-ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ
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’; - ΠΠ½Π΅ΡΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ
ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΡΡ ΡΠ±ΠΎΡΠΎΠΊ ; - Π compositor-drm Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ²ΠΎΠΉΡΡΠ²Π° FB_DAMAGE_CLIPS. Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² EDID, ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²ΠΈΠ΄Π΅ΠΎΡΠ΅ΠΆΠΈΠΌΠΎΠ², Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ KMS API, ΡΠ°Π±ΠΎΡΡ Ρ ΡΡΠ΅ΠΉΠΌΠ±ΡΡΠ΅ΡΠΎΠΌ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ;
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ»Π°Π³ΠΈΠ½ «file stream» Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΠΈΠ· ΡΠ°ΠΉΠ»Π°;
- Π ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π²ΡΠ½Π΅ΡΠ΅Π½Ρ Π±ΡΠΊΠ΅Π½Π΄Ρ backend-drm,
backend-headless,
backend-rdp,
backend-wayland,
backend-x11 ΠΈ
backend-fbdev; - ΠΠ»Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ PNG-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ ΠΏΠ°ΠΊΠ΅Ρ
zopflipng Π½Π° Π±Π°Π·Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΆΠ°ΡΠΈΡzopfli ; - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠΉ xdg_output_unstable_v1 ΠΈ zwp_linux_explicit_synchronization_v1. ΠΠΎΠ²ΡΡΠ΅Π½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°
wayland-protocols (Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ 1.18); - ΠΠ°Π²Π΅ΡΡΡΠ½ ΠΏΠ΅ΡΠ΅Ρ
ΠΎΠ΄ Π½Π° ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ
Meson . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ±ΠΎΡΠΊΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ autotools ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru