Доступен порт браузера Chromium для Wayland. Проект по запуску Wayland поверх Android

Ван Янь (Yan Wang) из китайского представительства компании Intel сообщил об адаптации экспериментальной версии браузера Chromium для непосредственной работы поверх дисплейного сервера Wayland, без задействования дополнительных X11-прослоек, используя только эталонный композитный сервер Weston. Напомним, что несколько недель назад разработчики Google прекратили работу по портированию Chrome для Wayland, но, судя по всему, эстафету перехватила компания Intel. Отмечается, что работа выполнена на кодовой базе Chromium, адаптированной для отображения данных через новую графическую подсистему Aura, которая будет использоваться в будущих выпусках Chrome OS и по своей архитектуре чем-то напоминает Wayland.

Несмотря на то, что при работе Chromium поверх Wayland пока наблюдается несколько нерешённых проблем, браузер уже успешно отображает web-страницы и имеет работающий пользовательский интерфейс. Среди проблем отмечается нестабильное проигрывание видеороликов YouTube, проблемы с кликом на элементы меню, из-за проблем с фокусом нестабильно работает клавиатурный ввод, пока не поддерживается изменение размера окна.

Дополнительно можно упомянуть ещё о двух связанных с Wayland событиях. Обеспечен запуск Wayland и Weston поверх графического стека Android 4. В качестве клиентского Wayland-приложения была запущена простейшая демонстрационная программа simple-shm. Реализация рабочего стола и других клиентов Wayland пока не портированы (на следующем этапе планируется портировать библиотеку Cairo), также не пока не поддерживаются средства ввода данных.

Для работы в окружении Android код libwayland, Weston и simple-shm был портирован для использования системной библиотеки Bionic, которая не поддерживает некоторые штаные возможности libc, такие как обработка сигналов и работа с таймерами. Так как в Android не поддерживаются используемые в Wayland при работе в Linux компоненты графической подсистемы DRI, DRM, KMS, GBM и Mesa, а проприетарные графические драйверы не афишируют свой API, для обеспечения вывода на экран, была задействована штатная графическая подсистема Android (libEGL). Как оказалось, данная подсистема удовлетворяет основным требованиям композитного сервера Weston, поэтому достаточно было написать дополнительный бэкенд к Weston для трансляции вызовов в Android API (организация вывода на экран и выполнение вызовов GLES2 через EGL).

Второе событие связано с созданием работающего с Wayland тайлингового менеджера ADWC (A Dynamic Window Manager), построенного на переработанной кодовой базе композитного сервера Weston и оконного менеджера DWM. В представленной разработчиками видеодемонстрации показана работа с Opera и KWrite поверх Wayland (для запуска X-приложений используется прослойка XWayland) в тайлинговом режиме (неперекрывающиеся окна). Среди функций ADWC также отмечена поддержка нескольких мониторов.

©  OpenNet