След като преминаха осем месеца на разработка, беше публикувана стабилна версия на композитния сървър 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) с кадровосъкращаващ импулс, прилаган за предотвратяване на разкъсвания. В игровите приложения деактивирането на 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
