Chrome se trasladó para usar la capa Ozone en sistemas X11

google-chrome

Hace algunos dias Chrome envío a todos los usuarios de la rama estable del navegador un cambio que, por defecto, activa un nuevo código para organizar la salida en sistemas con un servidor X, basado en el uso de una capa llamada «Ozone» que abstrae la interacción con el subsistema gráfico.

El uso de Ozone permite poder brindar el soporte para X11 y Wayland en la misma compilación de Chrome, sin estar vinculado a un subsistema de gráficos específico.

Sobre Ozone

Ozone es una capa de abstracción de la plataforma debajo del sistema de ventanas Aura que se utiliza para entradas y gráficos de bajo nivel, con ello la abstracción admite sistemas subyacentes que van desde objetivos de SoC integrados hasta nuevos sistemas de ventanas alternativos a X11 en Linux como Wayland o Mir para mostrar Aura Chromium al proporcionar una implementación de la interfaz de la plataforma.

Ya que se desea que Chrome sea utilizado en una amplia variedad de proyectos, se trabaja para que se facilite la migración a nuevas plataformas.

Para apoyar este objetivo, Ozone sigue los siguientes principios:

  • Interfaces, no ifdefs: Las diferencias entre plataformas se manejan llamando a un objeto proporcionado por la plataforma a través de una interfaz en lugar de usar la compilación condicional. Los componentes internos de la plataforma permanecen encapsulados y la interfaz pública actúa como un cortafuegos entre las capas superiores neutrales de la plataforma (aura, parpadeo, contenido, etc.) y las capas inferiores específicas de la plataforma. 
  • Interfaces flexibles: Las interfaces de la plataforma deben encapsular exactamente lo que Chrome necesita de la plataforma, con restricciones mínimas en la implementación de la plataforma, así como restricciones mínimas en el uso de las capas superiores.
  • Runtime para todas las plataformas:  para evitar la compilación condicional en las capas superiores nos permite construir múltiples plataformas en un binario y vincularlas en tiempo de ejecución.
  • Bifurcación sencilla: muchos puertos comienzan como bifurcaciones y muchos de ellos fusionan posteriormente su código en sentido ascendente, otros tendrán una vida útil prolongada fuera del árbol. Esto está bien, y deberíamos facilitar este proceso para fomentar los forks.

Es por ello que la independencia de las peculiaridades de construir una interfaz gráfica en varios sistemas operativos en Chrome se implementa utilizando su propia pila de gráficos multiplataforma Aura. Aura actúa como un administrador de ventanas (shell Aura), que se ejecuta a través de su propio servidor compuesto y utiliza las herramientas de GPU disponibles para acelerar las operaciones gráficas.

Para generar elementos de interfaz, se utiliza el kit de herramientas gráficas Aura UI, que proporciona su propio conjunto de widgets, cuadros de diálogo, controles y controladores de eventos. De las capacidades de la pila de gráficos subyacente (X11, Wayland, Cocoa o Windows), solo se usa la salida en la parte superior de la ventana raíz.

Todas las operaciones específicas con la pila de gráficos de Linux se reducen a una capa de Ozone abstracta fácilmente reemplazable. Hasta ahora, el soporte de Ozone se ha proporcionado en forma de una opción y el predeterminado es el backend antiguo, codificado en X11.

El trabajo en la traducción de compilaciones de X11 para usar la capa Ozone ha estado en marcha desde 2020 y para los usuarios, la inclusión gradual del backend Ozone/X11 de forma predeterminada comenzó con el lanzamiento de Chrome 92.

Es decir, hace unos días, se activó el nuevo backend para todos los usuarios de Linux de Chrome. Además de X11 y Wayland («–ozone-platform = wayland» y «–ozone-platform = x11»), Ozone también desarrolla plataformas para salida a través de controladores de gráficos KMS/DRM, salida en gráficos ASCII utilizando la biblioteca libcaca, renderizado a imágenes PNG (sin cabeza) y transmisión a través de dispositivos Chromecast.

Finalmente, se menciona que se planea que el backend anterior, que solo admite el trabajo solo a través de X11, se desaprobará y eventualmente se eliminará del código base (después de que el nuevo backend Ozone/X11 alcanzó la paridad en funcionalidad y lo habilitó de forma predeterminada, no tenía sentido mantener otro backend X11 en el navegador).

Fuente: https://chromium.googlesource.com


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.