Выпуск ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ сСрвСра Weston 12.0

ПослС восьми мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅Π»ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΎΠ³ΠΎ сСрвСра Weston 12.0, Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ появлСнию ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° Wayland Π² Enlightenment, GNOME, KDE ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… окруТСниях. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Weston Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° прСдоставлСниС высококачСствСнной ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΠΈ Ρ€Π°Π±ΠΎΡ‡ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² для использования Wayland Π² дСсктоп-окруТСниях ΠΈ встраиваСмых Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΡ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм, смартфонов, Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΎΠ² ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… устройств. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ MIT.

Π‘ΠΌΠ΅Π½Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π½ΠΎΠΌΠ΅Ρ€Π° вСрсии Weston обусловлСна измСнСниями ABI, Π½Π°Ρ€ΡƒΡˆΠ°ΡŽΡ‰ΠΈΠΌΠΈ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ. ИзмСнСния Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅Ρ‚ΠΊΠ΅ Weston:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ бэкСнд для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ столу — backed-vnc, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, сходныС с backend-rpd. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» VNC Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ aml ΠΈ neatvnc. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ аутСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π½Π°Π»Π° связи (TLS).
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ бэкСнд для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½Ρ‹ΠΌ сСрвСром PipeWire.
  • ИзмСнСния Π² бэкСндС DRM (Direct Rendering Manager):
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ с нСсколькими GPU. Для задСйствования Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… GPU ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° опция «—additional-devices список_устройств_Π²Ρ‹Π²ΠΎΠ΄Π°».
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° tearing-control для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ синхронизации (VSync) с ΠΊΠ°Π΄Ρ€ΠΎΠ²Ρ‹ΠΌ гасящим ΠΈΠΌΠΏΡƒΠ»ΡŒΡΠΎΠΌ, примСняСмой для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ появлСния Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ² ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ (tearing). Π’ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ VSync позволяСт ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ Π²Ρ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π½Π° экран, Ρ†Π΅Π½ΠΎΠΉ появлСния Π°Ρ€Ρ‚Π΅Ρ„Π°ΠΊΡ‚ΠΎΠ² ΠΈΠ·-Π·Π° Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ².
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° опрСдСлСния Ρ‚ΠΈΠΏΠΎΠ² содСрТимого для HDMI (Π³Ρ€Π°Ρ„ΠΈΠΊΠ°, Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, ΠΊΠΈΠ½ΠΎ ΠΈ ΠΈΠ³Ρ€Ρ‹).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΈ ΠΊΠΎΠ³Π΄Π° это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ задСйствовано свойство ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° плоскости.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠ½Π½Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² (writeback connector), примСняСмых для создания ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ².
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ свойство для опрСдСлСния уровня прозрачности плоскости.
    • Для Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… EDID задСйствована внСшняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libdisplay-info.
  • Π’ backend-wayland Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ xdg-shell.
  • Π’ бэкСндС ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ доступа backend-rdp Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ½ΠΎΠ³ΠΎΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€Π½Ρ‹Ρ… систСм (multi-head).
  • Π’ бэкСндС backend-headless, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠΌ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° систСмах Π±Π΅Π· дисплСя, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π΄Π΅ΠΊΠΎΡ€Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π°, примСняСмой для тСстирования ΠΏΠ»Π°Π³ΠΈΠ½Π° color-lcms.
  • ОбъявлСн ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ launcher-logind, вмСсто ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ launcher-libseat, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ logind.
  • Π’ libweston/desktop (libweston-desktop) Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° состояния оТидания, примСняСмого Π½Π° стадии Π΄ΠΎ прикрСплСния ΠΊ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π±ΡƒΡ„Π΅Ρ€Π° Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ запуска ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с самого Π½Π°Ρ‡Π°Π»Π° Π² полноэкранном Ρ€Π΅ΠΆΠΈΠΌΠ΅.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» weston-output-capture, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для создания ΡΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ΠΎΠ² ΠΈ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΉ Π±ΠΎΠ»Π΅Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½ΠΎΠΉ старого ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° weston-screenshooter.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° xwayland_shell_v1, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ xwayland_surface_v1 для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠΉ повСрхности wl_surface.
  • Π’ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ libweston Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· PAM ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° 4 вСрсии ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ интСрфСйса wl_output.
  • Π’ процСсс compositor Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ Π²Ρ‹Π±ΠΎΡ€Π° бэкСнда, ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ ΠΈ отрисовщика, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ синтаксис «—backend=headless», «—shell=foo» ΠΈ «—renderer=gl|pixman» вмСсто «—backend=headless-backend.so», «—shell=foo-shell.so» ΠΈ «—renderer=gl-renderer.so».
  • Π’ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ simple-egl появилась ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° fractional-scale, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅Ρ†Π΅Π»Ρ‹Π΅ значСния ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°, ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ отрисовки ΠΏΠ°Π½Π΅Π»ΠΈ.
  • Π’ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ для Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎ-Ρ€Π°Π·Π²Π»Π΅ΠΊΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… систСм ivi-shell Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° активация фокуса Π²Π²ΠΎΠ΄Π° с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ для повСрхности xdg-shell, рСализованная ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ Π²Π²ΠΎΠ΄Π° Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°Ρ… desktop-shell ΠΈ kiosk-shell.
  • РаздСляСмая Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° libweston-desktop ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ libweston, связываниС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ с libweston ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСм функциям, Ρ€Π°Π½Π΅Π΅ прСдоставляСмым Π² libweston-desktop.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru