Chrome przeniósł się do korzystania z warstwy ozonowej w systemach X11

google-chrome

Kilka dni temu Chrome wysłał zmianę wszystkim użytkownikom stabilnej gałęzi przeglądarki które domyślnie aktywuje nowy kod w celu uporządkowania danych wyjściowych w systemach z serwerem X, w oparciu o użycie warstwa o nazwie «Ozon» który abstrahuje interakcję z podsystemem graficznym.

Korzystanie z ozonu umożliwia obsługę X11 i Waylanda w tej samej wersji Chrome, bez powiązania z określonym podsystemem graficznym.

O ozonie

Ozon to warstwa abstrakcji platformy pod systemem okien Aura który jest używany do grafiki wejściowej i niskopoziomowej, tym samym abstrakcja obsługuje podstawowe systemy, od wbudowanych celów SoC do nowych alternatywnych systemów okienkowych do X11 w Linuksie, takich jak Wayland lub Mir, do wyświetlania Aura Chromium, zapewniając implementację interfejsu platformy.

Ponieważ pożądane jest, aby Chrome był używany w wielu różnych projektach, trwają prace nad ułatwieniem migracji na nowe platformy.

Aby wspierać ten cel, Ozone kieruje się następującymi zasadami:

  • Interfejsy, a nie ifdefs: różnice między platformami są obsługiwane przez wywołanie obiektu dostarczonego przez platformę za pośrednictwem interfejsu zamiast używania kompilacji warunkowej. Wewnętrzne komponenty platformy pozostają zamknięte, a interfejs publiczny działa jak zapora ogniowa między neutralnymi górnymi warstwami platformy (aura, migotanie, treść itp.) a warstwami specyficznymi dla dolnej platformy. 
  • Elastyczne interfejsy: interfejsy platformy powinny zawierać dokładnie to, czego Chrome potrzebuje od platformy, z minimalnymi ograniczeniami implementacji platformy, a także minimalnymi ograniczeniami dotyczącymi używania wyższych warstw.
  • Runtime dla wszystkich platform: aby uniknąć warunkowej kompilacji w wyższych warstwach, pozwala nam budować wiele platform w jednym pliku binarnym i łączyć je w czasie wykonywania.
  • Proste rozgałęzianie - Wiele portów zaczyna się jako fork, a wiele z nich później łączy swój kod w górę, inne będą miały długą żywotność poza drzewem. To jest w porządku i powinniśmy ułatwić ten proces, aby zachęcić do rozwidlenia.

Dlatego niezależność od specyfiki budowania interfejsu graficznego na różnych systemach działa w Chrome jest zaimplementowany przy użyciu własnego wieloplatformowego stosu graficznego Aura. Aura działa jako menedżer okien (powłoka Aura), działający przez własny serwer kompozytowy i korzystający z dostępnych narzędzi GPU w celu przyspieszenia operacji graficznych.

Aby wygenerować elementy interfejsu, używany jest zestaw narzędzi graficznych Aura UI, który zapewnia własny zestaw widżetów, okien dialogowych, kontrolek i programów obsługi zdarzeń. Z podstawowych możliwości stosu graficznego (X11, Wayland, Cocoa lub Windows) używane są tylko dane wyjściowe w górnej części okna głównego.

Wszystkie specyficzne operacje na stosie graficznym Linuksa sprowadzają się do jednej warstwy łatwo wymienialny abstrakcyjny ozon. Do tej pory obsługa Ozone była dostarczana w formie opcji i domyślnie jest to stary backend, zakodowany w X11.

Prace nad tłumaczeniem kompilacji X11 do korzystania z warstwy Ozone trwają od 2020 roku, a dla użytkowników stopniowe włączanie backendu Ozone / X11 domyślnie rozpoczęło się wraz z wydaniem Chrome 92.

Oznacza to, że kilka dni temu nowy backend został aktywowany dla wszystkich użytkowników Chrome Linux. Oprócz X11 i Wayland („–ozone-platform = wayland” i „–ozone-platform = x11”), Ozone opracowuje również platformy do wyjścia za pomocą sterowników graficznych KMS/DRM, wyjścia grafiki ASCII przy użyciu biblioteki libcaca, renderowania do formatu PNG obrazy (bezgłowe) i przesyłanie strumieniowe za pośrednictwem urządzeń Chromecast.

Wreszcie jest o tym mowa planowany jest powyższy backend, który obsługuje tylko pracę tylko przez X11, zostaną przestarzałe i ostatecznie usunięte z bazy kodu (Kiedy nowy backend Ozone/X11 osiągnął parzystość funkcjonalności i domyślnie go włączył, nie było sensu utrzymywać innego backendu X11 w przeglądarce.)

źródło: https://chromium.googlesource.com


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.