ВСстон ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π΅Π½ сСрвСр 12.0 ΠΈΠ·Π΄Π°Π½ΠΈΠ΅

По осум мСсСци Ρ€Π°Π·Π²ΠΎΡ˜, објавСно Π΅ стабилно ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½ΠΈΠΎΡ‚ сСрвСр Weston 12.0, Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ˜ΡœΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΊΠΎΠΈ придонСсуваат Π·Π° појава Π½Π° цСлосна ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΡ‚ Wayland Π²ΠΎ Enlightenment, GNOME, KDE ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ кориснички срСдини. Π¦Π΅Π»Ρ‚Π° Π½Π° ВСстон Π΅ Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ висококвалитСтна Π±Π°Π·Π° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π½ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΈ Π·Π° ΠΊΠΎΡ€ΠΈΡΡ‚Π΅ΡšΠ΅ Π½Π° Wayland Π²ΠΎ дСсктоп ΠΎΠΊΠΎΠ»ΠΈΠ½ΠΈ ΠΈ Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ˜Π° ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ сС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΈ Π·Π° ΠΈΠ½Ρ„ΠΎΠ·Π°Π±Π°Π²Π½ΠΈ систСми Π·Π° Π°Π²Ρ‚ΠΎΠΌΠΎΠ±ΠΈΠ»ΠΈ, ΠΏΠ°ΠΌΠ΅Ρ‚Π½ΠΈ Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½ΠΈ, Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€ΠΈ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ ΠΏΠΎΡ‚Ρ€ΠΎΡˆΡƒΠ²Π°Ρ‡ΠΊΠΈ ΡƒΡ€Π΅Π΄ΠΈ. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π΅ дистрибуиран ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° MIT.

Π“Π»Π°Π²Π½Π°Ρ‚Π° ΠΏΡ€ΠΎΠΌΠ΅Π½Π° Π½Π° Π±Ρ€ΠΎΡ˜ΠΎΡ‚ Π½Π° Π²Π΅Ρ€Π·ΠΈΡ˜Π°Ρ‚Π° Π·Π° ВСстон сС Π΄ΠΎΠ»ΠΆΠΈ Π½Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ Π½Π° ABI ΠΊΠΎΠΈ ја Π½Π°Ρ€ΡƒΡˆΡƒΠ²Π°Π°Ρ‚ компатибилноста. ΠŸΡ€ΠΎΠΌΠ΅Π½ΠΈ Π²ΠΎ Π½ΠΎΠ²Π°Ρ‚Π° Ρ„ΠΈΠ»ΠΈΡ˜Π°Π»Π° Π½Π° ВСстон:

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ бэкСнд для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌΡƒ столу β€” 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

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€