Chrome mudou para usar a camada de ozônio em sistemas X11

google-chrome

Faz alguns dias O Chrome enviou uma mudança a todos os usuários do branch estável do navegador que, por padrão, ativa um novo código para organizar a saída em sistemas com um servidor X, com base no uso de uma camada chamada «ozônio» que abstrai a interação com o subsistema gráfico.

Usando Ozônio permite fornecer suporte para X11 e Wayland na mesma construção do Chrome, sem estar vinculado a um subsistema gráfico específico.

Sobre Ozônio

O ozônio é uma camada de abstração da plataforma abaixo do sistema de janelas Aura que é usado para entrada e gráficos de baixo nível, portanto, a abstração suporta sistemas subjacentes que variam de alvos SoC integrados a novos sistemas alternativos de janelas para X11 no Linux como Wayland ou Mir para exibir Aura Chromium fornecendo uma implementação de interface da plataforma.

Uma vez que se deseja que o Chrome seja usado em uma ampla variedade de projetos, um trabalho está sendo feito para facilitar a migração para novas plataformas.

Para apoiar esse objetivo, o Ozônio segue os seguintes princípios:

  • Interfaces, não ifdefs: as diferenças entre as plataformas são tratadas chamando um objeto fornecido pela plataforma por meio de uma interface em vez de usar compilação condicional. Os componentes internos da plataforma permanecem encapsulados e a interface pública atua como um firewall entre as camadas neutras superiores da plataforma (aura, flicker, conteúdo, etc.) e as camadas específicas da plataforma inferior. 
  • Interfaces flexíveis: as interfaces da plataforma devem encapsular exatamente o que o Chrome precisa da plataforma, com restrições mínimas na implementação da plataforma, bem como restrições mínimas no uso das camadas superiores.
  • Tempo de execução para todas as plataformas: para evitar a compilação condicional nas camadas superiores, ele nos permite construir várias plataformas em um binário e vinculá-las em tempo de execução.
  • Ramificação simples - muitas portas começam como bifurcações e muitas delas posteriormente mesclam seu código upstream, outras terão uma longa vida útil fora da árvore. Isso é bom e devemos facilitar esse processo para incentivar os garfos.

É por isso que a independência das peculiaridades da construção de uma interface gráfica em vários sistemas operando no Chrome ele é implementado usando sua própria pilha de gráficos de plataforma cruzada Aura. O Aura atua como um gerenciador de janelas (shell Aura), executando através de seu próprio servidor composto e usando as ferramentas GPU disponíveis para acelerar as operações gráficas.

Para gerar elementos de interface, o kit de ferramentas de gráficos Aura UI é usado, que fornece seu próprio conjunto de widgets, diálogos, controles e manipuladores de eventos. Dos recursos subjacentes da pilha de gráficos (X11, Wayland, Cocoa ou Windows), apenas a saída na parte superior da janela raiz é usada.

Todas as operações específicas com a pilha de gráficos do Linux se resumem a uma camada ozônio abstrato facilmente substituível. Até agora, o suporte ao Ozone foi fornecido na forma de uma opção e o padrão é o backend antigo, codificado em X11.

O trabalho de tradução dos builds do X11 para usar a camada de ozônio vem acontecendo desde 2020 e, para os usuários, a inclusão gradual do back-end Ozone / X11 por padrão começou com o lançamento do Chrome 92.

Ou seja, há alguns dias, o novo back-end foi ativado para todos os usuários do Chrome Linux. Além de X11 e Wayland ("–ozone-platform = wayland" e "–ozone-platform = x11"), a Ozone também desenvolve plataformas para saída por meio de drivers gráficos KMS / DRM, saída de gráficos ASCII usando a biblioteca libcaca, renderização em PNG imagens (sem cabeça) e streaming via dispositivos Chromecast.

Finalmente, é mencionado que o backend acima é planejado, que só suporta trabalho apenas com o X11, será descontinuado e eventualmente removido da base de código (Depois que o novo back-end Ozone / X11 atingiu a paridade de funcionalidade e a habilitou por padrão, não havia sentido em manter outro back-end X11 no navegador.)

fonte: https://chromium.googlesource.com


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.