GNU/Linux >> Znalost Linux >  >> Debian

Jak povolit hardwarově akcelerované dekódování videa v prohlížečích Google Chrome, Brave, Vivaldi a Opera na Debian, Ubuntu nebo Linux Mint

Google Chrome 88 (a novější) zpřístupnil v Linuxu hardwarově akcelerované dekódování videa, ale ve výchozím nastavení není povoleno. Google Chrome však není jediným webovým prohlížečem založeným na Chromiu, který podporuje hardwarovou akceleraci v systému Linux. Tento článek vysvětluje, jak povolit hardwarově akcelerované dekódování videa ve webových prohlížečích Google Chrome, Brave, Vivaldi a Opera běžících na Debianu, Ubuntu, Pop! _OS nebo Linux Mint (pouze Xorg).

Použití hardwarově urychleného dekódování videa ve vašem webovém prohlížeči by mělo mít za následek menší využití procesoru (a tedy menší vybíjení baterie) při přehrávání online videí.

Stojí za zmínku, že webový prohlížeč Chromium měl opravy, které umožňovaly zpřístupnit hardwarově akcelerované dekódování videa v Linuxu po nějakou dobu, a některé distribuce Linuxu jej s těmito opravami zabalily. Uživatelé Chromia tedy mají v Linuxu nějakou dobu hardwarovou akceleraci v závislosti na jejich distribuci Linuxu nebo jestli si opravený Chromium nainstalovali nějakým jiným způsobem. Například pod Ubuntu / Linux Mint existuje PPA s VA-API opravenými sestaveními Chromium. Tyto pokyny proto mohou fungovat i pro prohlížeč Chromium v ​​závislosti na jeho struktuře.

Rád bych také dodal, že tyto pokyny, jak povolit hardwarově akcelerované dekódování videa, fungují i ​​na jiných distribucích Linuxu, nejen na distribucích Linuxu založených na Debian / Ubuntu, ale názvy ovladačů se liší.

Testoval jsem tyto pokyny s desktopem Ubuntu 20.10 s grafikou Nvidia a nainstaloval jsem níže uvedené webové prohlížeče s jejich originálním balením Ubuntu (s balíčkem DEB). Testováno také s notebookem s grafikou Intel (10. generace) pod Ubuntu 20.04 a 20.10. Nevlastním grafické zařízení AMD, abych to mohl vyzkoušet.

V mém testu se mi podařilo zajistit, aby hardwarově akcelerované dekódování videa fungovalo pod Linuxem s:

  • Google Chrome stable 88
  • Brave stable 1.19
  • Snímek Vivaldi 3.6 / [Upravit] Nejnovější Vivaldi Stable 3.6 funguje také
  • Opera Beta 74

Je zřejmé, že by měl stále fungovat s novějšími verzemi (tj. Google Chrome 89, Brave 1.20 atd.).

Podle mě Hardwarově akcelerované dekódování videa nefungovalo s:

  • Vivaldi stable 3.5 . Vivaldi Stable je nyní verze 36 a má funkční hardwarově akcelerované dekódování videa
  • Operní stáj 73
  • Microsoft Edge – neexistuje ani jeden chrome://flags/#enable-accelerated-video-decode Flag (pro povolení hardwarově akcelerovaného dekódování videa).

Rozhraní VA API na XWayland můžete používat pomocí --use-gl=egl Příznak příkazového řádku, ale nezkoušel jsem . Počínaje Google Chrome 91 (a dalšími prohlížeči založenými na Chromiu 91) potřebujete také --enable-features=VaapiVideoDecoder Vlajka.

[[Edit]]Zkoušel jsem postupovat podle níže uvedených pokynů a poté pomocí prohlížeče s --use-gl=egl Flag on Wayland, práce na notebooku s grafikou Intel a hardwarově akcelerovaným přehráváním videa. Videa na tomto notebooku jsou však s tímto nastavením trhaná. Takže v tomto případě dávám přednost použití Firefoxu hardwarově akcelerované přehrávání videa (na kterém při použití Wayland a Firefoxu na stejném notebooku je přehrávání videa plynulé, ale využití procesoru je vyšší než při použití prohlížeče založeného na Chromiu).

Jak povolit hardwarově akcelerované dekódování videa ve webových prohlížečích Google Chrome, Brave, Vivaldi a Opera na platformách Debian, Ubuntu nebo Linux Mint (X11)

Věci, které budete potřebovat k aktivaci hardwarově akcelerovaného dekódování videa ve webových prohlížečích uvedených výše (tj. Google Chrome 88+, Brave 1.19+, Vivaldi 3.6+ a Opera 74+):

1. Povolte následující příznaky webového prohlížeče:

Pro prohlížeče založené na Google Chrome 90 a starších:

  • Přepsat seznam vykreslování softwaru:chrome://flags/#ignore-gpu-blocklist
  • Hardwarově urychlené dekódování videa:chrome://flags/#enable-accelerated-video-decode

Pro prohlížeče založené na Google Chrome 91 a novějších (již neexistuje hardwarově akcelerované dekódování videa, ale musíme použít nový příznak příkazového řádku – viz krok 4):

  • Přepsat seznam vykreslování softwaru:chrome://flags/#ignore-gpu-blocklist

2. Nainstalujte ovladač VA API, abyste mohli dekódovat média (zdroj), stejně jako libva-drm2 a libva-x11-2 (tyto 2 jsou pravděpodobně již nainstalovány, ale pro případ; tyto 2 jsem přidal v pozdější úpravě poté, co jsem si všiml, že hardwarová akcelerace bez nich nefunguje, a jakmile nainstaluji vainfo, které tyto 2 balíčky jako závislosti obsahují, je to začněte pracovat):

  • Pro hardware Intel Gen 7 a starší:

sudo apt install i965-va-driver-shaders libva-drm2 libva-x11-2

  • Pro hardware Intel Gen 8+:

sudo apt install intel-media-va-driver-non-free libva-drm2 libva-x11-2

  • Pro ovladače Nouveau a AMD (Nepodařilo se mi přimět prohlížeč, aby používal hardwarovou akceleraci s ovladači Nouveau, možná budete mít větší štěstí):

sudo apt install mesa-va-drivers libva-drm2 libva-x11-2

  • Pro proprietární ovladače Nvidia – Můžete je nainstalovat z repozitářů nebo pomocí proprietárního ovladače GPU PPA (např. spusťte dialogové okno Další ovladače na Ubuntu a nainstalujte jej odtud). Pokud používáte proprietární ovladače Nvidia, budete potřebovat opravený také vdpau-va-driver ([[edit]]Tento patch již nepodporuje VP9, ​​​​i když ho vaše grafika podporuje, takže v každém případě musíte použít rozšíření h264ify – viz níže). Můžete jej získat odtud (potřebujete také libvdpau1 odtud, protože je to závislost na vdpau-va-driver) pro Debian / Ubuntu / Linux Mint / Pop! _OS atd. Balíček Ubuntu 20.04 odtud také funguje na Ubuntu 20.10 a novějších. Pokud chcete vidět opravy používané tímto balíčkem, stáhněte si archiv .debian.tar.gz (pomocí stejného odkazu jako výše) a podívejte se do složky „patches“. V případě, že tyto DEB nefungují na Debianu (nezkoušel jsem to), použijte tyto odkazy pro vdpau-va-driver (orig.tar.gz | debian.tar.xz) a libvdau (orig.tar.gz | debian.tar.xz), stáhněte si archivy .orig.tar.gz a .debian.tar.xz a sestavte balíček DEB na vašem systému. Nainstalujte také libva-drm2 a libva-x11-2:sudo apt install libva-drm2 libva-x11-2

Proč nesvobodné verze intel-media-va-driver a i965-va-driver ? Teoreticky by to mělo fungovat s bezplatnou verzí (?), Ale v mém testu na notebooku Intel Gen 10 hardwarově akcelerované dekódování videa fungovalo pouze s intel-media-va-driver-non-free Ovladač a ne intel-media-va-driver (Nejsem si jistý ovladačem i965, ale napadlo mě, že by to mohlo být podobné). Je tam také někdo jiný, kdo řekl, že to pro ni fungovalo.

3. Vyžaduje se pouze pro grafické karty, které nepodporují hardwarové dekódování videa VP9:Nainstalujte si rozšíření prohlížeče h264ify.

Pokud vaše grafická karta nepodporuje hardwarové dekódování videa VP9, ​​nainstalujte si rozšíření prohlížeče h264ify (nebo Enhanced-h264ify – někteří uživatelé tvrdí, že jim to funguje, zatímco původní rozšíření ne; u mě je to naopak) a ujistěte se, že je povoleno pro VP9.

[[Edit]]Uživatelé Nvidia:Opravený ovladač vdpau-va zmíněný výše již nezrychluje hardware VP9 v prohlížečích založených na Chromiu. Chcete-li získat hardwarově akcelerované dekódování videa, musíte použít rozšíření h264ify a vyhnout se VP9.

Pokud stále nevidíte MojoVideoDecoder im chrome://media-internals (viz část níže a ověřte, zda je povoleno hardwarově akcelerované dekódování videa a zda jej prohlížeč skutečně používá), zkuste po instalaci tohoto rozšíření restartovat webový prohlížeč. Viděl jsem případy, kdy to bylo vyžadováno, a některé, kde to nebylo.

4. Spusťte webový prohlížeč pomocí --use-gl=desktop Příznak pro povolení hardwarové akcelerace VA API. [[Edit] U prohlížečů založených na Chromiu 91 a vyšší musíte spustit také s tímto --enable-features=VaapiVideoDecoder Vlajka.

Chcete-li použít VA API pro dekódování videa, musíte spustit webový prohlížeč, ať už je to Chromium, Google Chrome, Brave, Opera nebo Vivaldi, s následujícím příznakem příkazového řádku:--use-gl=desktop . Výsledkem je, že webový prohlížeč používá OpenGL a deaktivuje ANGLE jako backend vykreslování. I když jsou místa, kde jsem se dočetl, že by to již nemělo být potřeba, v mém testu to bylo vyžadováno s grafikou Nvidia i Intel (nemám grafiku AMD, abych to otestoval).

Chcete-li například spustit Google Chrome s tímto příznakem:

google-chrome-stable --use-gl=desktop

Začněte Brave s tímto:

brave-browser --use-gl=desktop

A tak dále.

Aby byla tato změna trvalá, zkopírujte soubor .desktop prohlížeče z /usr/share/applications na ~/.local/share/applications (Pokud tato složka neexistuje, vytvořte ji). Zkopírováním souboru sem zajistíme, že nebude přepsán aktualizací. Poté otevřete soubor .desktop (např. brave-browser.desktop , brave-browser-beta.desktop , google-chrome.desktop , atd.) z něj ~/.local/share/applications Umístění, s textovým editorem. V tomto souboru vyhledejte řádek, který začíná Exec= a upravte spustitelný soubor tak, aby obsahoval --use-gl=desktop . Např. pro odvážné:Exec=/usr/bin/brave-browser-stable --use-gl=desktop nebo pro Google Chrome:Exec=/usr/bin/google-chrome-stable --use-gl=desktop %U

[Velmi důležitá úprava] S prohlížečem Chromium 91 (a všemi prohlížeči založenými na něm) zmizel příznak prohlížeče pro hardwarově akcelerované dekódování videa. Chcete-li získat hardwarově akcelerované přehrávání videa, musíte přidat nový příznak příkazového řádku:--enable-features=VaapiVideoDecoder

Přidejte tento příznak stejně jako přidáte příznak --use-gl=desktop Vlajka. Budete potřebovat obojí, nebo alespoň to, co jsem potřeboval k hardwarově akcelerovanému dekódování videa.

Chcete-li například spustit Google Chrome s těmito dvěma příznaky, použijte:

google-chrome-stable --use-gl=desktop --enable-features=VaapiVideoDecoder

Nebo místo toho spusťte Brave:

brave-browser --use-gl=desktop --enable-features=VaapiVideoDecoder

Důležitá poznámka:Pokud při spuštění prohlížeče s --use-gl=desktop uvidíte zcela bílý obraz videa , zaškrtněte chrome://flags a ujistěte se, že tam není aktivován Vulkan. Když je Vulkan aktivován a prohlížeč je spuštěn s --use-gl=desktop Možnost způsobí to.

Další poznámka, tentokrát pro uživatele Opery :Pokud po použití rozšíření h264ify nemůžete přehrávat videa na YouTube a dalších webech, podívejte se na Řešení zde pro povolení podpory h264 v Opeře (všimněte si, že pokud používáte webový prohlížeč Opera Beta, složka je /opera-beta ).

To je ono.

Jak zkontrolovat, zda je povoleno hardwarově akcelerované dekódování videa a zda funguje v jakémkoli webovém prohlížeči založeném na Chromiu

Nyní se podívejme, zda webový prohlížeč používá hardwarově akcelerované dekódování videa.

Nejprve zkontrolujte, zda prohlížeč podporuje hardwarově akcelerované video. Chcete-li to provést, otevřete novou kartu a přejděte na chrome://gpu . Na této stránce byste měli vidět „Dekódování videa:Hardwarově akcelerované“ (zeleně, jako zde):

To znamená, že váš webový prohlížeč nyní podporuje hardwarově akcelerované dekódování videa. Je ale skutečně schopen dekódovat video pomocí hardwaru? Podívejme se na to také otevřením videa na YouTube a stisknutím klávesy Ctrl + Shift + i otevřete Chrome DevTools. V nabídce se třemi svislými tečkami klikněte na More tools -> Media . Poté klikněte na název videa v levém postranním panelu DevTools (Players sekce) a podívejte se do Video Decoder Část Media Karta Chrome DevTools:

Když říká, že název dekodéru je VideoDecode Accelerator nebo jsem to viděl taky tak VDAVideoDecoder (předtím to bylo MojoVideoDecoder a předtím to bylo GpuVideoDecoder takže pokud máte jeden z nich a používáte starší verzi prohlížeče, která je v pořádku, máte hardwarovou akceleraci) a Hardware decoder je true , pak použijte hardwarově akcelerované dekódování videa. Pokud se nazývá FFmpegVideoDecoder , VpxVideoDecoder nebo Dav1dVideoDecoder (a v tomto případě Hardware decoder by měl být false ) váš webový prohlížeč nepoužívá hardwarově akcelerované dekódování videa.


Debian
  1. Jak spustit Google Chrome jako root – Ubuntu 11.10 / Linux Mint 12

  2. Jak nainstalovat Oracle Java 14 (JDK 14) na Ubuntu, Debian nebo Linux Mint z úložiště APT PPA

  3. Jak nainstalovat a nakonfigurovat Node.js a npm v Ubuntu, Debianu nebo Linux Mintu

  1. Jak nainstalovat Pip na Ubuntu 18.04, Debian 9 a Linux Mint 19

  2. Jak nainstalovat Google Chrome 17 na Ubuntu 11.10 / Linux Mint 12

  3. Jak nainstalovat Google Chrome na Debian a Kali Linux

  1. Jak zkompilovat a nainstalovat wxWidgets na Ubuntu/Debian/Linux Mint

  2. Povolte webgl v google chrome na ubuntu

  3. Jak nainstalovat Oracle Java 15 na Ubuntu, Debian nebo Linux Mint pomocí úložiště APT PPA