Chrome flyttede til at bruge Ozonlaget på X11 -systemer

google-chrome

For nogle dage siden Chrome sendte alle brugere af den stabile gren af ​​browseren en ændring som som standard aktiverer en ny kode for at organisere output på systemer med en X -server, baseret på brugen af et lag kaldet "Ozon" der abstraherer interaktionen med det grafiske undersystem.

Brug af ozon giver mulighed for at understøtte X11 og Wayland i samme Chrome -build, uden at være bundet til et specifikt grafisk undersystem.

Om Ozon

Ozon er et platformabstraktionslag under Aura -vinduesystemet som bruges til input og grafik på lavt niveau, og dermed understøtter abstraktionen underliggende systemer lige fra indbyggede SoC-mål til nye alternative vinduesystemer til X11 på Linux som Wayland eller Mir til at vise Aura Chromium ved at levere en interfaceimplementering af platformen.

Da det er ønsket, at Chrome bruges i en lang række forskellige projekter, arbejdes der på at lette migrering til nye platforme.

For at understøtte dette mål følger Ozone følgende principper:

  • Grænseflader, ikke ifdefs: Forskelle mellem platforme håndteres ved at kalde et platform-givet objekt via en grænseflade i stedet for at bruge betinget kompilering. Platformens interne komponenter forbliver indkapslet, og den offentlige grænseflade fungerer som en firewall mellem platformens neutrale øvre lag (aura, flimmer, indhold osv.) Og de lavere platformspecifikke lag. 
  • Fleksible grænseflader: Platformgrænseflader skal indkapsle præcis, hvad Chrome har brug for fra platformen, med minimale begrænsninger for platformimplementering samt minimale begrænsninger for brug af de øvre lag.
  • Kørselstid for alle platforme: For at undgå betinget kompilering i de øverste lag giver det os mulighed for at bygge flere platforme i en binær og forbinde dem ved runtime.
  • Enkel forgrening - Mange havne starter som gafler, og mange af dem fletter senere deres kode opstrøms, andre vil have en lang levetid uden for træet. Dette er fint, og vi bør lette denne proces for at opmuntre gafler.

Det er derfor uafhængigheden af ​​det særlige ved at bygge en grafisk grænseflade på forskellige systemer fungerer i Chrome det implementeres ved hjælp af sin egen Aura cross-platform grafikstak. Aura fungerer som en vinduesmanager (Aura shell), der kører gennem sin egen sammensatte server og bruger tilgængelige GPU -værktøjer til at fremskynde grafiske operationer.

For at generere grænsefladeelementer, Aura UI -grafikværktøjet bruges, som giver sit eget sæt widgets, dialoger, kontrolelementer og hændelsesbehandlere. Af de underliggende grafiske stakfunktioner (X11, Wayland, Cocoa eller Windows) bruges kun output øverst i rodvinduet.

Alle specifikke operationer med Linux -grafikstakken reduceres til ét lag let udskifteligt abstrakt ozon. Hidtil har Ozone-support været leveret i form af en option, og standard er den gamle, X11-kodede backend.

Arbejdet med at oversætte X11 -builds til brug af ozonlaget har været i gang siden 2020, og for brugerne startede den gradvise inkludering af Ozone / X11 -backend som standard med udgivelsen af ​​Chrome 92.

Det vil sige, for et par dage siden blev den nye backend aktiveret for alle Chrome Linux -brugere. Ud over X11 og Wayland ("–ozone-platform = wayland" og "–ozone-platform = x11") udvikler Ozone også platforme til output via KMS / DRM-grafikdrivere, ASCII-grafikoutput ved hjælp af libcaca-biblioteket, gengivelse til PNG billeder (hovedløse) og streaming via Chromecast -enheder.

Endelig nævnes det ovenstående backend er planlagt, som kun understøtter arbejde kun gennem X11, vil blive udfaset og til sidst fjernet fra kodebasen (Efter at den nye Ozone / X11 -backend nåede paritet i funktionalitet og aktiverede den som standard, var det ingen mening at beholde en anden X11 -backend i browseren.)

kilde: https://chromium.googlesource.com


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.