Выпуск композитного сервера Weston 7.0

Опубликован стабильный релиз композитного сервера Weston 7.0, развивающего технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств.

Смена значительного номера версии Weston обусловлена изменениями ABI, нарушающими совместимость. Изменения в новой ветке Weston:

  • Добавлена поддержка технологии защиты от незаконного копирования контента 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