Випуск композитного сервера 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

Додати коментар або відгук