GNU/Linux >> Znalost Linux >  >> Debian

Jak povolit hardwarovou akceleraci v Chromiu na Ubuntu nebo Linux Mint (VA-API Patched PPA Builds)

Možná jste si všimli, že sledování HD videí z Youtube a dalších podobných webů v prohlížečích Google Chrome nebo Chromium na Linuxu výrazně zvyšuje využití procesoru a při používání notebooku se pěkně zahřívá a velmi rychle vybíjí baterii. Je to proto, že Chrome/Chromium (také Firefox, ale neexistuje způsob, jak to vynutit) nepodporuje hardwarově akcelerované dekódování videa v Linuxu.

Tento článek vysvětluje, jak nainstalovat beta verzi Chromium nebo vývojovou verzi, která obsahuje opravu, která umožňuje VA API v Linuxu, a přidává podporu pro dekódování videa akcelerované GPU, což snižuje využití procesoru při sledování HD videí online a mělo by se výrazně snížit. Návod se týká pouze grafických karet Intel a Nvidia, nemám grafickou kartu ATI/AMD, abych to zkusil a nemám s takovými grafickými kartami žádné zkušenosti, ale podle toho, co jsem četl, mělo by to fungovat s grafikou ATI / AMD .

Toto je Chromium z repozitářů Ubuntu (18.04) bez GPU akcelerovaného dekódování videa přehrávajícího 1080p YouTube video:

Stejné 1080p video YouTube přehrávané v Chromiu s opravou VA API a hardwarově akcelerovaným dekódováním videa na Ubuntu 18.04:

Všimněte si využití CPU na snímcích obrazovky. Oba screenshoty byly pořízeny na mém starém, ale stále poměrně výkonném desktopu. Na mém notebooku je využití procesoru Chromium mnohem vyšší bez hardwarové akcelerace.

Oprava pro přidání podpory VA API do Chromia na Linuxu s názvem „Povolit VAVDA, VAVEA a VAJDA na Linuxu pouze s VAAPI ' byl původně odeslán do prohlížeče Chromium před více než rokem, ale dosud nebyl sloučen.

Chrome nabízí možnost přepsat seznam vykreslování softwaru (#ignore-gpu-blacklist ), ale tato možnost nepovoluje hardwarově akcelerované dekódování videa. Po povolení této možnosti při návštěvě můžete najít:chrome://gpu :“Dekódování videa:Hardwarově akcelerované “, ale to neznamená, že to skutečně funguje. Otevřete HD video na YouTube a zkontrolujte využití procesoru v nástroji jako htop (Toto používám na snímcích výše ke kontrole využití procesoru) – Měli byste vidět vysoké využití procesoru, protože není povoleno dekódování videa GPU. Níže je také část, kde si můžete ověřit, že skutečně používáte hardwarově akcelerované dekódování videa. [[Edit]]To už není pravda. Google Chrome a další webové prohlížeče založené na Chromiu nyní ve výchozím nastavení nabízejí podporu VA API. Ve výchozím nastavení však není povolena. Další informace naleznete v části:Jak povolit hardwarově akcelerované dekódování videa v prohlížečích Google Chrome, Brave, Vivaldi a Opera v systémech Debian, Ubuntu nebo Linux Mint


Záplaty používané sestaveními Chromium Ubuntu s podporou VA API použité v tomto článku jsou k dispozici zde.

Jako další výhodu vám používání Chromia s nainstalovaným PPA VA API poskytuje nativní sestavení Chromium (skutečné balíčky DEB) na Ubuntu namísto nových standardních sestavení Snap Chromium, které Ubuntu ve výchozím nastavení nabízí.

Instalace a používání prohlížeče Chromium s podporou VA API na Ubuntu nebo Linux Mint

Každému, kdo to čte, by mělo být jasné, že Chromium Beta nebo Dev Branch nejsou považovány za stabilní. Takže můžete najít chyby, může to spadnout atd. V tuto chvíli to funguje dobře, ale kdo ví, co se může stát po aktualizaci. Pomocí níže uvedených PPA přepíšete vaši aktuální stabilní instalaci Chromium (pokud je již nainstalována).

Pokud chcete povolit podporu Widevine, vyžadují úložiště PPA Chromium Beta a Dev Branch použitá v tomto článku několik dalších kroků (takže můžete přehrávat videa Netflix a placená videa YouTube atd.), nebo pokud potřebujete funkce, jako je synchronizace (to vyžaduje registraci klíče API a jeho nastavení ve vašem systému). Pokyny k provedení těchto úprav jsou uvedeny na štítku PPA Chromium Dev Branch.

U grafiky Nvidia je třeba aktualizovat grafický ovladač vdpau, aby implementoval vaQuerySurfaceAttributes. Pro použití s ​​Nvidií je tedy vyžadován opravený ovladač vdpau-va. Naštěstí Chromium-dev PPA poskytuje tento opravený balíček a v případě, že budete chtít použít beta PPA, propojím jej, abyste si jej mohli ručně stáhnout.

Chromium s opravou VA API je k dispozici také pro některé další distribuce Linuxu v repozitářích třetích stran, například Arch Linux (pro Nvidii potřebujete opravený ovladač libva-vdpau). Pokud nepoužíváte Ubuntu nebo Linux Mint, budete si muset tyto balíčky najít sami.

1. Přidejte PPA pro Chromium s podporou VA API.

Chromium s podporou VA API je k dispozici ve dvou repozitářích PPA – jednom s Chromium Beta a jednom s Chromium Dev. Vyberte si jedno ze 2 (a přidejte pouze jedno)! Beta PPA by měla být stabilnější.

Chcete-li přidat PPA pobočky Chrome Beta a nainstalujte prohlížeč Chromium v ​​Ubuntu, Linux Mint a Ubuntu nebo Linux Mint příchutích jako Xubuntu, Kubuntu, Ubuntu MATE, Lubuntu, Linux Mint MATE atd. s:

sudo add-apt-repository ppa:saiarcot895/chromium-beta

Můžete přidat PPA vývojové větve Chrom a nainstalujte nejnovější vývojové sestavení prohlížeče Chromium v ​​Ubuntu nebo Linux Mintu (a dalších distribucích Linuxu založených na Ubuntu, včetně základních, stejně jako variant Ubuntu nebo Linux Mint jako Xubuntu, Kubuntu, Ubuntu MATE, Linux Mint MATE atd.) s:

sudo add-apt-repository ppa:saiarcot895/chromium-dev

2. Opravte PPA s prioritou 1001.

Verzi Chromium z PPA lze přepsat aktualizací Ubuntu. Abychom tomu zabránili, můžeme balíčkům Chromium VAAPI PPA přiřadit prioritu 1001 (kde 500 je standardní pro Ubuntu a> 1000 znamená, že balíčky budou nainstalovány, i když provedete downgrade), aby balíčky z PPA nebyly přepsány všechny aktualizace Ubuntu a lze je nainstalovat, i když je verze v systému novější. Uděláme to následovně.

  • pro verzi beta PPA:

Spusťte to v terminálu:

sudo nano /etc/apt/preferences.d/saiarcot895-chromium-beta-pin-1001

A vložte následující:

Package: *
Pin: release o=LP-PPA-saiarcot895-chromium-beta
Pin-Priority: 1001

Nyní soubor uložte a ukončete (v nano uložení pomocí Ctrl + o a poté ukončete pomocí Ctrl + x ).

  • pro vývojáře PPA:

Spusťte to v terminálu:

sudo nano /etc/apt/preferences.d/saiarcot895-chromium-dev-pin-1001

A vložte následující:

Package: *
Pin: release o=LP-PPA-saiarcot895-chromium-dev
Pin-Priority: 1001

Nyní soubor uložte a ukončete (v nano uložení pomocí Ctrl + o a poté ukončete pomocí Ctrl + x ).

3. Nainstalujte prohlížeč Chromium z PPA Saiarcot895 (VA-API):

sudo apt update
sudo apt install chromium-browser

4. Nainstalujte ovladač VA API

Pro grafické karty Intel Gen 7 a starší potřebujete i965-va-driver-shaders Balíček (může být již nainstalován):

sudo apt install i965-va-driver-shaders

Pro Intel Graphics Gen 8 a novější:

sudo apt install intel-media-va-driver-non-free

Pro ovladače Nouveau a AMD (nemám grafiku AMD, takže to nemůžu vyzkoušet; na Nouveau mi to nefungovalo, takže jsem musel použít proprietární ovladače Nvidia, ale možná vám to bude fungovat) :
sudo apt install mesa-va-drivers
Pro grafické karty Nvidia používající proprietární ovladače potřebujete opravený vdpau-va-driver z Chromium Dev PPA. Jakmile přidáte Chromium Dev PPA, můžete jej nainstalovat pomocí tohoto příkazu (pro verze Ubuntu do 20.04):

sudo apt install vdpau-va-driver

Pro uživatele, kteří používají Ubuntu 20.10 nebo 21.04 (pro které tento balíček nebyl nahrán do PPA) , můžete si stáhnout opravený vdpau-va-driver DEB balíček odtud (potřebujete také libvdpau1) a nainstalujte jej ručně. Funguje nejen na Ubuntu 20.04, ale také na 20.10 a 21.04.

5. Povolte v prohlížeči Chromium možnost hardwarově akcelerovaného videa.

Zkopírujte a vložte následující do adresního řádku prohlížeče Chrome:chrome://flags/#enable-accelerated-video-decode (nebo vyhledejte Hardware-accelerated video decode Možnosti v chrome://flags ) a povolte jej. [[Edit]]Tento příznak již není nutné povolovat v prohlížeči Chromium 91 a novějším (a již není k dispozici v seznamu příznaků). Pak také zaškrtněte Přepsat seznam vykreslování softwaru:chrome://flags/#ignore-gpu-blocklist . Až budete hotovi, restartujte prohlížeč Chromium.

Výchozí sestavení prohlížeče Google Chrome/Chromium bude tuto možnost zobrazovat jako nedostupnou, ale nyní ji můžete povolit, protože jsme použili sestavení Chromium s podporou VA-API.

6. Nainstalujte rozšíření h264ify pro Chrome. Pokud vám toto rozšíření nefunguje, nainstalujte si místo něj rozšířené-h264ify.

YouTube (a pravděpodobně i některé další weby) ve výchozím nastavení používá video kodeky VP8 nebo VP9 a mnoho GPU nepodporuje hardwarové dekódování tohoto kodeku. Rozšíření h264ify nutí YouTube používat H.264 místo VP8/VP9, které by měla podporovat většina GPU.

Toto rozšíření také dokáže blokovat 60fps videa, což je užitečné na počítačích nižší třídy.

Kodek používaný videem YouTube můžete zkontrolovat kliknutím pravým tlačítkem myši na video a . vyberte Stats for nerds . S povoleným rozšířením h264ify byste měli vidět avc/mp4a jako kodeky. Bez tohoto rozšíření by kodek měl být něco jako vp09/opus. [[Edit]]Uživatelé Nvidie: výše zmíněný opravený ovladač vdpau-va již nezrychluje 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.7. Počínaje verzí Chromium 76 musíte používat prohlížeč Chromium s kódem --use-gl=desktop Příznakem deaktivujete ANGLE. Bez toho nebude hardwarově akcelerované dekódování videa fungovat. [[Edit]]Pro Chromium 91 a novější potřebujete také VDAVideoDecoder Vlajka.
Prohlížeč Chromium tedy musíte spustit takto:

chromium-browser --use-gl=desktop --enable-features=VaapiVideoDecoder
Soubor Chromium pro plochu můžete zkopírovat z /usr/share/applications/ na ~/.local/share/applications/ a změňte jeho Exec řádek pro zahrnutí tohoto příznaku. Tímto způsobem při spuštění prohlížeče Chromium automaticky použije tento příznak (a nebude přepsán aktualizacemi):
cp /usr/share/applications/chromium-browser.desktop ~/.local/share/applications/

sed -i 's/Exec=chromium-browser %U/Exec=chromium-browser --use-gl=desktop --enable-features=VaapiVideoDecoder %U/' ~/.local/share/applications/chromium-browser.desktop

Jak zkontrolovat, zda Chromium používá dekódování videa GPU

Otevřete video na YouTube. Poté stiskněte Ctrl + Shift + i otevřete Chrome DevTools. V nabídce 3 svislých teček 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 Sekce Media Karta Chrome DevTools:

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

Pokud to nefunguje, můžete to zkusit odladit spuštěním chromium-browser z příkazového řádku a zjistěte, zda nevidíte nějaké chyby související s VA API. Můžete také spustit vainfo (Nainstalujte jej do Ubuntu nebo Linux Mint:sudo apt install vainfo ) a vdpauinfo (pro Nvidia; nainstalujte jej do Ubuntu nebo Linux Mint:sudo apt install vdpauinfo ) a zjistěte, zda se nezobrazí chyba.Důležitá poznámka:Pokud poté uvidíte zcela bílý obraz videa (ale vidíte MojoVideoDecoder), zkontrolujte chrome://flags a ujistěte se, že tam není zaškrtnutý Vulkan. Pokud je Vulkan povolen, ale prohlížeč, kterým začíná, je --use-gl=desktop způsobí, že se to stane.

Jak odstranit Chromium pomocí záplat VA API a používat oficiální stabilní sestavení Chromium Ubuntu / Linux Mint

Pokud chcete ze svého systému zcela odstranit sestavení Chromium s VA API a vrátit se k oficiálním stabilním sestavením prohlížeče Chromium Ubuntu / Linux Mint, můžete PPA odstranit.

K čištění PPA potřebujete nástroj PPA Cleaner Utility, který lze nainstalovat následovně:

sudo apt install ppa-purge

Poté smažte přidaný Chromium PPA:

  • Chrome Beta PPA:
sudo ppa-purge ppa:saiarcot895/chromium-beta

  • Chromium Development PPA:
sudo ppa-purge ppa:saiarcot895/chromium-dev

Odstraňme také soubor nastavení APT, který jsme použili k připnutí tohoto PPA, protože už nic nedělá:

sudo rm /etc/apt/preferences.d/saiarcot895-chromium-*-pin-1001


Debian

Jak nainstalovat MongoDB na Debian 9 Stretch

  1. Instalace PHP 8 na Debian 10

  2. Jak nainstalovat Docker CE na Debian 11

  3. Jak nainstalovat sudo na Debian nebo Ubuntu Linux

Jak nainstalovat a nakonfigurovat Redis na Debian 9

  1. Jak nainstalovat Mantis bug tracker na Debian 11?

  2. Jak nainstalovat server médií Serviio na Raspberry Pi

  3. Jak nainstalovat a nakonfigurovat KVM na Debian 11 Bullseye Linux

Jak nainstalovat Snap &Snap-store na Debian 11 Bullseye Linux

  1. Jak nainstalovat Mattermost na Debian 11

  2. Rozšiřte své multimediální zážitky na Debian 9 Stretch Linuxu

  3. Jak najít nejrychlejší zrcadlo Debian Linux pro váš /etc/apt/sources.list