1

Анонсирован четвёртый стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.4, а также развиваемого параллельно композитного сервера Weston 1.4. Ветка 1.4 обратно совместима на уровне API и ABI с выпусками 1.x, но дополнительно содержит порцию улучшений, расширяющих возможности протокола и композитного сервера Weston. С момента прошлого выпуска в Weston внесено 425 изменений, в Wayland - 46, что объясняется тем, что протокол уже достиг зрелого состояния. В разработке нового выпуска приняли участие 40 разработчиков.

Основные новшества Weston 1.4:

  • Реализация кнопок управления окном для бэкенда xwayland, нацеленного на обеспечение запуска X11-приложений поверх Wayland, и обеспечение корректного декорирования окон при вложенном запуске композитного сервера;

  • Оформление компонента рендеринга gl-renderer в форме загружаемого модуля и обеспечение возможности переключения на лету между выводом через pixman и gl-renderer. Указанное изменение позволяет ускорить запуск композитного сервера: можно вначале очень быстро запустить его с выводом через pixman, после чего загрузить gl-renderer и выполнить требующие большего времени операции инициализации EGL+GLES2;

  • Поддержка форматов фреймбуфера, отличных от XRGB8888 (формат можно настроить через опцию gbm-format в секции core файла конфигурации);

  • Задействование logind из состава systemd для организации привилегированного доступа, что позволяет запустить Weston поверх KMS без вспомогательного приложения weston-launch, запускаемого с повышенными привилегиями. В этом случае на logind ложится выполнение функций, ранее реализованных в weston-launch: включение доступа к устройству DRM (Direct Rendering Manager) и открытие устройств ввода.

  • Структура weston_surface разделена на две отдельные структуры weston_surface и weston_view, что позволяет отобразить поверхность в разных местах.

  • Поддержка горячего отключения устройств вывода. Если ранее, отключение монитора приводило к краху, то теперь окна корректно перемещаются на доступную на другом мониторе видимую область.

  • Обеспечена анимация смены фокуса ввода с клавиатуры и наглядный выбор активного окна;

  • Улучшена поддержка сенсорных экранов, в том числе добавлена возможность использование drag-and-drop интерфейса на сенсорном экране, перемещения и активации поверхностей касанием.

  • Началась работа над протоколом xdg-shell для организации взаимодействия между приложениями и десктоп-окружением, востребованного для обеспечения полноценной работы GNOME Shell поверх Wayland;

  • Поддержка проброса буферов из вложенных композитных серверов (когда один композитный сервер запускается поверх другого). Для этого определено новое EGL-расширение, позволяющее вложенному композитному серверу передать буфер первичному композитному серверу, т.е. пропустить операцию рендеринга и передать контент первичному композитному серверу в виде поверхности;

  • Добавлен протокол для обрезания краёв(Crop) и масштабирования (Scale), позволяющий клиенту указать, что должна быть представлена только заданная прямоугольная часть поверхности, с возможностью увеличения масштаба при необходимости;

  • В эмулятор терминала weston-terminal добавлена поддержка вывода истории операций, которую можно прокручивать через комбинации Ctrl+Shift UP/DOWN. Добавлено контекстное меню для упрощения доступа к запуску нового терминала, операциям выделения и вставки (Ctrl-Shift-C/V/N). Обеспечена поддержка выделения на сенсорном экране.

Основные новшества Wayland 1.4:

  • Добавлен триггер SIBGUS для о защиты от некорректного доступа клиентов к совместно используемым буферам (SHM Buffer);

  • Протокол для манипулирования субповерхностями (subsurface) перемещён в репозиторий wayland и теперь позиционируется как официальный протокол wayland;

  • Вwl_proxy_set_queue() обеспечена возможность указания NULL-очередей для возврата к очереди по умолчанию;

  • Устранено состояние гонки между вызовами wl_proxy_create() и wl_proxy_marshal().

Ряд изменений представлен для компонентов Mesa, их появление ожидается в следующем выпуске Mesa 10.1:

  • Поддержка вызова eglSwapInterval(dpy, 0), позволяющего приложению инициировать максимально возможную производительность рендеринга, но без синхронизации с кадровым гасящим импульсом (vblank). В weston-simple-egl данный режим может быть включен через опцию "-b";

  • Поддержка RGB565 в настойках EGL (EGLConfigs), даже если композитный сервер использует для фреймбуфера иной пиксельный формат;

  • Для выделения драйвером буфера без задействования flink теперь используется вызов __DRIimageLoaderExtension, что позволяет клиентам использовать узлы рендеринга drm (render nodes).

  • Вызов eglSwapBuffers() теперь очищает wl_display().


Подробности: http://www.opennet.ru/opennews/art.shtml?num=38923

2

Как думаете в какой версии openSUSE wayland будет использоваться как дисплейный сервер по умолчанию?

openSUSE 13.2 x64, KDE 4.14 | AMD Phenom II X2 550 Black Edition | ASUS M4A785TD-M EVO | RAM DDR3 8 GB | ASUS Radeon HD 6770
openSUSE 13.2 x64, KDE 4.14 | Samsung 300V4A

3 (25.01.2014 12:33:11 отредактировано Ujin)

Блобятина этот Вейленд ещё не поддерживает и не очень собирается (как и Мир). И проблема с разной декорацией окон у разных тулкитов решена?

4 (25.01.2014 20:22:00 отредактировано kirillov3798)

Ujin пишет:

Блобятина этот Вейленд ещё не поддерживает

Пока не поддерживает. Но потом начнет. Первой, понимаю, перейдет на Wayland Fedora.

Fedora 21 Workstation KDE 4.14.4
Gigabyte GA-Z77-D3H, Intel Core i5-3470, nVidia GeForce GTX 660 2GB, 8GB RAM, 1TB HDD

5

Ujin пишет:

Блобятина этот Вейленд ещё не поддерживает

Не блобятиной единой... И за декорацию окон разве не оконный менеджер отвечает?

openSUSE 13.2 x64, KDE 4.14 | AMD Phenom II X2 550 Black Edition | ASUS M4A785TD-M EVO | RAM DDR3 8 GB | ASUS Radeon HD 6770
openSUSE 13.2 x64, KDE 4.14 | Samsung 300V4A