Chrome is verhuisd om de ozonlaag op X11-systemen te gebruiken

google-chrome

Een paar dagen geleden Chrome heeft alle gebruikers van de stabiele tak van de browser een wijziging gestuurd die standaard activeert een nieuwe code om de uitvoer te organiseren op systemen met een X-server, gebaseerd op het gebruik van een laag genaamd «Ozon» dat de interactie met het grafische subsysteem abstraheert.

Ozon gebruiken maakt het mogelijk om ondersteuning te bieden voor X11 en Wayland in dezelfde Chrome-build, zonder gebonden te zijn aan een specifiek grafisch subsysteem.

Over ozon

Ozon is een platformabstractielaag onder het Aura-raamsysteem die wordt gebruikt voor invoer en grafische afbeeldingen op laag niveau, waardoor de abstractie onderliggende systemen ondersteunt, variërend van ingebouwde SoC-doelen tot nieuwe alternatieve venstersystemen tot X11 op Linux zoals Wayland of Mir om Aura Chromium weer te geven door een interface-implementatie van het platform te bieden.

Aangezien het gewenst is dat Chrome in een breed scala aan projecten wordt gebruikt, wordt er gewerkt aan het vergemakkelijken van de migratie naar nieuwe platforms.

Om dit doel te ondersteunen, volgt Ozone de volgende principes:

  • Interfaces, niet ifdefs: Verschillen tussen platforms worden afgehandeld door een door een platform geleverd object via een interface aan te roepen in plaats van voorwaardelijke compilatie te gebruiken. De interne componenten van het platform blijven ingekapseld en de openbare interface fungeert als een firewall tussen de neutrale bovenste lagen van het platform (aura, flikkering, inhoud, enz.) en de lagere platformspecifieke lagen. 
  • Flexibele interfaces: Platforminterfaces moeten precies bevatten wat Chrome van het platform nodig heeft, met minimale beperkingen op de platformimplementatie en minimale beperkingen op het gebruik van de bovenste lagen.
  • Runtime voor alle platforms: om voorwaardelijke compilatie in de bovenste lagen te voorkomen, kunnen we meerdere platforms in een binair bestand bouwen en ze tijdens runtime koppelen.
  • Eenvoudige vertakking - Veel poorten beginnen als vorken en velen van hen voegen later hun code stroomopwaarts samen, andere zullen een lange levensduur hebben buiten de boom. Dit is prima, en we zouden dit proces moeten faciliteren om forks aan te moedigen.

Dit is waarom de onafhankelijkheid van de eigenaardigheden van het bouwen van een grafische interface op verschillende systemen werkend in Chrome het wordt geïmplementeerd met behulp van zijn eigen Aura platformonafhankelijke grafische stack. Aura fungeert als een vensterbeheerder (Aura-shell), die door zijn eigen samengestelde server loopt en beschikbare GPU-tools gebruikt om grafische bewerkingen te versnellen.

Om interface-elementen te genereren, de Aura UI grafische toolkit wordt gebruikt, die zijn eigen set widgets, dialoogvensters, bedieningselementen en gebeurtenishandlers biedt. Van de onderliggende grafische stack-mogelijkheden (X11, Wayland, Cocoa of Windows) wordt alleen de uitvoer bovenaan het root-venster gebruikt.

Alle specifieke bewerkingen met de grafische Linux-stack worden teruggebracht tot één laag gemakkelijk vervangbare abstracte ozon. Tot nu toe is Ozone-ondersteuning geleverd in de vorm van een optie en de standaard is de oude, X11-gecodeerde backend.

Het werk aan het vertalen van X11-builds om de ozonlaag te gebruiken is aan de gang sinds 2020 en voor gebruikers begon de geleidelijke opname van de Ozone / X11-backend standaard met de release van Chrome 92.

Dat wil zeggen, een paar dagen geleden werd de nieuwe backend geactiveerd voor alle Chrome Linux-gebruikers. Naast X11 en Wayland ("–ozone-platform = wayland" en "–ozone-platform = x11"), ontwikkelt Ozone ook platforms voor uitvoer via KMS / DRM grafische stuurprogramma's, ASCII grafische uitvoer met behulp van de libcaca-bibliotheek, weergave naar PNG afbeeldingen (headless) en streaming via Chromecast-apparaten.

Ten slotte wordt dat vermeld de bovenstaande backend is gepland, die alleen werken via X11 ondersteunt, zal worden verouderd en uiteindelijk uit de codebase worden verwijderd (Nadat de nieuwe Ozone / X11-backend pariteit in functionaliteit had bereikt en deze standaard had ingeschakeld, had het geen zin om nog een X11-backend in de browser te houden.)

bron: https://chromium.googlesource.com


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.