Firefox dla Wayland wprowadza WebGL i akcelerację sprzętową wideo
В nocne budowanie Firefox, na bazie którego 7 kwietnia powstanie wydanie Firefoksa 75, wdrożone pełna obsługa WebGL w środowiskach korzystających z protokołu Wayland. Do tej pory poziom wydajności WebGL w Linuxowych kompilacjach Firefoksa pozostawiał wiele do życzenia ze względu na brak obsługi akceleracji sprzętowej, ze względu na problemy ze sterownikami gfx dla X11 i wykorzystaniem różnych standardów. Przyspieszenie oparte na gfx w X11 zostało zapewnione w Chrome, ale kosztem utrzymania ogromnej listy wyjątków i obejść, aby uniknąć problemów (patrz chrome://gpu/). W przeglądarce Firefox akceleracja sprzętowa WebGL dla systemu Linux nigdy nie była domyślnie włączona, ponieważ Mozilla nie miała zasobów, aby rozwiązać każdy problematyczny sterownik i kartę graficzną.
Podczas korzystania z Waylanda sytuacja uległa zmianie dzięki pojawieniu się nowego zapleczeza pomocą mechanizmu DMABUF do renderowania w tekstury i organizacja udostępnianie buforów z tymi teksturami znajdującymi się w pamięci wideo pomiędzy różnymi procesami. Początkowo nowy backend został opracowany z myślą o zapewnieniu wysokiej jakości obsługi akceleracji gfx. Oprócz akceleracji sprzętowej, backend WebGL również dałokazja zaimplementuj obsługę przyspieszania dekodowania wideo h.264 za pomocą VA-API (Video Acceleration API) i FFmpegDataDecoder.
Kompilacje Firefoksa oparte na Wayland były w stanie przygotować zunifikowane działające środowisko GL, które nie było powiązane z konkretnymi serwerami złożonymi, takimi jak GNOME Mutter czy KDE Kwin. Obsługa akceleracji przy użyciu backendu opartego na DMABUF jest zaimplementowana dla dwóch silników renderujących dostępnych w przeglądarce Firefox - WebRender (nowy, wykorzystujący procesor graficzny do renderowania stron internetowych) i kompozytor GL (klasyczny). W obu przypadkach, podczas korzystania z nowego backendu, tekstury tworzone są w GPU i można ich używać bezpośrednio, bez kopiowania pomiędzy procesami przeglądarki odpowiedzialnymi za komponowanie i interakcję z GPU. Ramki WebGL mogą być renderowane bezpośrednio do pamięci GPU, która może być mapowana do bufora ramki EGL, przetwarzana w głównym procesie i renderowana jako tekstura podczas spłaszczania elementów strony internetowej.
Aby włączyć akcelerację WebGL i wideo musi być uruchom Firefoksa ze zmienną środowiskową „MOZ_ENABLE_WAYLAND=1” i w about:config ustaw parametry „widget.wayland-dmabuf-webgl.enabled” i „widget.wayland-dmabuf-vaapi.enabled”, następnie sprawdź, czy akceleracja jest włączona strona z informacjami: wsparcie. Do działania wymagana jest biblioteka libva w wersji 2.6.0+ (testowana na Fedorze 31 z procesorem graficznym Intel UHD 630).
Wśród nadchodzących zmian w przeglądarce Firefox 75 możesz także znak:
Włączono dla użytkowników z Wielkiej Brytanii (wcześniej reklamujących się pokazał się tylko dla użytkowników z USA) wyświetlanie opłaconych przez sponsorów blokad na stronie startowej w sekcji treści polecanych przez serwis Pocket (bloki są wyraźnie oznaczone jako reklamowe i można je wyłączyć w ustawieniach).
W menedżerze haseł (about:logins), jeśli hasło główne nie jest ustawione, wdrożone początkowa obsługa wyświetlania okna dialogowego uwierzytelniania systemu operacyjnego i wprowadzania danych uwierzytelniających system przed przeglądaniem zapisanych haseł.
Dodano możliwość aktywacji interfejsu profilowania strony bez instalowania dodatku, poprzez kliknięcie przycisku „Włącz przycisk menu Profilera” na stronie profiler.firefox.com. Dodano tryb analizy wydajności tylko dla aktywnej karty.
Wdrożone tryb usuwania starych plików cookie i danych witryn podczas uzyskiwania dostępu do witryn z kodem śledzenia nawigacji, z którymi użytkownik nie wchodził w interakcję interaktywną. Tryb ma na celu zwalczanie śledzenia poprzez przekierowania.
Zaczęła się implementacja modalnych okien dialogowych powiązanych z poszczególnymi zakładkami i nie blokujących całego interfejsu.