Chrome a décidé d'utiliser la couche d'ozone sur les systèmes X11

google-chrome

Ça fait quelques jours Chrome a envoyé un changement à tous les utilisateurs de la branche stable du navigateur qui, par défaut, active un nouveau code pour organiser la sortie sur les systèmes avec un serveur X, basé sur l'utilisation de une couche appelée « Ozone » qui fait abstraction de l'interaction avec le sous-système graphique.

Utiliser l'ozone permet de fournir un support pour X11 et Wayland dans le même build Chrome, sans être lié à un sous-système graphique spécifique.

À propos de l'ozone

L'ozone est une couche d'abstraction de plate-forme sous le système de fenêtre Aura qui est utilisé pour les graphiques d'entrée et de bas niveau, ainsi l'abstraction prend en charge les systèmes sous-jacents allant des cibles SoC intégrées aux nouveaux systèmes de fenêtrage alternatifs à X11 sur Linux comme Wayland ou Mir pour afficher Aura Chromium en fournissant une implémentation d'interface de la plate-forme.

Comme il est souhaité que Chrome soit utilisé dans une grande variété de projets, des travaux sont en cours pour faciliter la migration vers de nouvelles plates-formes.

Pour soutenir cet objectif, Ozone suit les principes suivants :

  • Interfaces, pas ifdefs : les différences entre les plates-formes sont gérées en appelant un objet fourni par la plate-forme via une interface au lieu d'utiliser la compilation conditionnelle. Les composants internes de la plate-forme restent encapsulés et l'interface publique agit comme un pare-feu entre les couches supérieures neutres de la plate-forme (aura, scintillement, contenu, etc.) et les couches inférieures spécifiques à la plate-forme. 
  • Interfaces flexibles : les interfaces de plate-forme doivent encapsuler exactement ce dont Chrome a besoin de la plate-forme, avec des restrictions minimales sur la mise en œuvre de la plate-forme, ainsi que des restrictions minimales sur l'utilisation des couches supérieures.
  • Runtime pour toutes les plates-formes : pour éviter la compilation conditionnelle dans les couches supérieures, cela nous permet de créer plusieurs plates-formes dans un binaire et de les lier au moment de l'exécution.
  • Branchement simple - De nombreux ports commencent comme des fourches et beaucoup d'entre eux fusionnent plus tard leur code en amont, d'autres auront une longue durée de vie en dehors de l'arborescence. C'est très bien, et nous devrions faciliter ce processus pour encourager les fourches.

Voilà pourquoi l'indépendance des particularités de construction d'une interface graphique sur divers systèmes fonctionnant dans Chrome il est implémenté à l'aide de sa propre pile graphique multiplateforme Aura. Aura agit comme un gestionnaire de fenêtres (shell Aura), s'exécutant via son propre serveur composite et utilisant les outils GPU disponibles pour accélérer les opérations graphiques.

Pour générer des éléments d'interface, la boîte à outils graphique Aura UI est utilisée, qui fournit son propre ensemble de widgets, de boîtes de dialogue, de contrôles et de gestionnaires d'événements. Parmi les capacités de la pile graphique sous-jacente (X11, Wayland, Cocoa ou Windows), seule la sortie en haut de la fenêtre racine est utilisée.

Toutes les opérations spécifiques avec la pile graphique Linux sont réduites à une seule couche ozone abstrait facilement remplaçable. Jusqu'à présent, la prise en charge d'Ozone a été fournie sous la forme d'une option et la valeur par défaut est l'ancien backend codé en X11.

Les travaux de traduction des builds X11 pour utiliser la couche Ozone sont en cours depuis 2020 et pour les utilisateurs, l'inclusion progressive du backend Ozone / X11 par défaut a commencé avec la sortie de Chrome 92.

C'est-à-dire qu'il y a quelques jours, le nouveau backend a été activé pour tous les utilisateurs de Chrome Linux. En plus de X11 et Wayland ("–ozone-platform = wayland" et "–ozone-platform = x11"), Ozone développe également des plates-formes pour la sortie via les pilotes graphiques KMS / DRM, la sortie graphique ASCII à l'aide de la bibliothèque libcaca, le rendu au format PNG images (sans tête) et diffusion via des appareils Chromecast.

Enfin, il est mentionné que le backend ci-dessus est prévu, qui ne prend en charge que le travail via X11, sera obsolète et finalement supprimé de la base de code (Après que le nouveau backend Ozone / X11 ait atteint la parité dans les fonctionnalités et l'ait activé par défaut, il ne servait à rien de garder un autre backend X11 dans le navigateur.)

source: https://chromium.googlesource.com


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.