Chrome 移动到在 X11 系统上使用臭氧层

谷歌铬

前几天 Chrome 向浏览器稳定分支的所有用户发送了更改 默认情况下, 激活一个新代码来组织带有 X 服务器的系统上的输出,基于使用 一层叫做“臭氧” 它抽象了与图形子系统的交互。

使用臭氧 允许在同一个 Chrome 版本中提供对 X11 和 Wayland 的支持,而无需绑定到特定的图形子系统。

关于臭氧

Ozone 是 Aura 窗口系统下面的一个平台抽象层 它用于输入和低级图形,因此抽象支持底层系统,从内置 SoC 目标到新的替代窗口系统,再到 Linux 上的 X11(如 Wayland 或 Mir),通过提供平台的接口实现来显示 Aura Chromium。

由于希望在各种项目中使用 Chrome,因此正在开展工作以促进向新平台的迁移。

为了支持这一目标,臭氧遵循以下原则:

  • 接口,而不是 ifdef:通过接口调用平台提供的对象而不是使用条件编译来处理平台之间的差异。 平台的内部组件保持封装状态,公共接口充当平台的中性上层(光环、闪烁、内容等)和较低平台特定层之间的防火墙。 
  • 灵活的接口:平台接口应该准确地封装 Chrome 对平台的需求,对平台实现的限制最小,以及对使用上层的限制最小。
  • 所有平台的运行时:为了避免上层的条件编译,它允许我们在一个二进制文件中构建多个平台并在运行时链接它们。
  • 简单的分支——许多端口以分叉形式开始,其中许多端口后来将它们的代码合并到上游,其他端口将在树外有很长的生命周期。 这很好,我们应该促进这个过程以鼓励分叉。

这就是为什么 在各种系统上构建图形界面的特性的独立性 在 Chrome 中操作 它是使用自己的 Aura 跨平台图形堆栈实现的。 Aura 充当窗口管理器(Aura shell),通过它自己的复合服务器运行并使用可用的 GPU 工具来加速图形操作。

要生成界面元素, 使用了 Aura UI 图形工具包, 它提供了自己的一组小部件、对话框、控件和事件处理程序。 在底层图形堆栈功能(X11、Wayland、Cocoa 或 Windows)中,仅使用根窗口顶部的输出。

Linux 图形堆栈的所有特定操作都归结为一层 易于更换的抽象臭氧。 到目前为止,臭氧支持以选项的形式提供,默认是旧后端,以 X11 编码。

自 11 年以来,翻译 X2020 版本以使用 Ozone 层的工作一直在进行,对于用户来说,默认情况下逐渐包含 Ozone / X11 后端从 Chrome 92 的发布开始。

也就是说,几天前,为所有 Chrome Linux 用户激活了新的后端。 除了X11和Wayland(“–ozone-platform = wayland”和“–ozone-platform = x11”),Ozone还开发了通过KMS/DRM图形驱动输出的平台,使用libcaca库的ASCII图形输出,渲染成PNG图像(无头)和通过 Chromecast 设备流式传输。

最后,提到 上面的后端是计划好的, 仅支持通过 X11 工作, 将被弃用并最终从代码库中删除 (在新的 Ozone / X11 后端达到同等功能并默认启用后,在浏览器中保留另一个 X11 后端毫无意义。)

数据来源: https://chromium.googlesource.com


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。