Wersja Firefoksa dla Fedory obsługuje już przyspieszenie dekodowania wideo przez VA-API

Opiekun pakietu Firefox dla Fedory ogłosił, że obsługa akceleracji sprzętowej do dekodowania wideo w Firefoksie przy użyciu VA-API jest już dostępna w Fedorze . Wcześniej akceleracja działała jedynie w środowiskach opartych na Waylandzie, odkąd w zeszłym roku w Fedorze zaimplementowano obsługę Chromium VA-API.

Dodanie obsługi sprzętowego przyspieszenia dekodowania wideo w przeglądarce Firefox stało się możliwe dzięki nowemu zapleczu Wayland , które używa mechanizmu DMABUF do rysowania tekstur i organizowania wymiany buforów z tymi teksturami za pomocą różnych procesów.

Tak, wreszcie jest tutaj. Półtora roku po tym, jak Tom Callaway Engineering Manager @ Red Hat dodał łatkę do Chromium, otrzymujemy również przyspieszane sprzętowo odtwarzanie wideo dla przeglądarki Firefox. Szkoda, że ​​trwało to zbyt długo, ale wciąż się uczę.

Obsługa VA-API w Firefoksie jest nieco specyficzna, ponieważ działa tylko w Wayland w tej chwili. Nie ma ku temu technicznego powodu, po prostu nie mam czasu na implementację tego dla X11, więc błąd 1619523 czeka na odważnych hakerów.

Jonas Ådahl (Red Hat) pomógł mi z backendem Waylanda od czasu pierwszej łatki Wayland cztery lata temu.

W Fedorze 32 i Fedorze 31 nowa wersja Firefoksa 77 domyślnie zawiera nowy backend podczas uruchamiania w sesji bazy danych GNOME na Wayland, ale aby włączyć przyspieszane sprzętowo dekodowanie wideo, wymagane są również pewne dodatkowe pakiety które muszą być zainstalowane w systemie: repozytorium ffmpeg, libva i libva-utils RPM Fusion, skompilowane z obsługą VA-API.

W systemach z kartami graficznymi Intel przyspieszenie działa wyłącznie przy użyciu sterownika libva-intel-driver (sterownik libva-intel-hybrid-driver nie jest jeszcze obsługiwany).

W przypadku procesorów graficznych AMD akceleracja działa, jeśli masz standardową bibliotekę radeonsi_drv_video.so , która jest częścią pakietu mesa-dri-drivers. Obsługa kart graficznych NVIDIA nie została jeszcze zaimplementowana. Aby ocenić zgodność sterownika VA-API, możesz użyć narzędzia vainfo.

Jeśli obsługa zostanie potwierdzona, aby włączyć przyspieszenie w przeglądarce Firefox, na stronie „about:config” zmienne „gfx.webrender.enabled” i „widget.wayland-dmabuf-vaapi.enabled” muszą zostać ustawione na true.

Po ponownym uruchomieniu przeglądarki należy sprawdzić aktywację WebRendera i nowy backend (Wayland / drm) na stronie o: support.

Następnie użytkownik powinien upewnić się, że VA-API służy do przyspieszenia wyświetlania wideo (mogą wystąpić problemy ze zgodnością z kodekami, rozmiarami wideo i bibliotekami), dla których tryb debugowania można włączyć, uruchamiając Firefox ze zmienną środowiskową MOZ_LOG i sprawdzanie obecności powodzenia inicjalizacji VA-API FFmpeg.

MOZ_LOG = "PlatformDecoderModule: 5" MOZ_ENABLE_WAYLAND = 1 firefox

Użycie akceleracji podczas oglądania YouTube zależy od sposobu zakodowania filmu (H.264, AV1 itp.).

Możesz zobaczyć format w menu kontekstowym po kliknięciu prawym przyciskiem myszy w sekcji „Statystyki dla nerdów”. Aby wybrać format obsługiwany przez sprzętowy system dekodowania wideo, możesz użyć ulepszonej wtyczki h264ify.

Osobno należy zauważyć, że pakiety Firefoksa 77.0 dla Fedory zawierają dodatkowe poprawki wpływające na wydajność i stabilność, których brakuje w standardowych kompilacjach Firefoksa 77.0 od Mozilli. Uwzględnienie tych poprawek w głównej kompilacji jest spodziewane dopiero w Firefoksie 78.0 (użytkownicy mogą korzystać z wersji beta Firefoksa 78 lub kompilacji nocnych od Mozilli, uruchamiając przeglądarkę poleceniem `MOZ_ENABLE_WAYLAND=1 ./firefox`).

Ponadto kompilacje Mozilli korzystają z wbudowanej biblioteki libvpx, która nie obsługuje VA-API do dekodowania VP8/VP9; jeśli wymagane jest przyspieszenie dekodowania VP8/VP9 , należy wyłączyć bibliotekę libvpx, ustawiając zmienną „media.ffvpx.enabled” na „about:config” false (biblioteka libvpx jest już wyłączona w pakiecie z repozytorium Fedory).

A jeśli chcesz dowiedzieć się czegoś więcej, możesz zapoznać się z oryginalnym artykułem na oficjalnej stronie Martina Stransky'ego.

Link jest taki. 


Dodaj jako preferowane źródło w Google