Chrome переведён на использование прослойки Ozone для систем с X11

Candellmans

Мастер
Сообщения
7,955
Реакции
8,482

До всех пользователей стабильной ветки браузера Chrome доведено изменение, по умолчанию активирующее новый код для организации вывода на системах с X-сервером, основанный на использовании прослойки Ozone, абстрагирующей взаимодействие с графической подсистемой. Использование Ozone позволяет обеспечить поддержку X11 и Wayland в одной сборке Chrome, не привязываясь к конкретной графической подсистеме. Старый бэкенд, поддерживающий только работу через X11, планируется перевести в разряд устаревших и со временем удалить из кодовой базы.

Независимость от особенностей построения графического интерфейса в различных операционных системах в Chrome реализована при помощи собственного кросс-платформенного графического стека Aura. Aura выполняется функции оконного менеджера (Aura shell), работающего через собственный композитный сервер и использующего доступные средства GPU для ускорения графических операций. Для формирования элементов интерфейса применяется графический тулкит Aura UI, предоставляющий собственный набор виджетов, диалоговых окон, элементов управления и обработчиков событий. Из возможностей нижележащего графического стека (X11, Wayland, Cocoa или Windows) используется только вывод поверх корневого окна.

Все специфичные операции с графическим стеком Linux сведены к легко заменяемой абстрактной прослойке Ozone. До сих пор поддержка Ozone обеспечивалась в форме опции, а по умолчанию применялся старый бэкенд, жёстко привязанный к X11. Работа по переводу сборок для X11 на использование прослойки Ozone велась c 2020 года, а для пользователей постепенное включение бэкенда Ozone/X11 по умолчанию началось в выпуске Chrome 92. Несколько дней назад новый бэкенд был активирован для всех Linux-пользователей Chrome. Кроме X11 и Wayland ("--ozone-platform=wayland" и "--ozone-platform=x11") в Ozone также развиваются платформы для вывода поверх графических драйверов KMS/DRM, вывода в форме ASCII-графики при помощи библиотеки libcaca, отрисовки в PNG-изображения (Headless) и трансляции через устройства Chromecast.
0_1630223301.png
OpenNet
 
Назад
Сверху Снизу