Chrome перешел на использование озонового слоя в системах X11

Google-хром

Несколько дней тому назад Chrome отправил всем пользователям стабильной ветки браузера изменение который по умолчанию активирует новый код для организации вывода в системах с X-сервером, основанный на использовании слой под названием «Озон» который абстрагирует взаимодействие с графической подсистемой.

Использование озона позволяет обеспечить поддержку X11 и Wayland в одной сборке Chrome, без привязки к конкретной графической подсистеме.

Об озоне

Озон - это уровень абстракции платформы под оконной системой Aura. который используется для ввода и низкоуровневой графики, тем самым абстракция поддерживает базовые системы, начиная от встроенных целей SoC и заканчивая новыми альтернативными оконными системами и X11 в Linux, например Wayland или Mir, для отображения Aura Chromium, обеспечивая реализацию интерфейса платформы.

Поскольку желательно, чтобы Chrome использовался в самых разных проектах, ведется работа по облегчению перехода на новые платформы.

Для достижения этой цели Ozone следует следующим принципам:

  • Интерфейсы, а не ifdef: различия между платформами обрабатываются путем вызова объекта, предоставленного платформой, через интерфейс вместо использования условной компиляции. Внутренние компоненты платформы остаются инкапсулированными, а открытый интерфейс действует как брандмауэр между нейтральными верхними уровнями платформы (аура, мерцание, контент и т. Д.) И нижними уровнями, специфичными для платформы. 
  • Гибкие интерфейсы: интерфейсы платформы должны инкапсулировать именно то, что Chrome нужно от платформы, с минимальными ограничениями на реализацию платформы, а также минимальными ограничениями на использование верхних уровней.
  • Среда выполнения для всех платформ: чтобы избежать условной компиляции на верхних уровнях, она позволяет нам создавать несколько платформ в одном двоичном файле и связывать их во время выполнения.
  • Простое ветвление - многие порты начинаются как форки, и многие из них позже объединяют свой код в восходящем направлении, у других будет долгая жизнь вне дерева. Это нормально, и мы должны облегчить этот процесс, чтобы стимулировать вилки.

Оттого независимость от особенностей построения графического интерфейса на различных системах работает в Chrome он реализован с использованием собственного кроссплатформенного графического стека Aura. Aura действует как оконный менеджер (оболочка Aura), работающий через собственный составной сервер и использующий доступные инструменты графического процессора для ускорения графических операций.

Чтобы сгенерировать элементы интерфейса, используется набор графических инструментов Aura UI, который предоставляет собственный набор виджетов, диалогов, элементов управления и обработчиков событий. Из возможностей базового графического стека (X11, Wayland, Cocoa или Windows) используется только вывод в верхней части корневого окна.

Все специфические операции с графическим стеком Linux сводятся к одному слою легко заменяемый абстрактный озон. До сих пор поддержка Ozone предоставлялась в виде опции, и по умолчанию используется старый бэкэнд, закодированный в X11.

Работа по переводу сборок X11 для использования слоя Ozone ведется с 2020 года, и для пользователей постепенное включение серверной части Ozone / X11 по умолчанию началось с выпуском Chrome 92.

То есть несколько дней назад новый бэкэнд был активирован для всех пользователей Chrome Linux. Помимо X11 и Wayland («–ozone-platform = wayland» и «–ozone-platform = x11»), Ozone также разрабатывает платформы для вывода через графические драйверы KMS / DRM, вывод графики ASCII с использованием библиотеки libcaca, рендеринг в PNG изображения (без заголовка) и потоковая передача через устройства Chromecast.

Наконец, упоминается, что вышеупомянутый бэкэнд планируется, который поддерживает работу только через X11, будет устарел и в конечном итоге будет удален из кодовой базы (После того, как новый бэкэнд Ozone / X11 достиг паритета по функциональности и включил его по умолчанию, не было смысла держать еще один бэкэнд X11 в браузере.)

источник: https://chromium.googlesource.com


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.