GNU/Linux >> Linux Esercitazione >  >> Debian

Come abilitare l'accelerazione hardware in Chromium su Ubuntu o Linux Mint (Build PPA con patch VA-API)

Potresti aver notato che guardare video HD da Youtube e altri siti Web simili nei browser Google Chrome o Chromium su Linux aumenta notevolmente l'utilizzo della CPU e quando si utilizza un laptop diventa piuttosto caldo e scarica la batteria molto velocemente. Questo perché Chrome/Chromium (anche Firefox, ma non c'è modo di forzarlo) non supporta la decodifica video con accelerazione hardware su Linux.

Questo articolo spiega come installare una versione beta o di sviluppo di Chromium che contiene una patch che abilita l'API VA su Linux e aggiunge il supporto per la decodifica video con accelerazione GPU, che riduce l'utilizzo della CPU quando la visione di video HD online dovrebbe diminuire in modo significativo. La guida copre solo le schede grafiche Intel e Nvidia in quanto non ho una scheda grafica ATI/AMD per provarla e non ho esperienza con tali schede grafiche, ma da quello che ho letto dovrebbe funzionare con la grafica ATI/anche AMD .

Questo è Chromium dai repository di Ubuntu (18.04) senza decodifica video con accelerazione GPU che riproduce un video YouTube a 1080p:

Lo stesso video di YouTube a 1080p riprodotto in Chromium con la patch API VA e la decodifica video con accelerazione hardware su Ubuntu 18.04:

Notare l'utilizzo della CPU negli screenshot. Entrambi gli screenshot sono stati presi sul mio vecchio desktop ma ancora abbastanza potente. Sul mio laptop, l'utilizzo della CPU di Chromium è molto più elevato senza accelerazione hardware.

La patch per aggiungere il supporto API VA a Chromium su Linux, intitolata "Abilita VAVDA, VAVEA e VAJDA su Linux solo con VAAPI ' è stato originariamente inviato a Chromium più di un anno fa, ma deve ancora essere unito.

Chrome offre un'opzione per sovrascrivere l'elenco di rendering del software (#ignore-gpu-blacklist ), ma questa opzione non abilita la decodifica video con accelerazione hardware. Dopo aver abilitato questa opzione, quando visiti potresti trovare:chrome://gpu :“Decodifica video:accelerazione hardware ' ma ciò non significa che funzioni davvero. Apri un video HD su YouTube e controlla l'utilizzo della CPU in uno strumento come htop (Questo è quello che uso negli screenshot qui sopra per controllare l'utilizzo della CPU) - Dovresti vedere un utilizzo elevato della CPU perché la decodifica video della GPU non è abilitata. C'è anche una sezione di seguito in cui puoi verificare che stai effettivamente utilizzando la decodifica video con accelerazione hardware. [[Modifica]]Non è più vero. Google Chrome e altri browser Web basati su Chromium ora offrono il supporto API VA per impostazione predefinita. Tuttavia, non è abilitato per impostazione predefinita. Per ulteriori informazioni, vedere:Come abilitare la decodifica video con accelerazione hardware nei browser Google Chrome, Brave, Vivaldi e Opera su Debian, Ubuntu o Linux Mint


Le patch utilizzate dalle build di Chromium Ubuntu abilitate per l'API VA utilizzate in questo articolo sono disponibili qui.

Come ulteriore vantaggio, l'utilizzo di Chromium con l'API VA installata con PPA offre build native di Chromium (pacchetti DEB effettivi) su Ubuntu invece delle nuove build Snap Chromium standard che Ubuntu ha inviato per impostazione predefinita.

Installazione e utilizzo del browser Chromium con supporto API VA su Ubuntu o Linux Mint

Dovrebbe essere chiaro a chiunque legga questo articolo che Chromium Beta o Dev Branch non sono considerati stabili. Quindi puoi trovare bug, può andare in crash ecc. Al momento funziona bene, ma chissà cosa potrebbe succedere dopo un aggiornamento. L'utilizzo dei PPA elencati di seguito sovrascriverà l'attuale installazione stabile di Chromium (se già installata).

Inoltre, i repository PPA di Chromium Beta e Dev Branch utilizzati in questo articolo richiedono alcuni passaggi aggiuntivi se desideri abilitare il supporto Widevine (così puoi riprodurre video Netflix e video YouTube a pagamento ecc.), o se hai bisogno di funzionalità come la sincronizzazione (questo richiede la registrazione di una chiave API e la sua configurazione sul sistema). Le istruzioni per eseguire queste modifiche sono fornite nell'etichetta PPA di Chromium Dev Branch.

Per la grafica Nvidia, il driver di grafica vdpau deve essere aggiornato per implementare vaQuerySurfaceAttributes. Quindi è necessario un driver vdpau-va con patch per usarlo con Nvidia. Fortunatamente il PPA di Chromium-dev fornisce questo pacchetto patchato e lo collegherò per il download manuale nel caso in cui desideri utilizzare il PPA beta.

Chromium con la patch API VA è disponibile anche per alcune altre distribuzioni Linux in repository di terze parti, ad esempio Arch Linux (per Nvidia è necessario un driver libva-vdpau con patch dies), ad esempio. Se non stai usando Ubuntu o Linux Mint, dovrai trovare questi pacchetti da solo.

1. Aggiungi il PPA per Chromium con il supporto dell'API VA.

Chromium con supporto API VA è disponibile in due repository PPA:uno con Chromium Beta e uno con Chromium Dev. Scegli uno dei 2 (e aggiungi solo uno)! Il beta PPA dovrebbe essere più stabile.

Per aggiungere il PPA del ramo Chrome Beta e installa il browser Chromium in Ubuntu, Linux Mint e versioni di Ubuntu o Linux Mint come Xubuntu, Kubuntu, Ubuntu MATE, Lubuntu, Linux Mint MATE ecc. con:

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

Puoi aggiungere il PPA del ramo di sviluppo di Chrom e installa l'ultima build di sviluppo del browser Chromium in Ubuntu o Linux Mint (e altre distribuzioni Linux basate su Ubuntu, comprese le versioni elementari, nonché Ubuntu o Linux Mint come Xubuntu, Kubuntu, Ubuntu MATE, Linux Mint MATE, ecc.) con:

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

2. Correggi il PPA con una priorità di 1001.

La versione Chromium del PPA può essere sovrascritta da un aggiornamento di Ubuntu. Per evitare ciò, possiamo assegnare una priorità di 1001 ai pacchetti PPA Chromium VAAPI (dove 500 è standard per Ubuntu e> 1000 significa che i pacchetti verranno installati anche se esegui il downgrade) in modo che i pacchetti dal PPA non vengano sovrascritti da tutti gli aggiornamenti di Ubuntu e possono essere installati anche se la versione sul sistema è più recente. Lo faremo come segue.

  • per il Beta PPA:

Esegui questo in un terminale:

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

E incolla quanto segue:

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

Ora salva il file ed esci (in nano save con Ctrl + o , quindi esci con Ctrl + x ).

  • per il PPA di sviluppo:

Esegui questo in un terminale:

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

E incolla quanto segue:

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

Ora salva il file ed esci (in nano save con Ctrl + o , quindi esci con Ctrl + x ).

3. Installa il browser Chromium dal PPA Saiarcot895 (VA-API):

sudo apt update
sudo apt install chromium-browser

4. Installa il driver dell'API VA

Per le schede grafiche Intel Gen 7 e precedenti, è necessario il i965-va-driver-shaders Pacchetto (potrebbe essere già installato):

sudo apt install i965-va-driver-shaders

Per Intel Graphics Gen 8 e versioni successive:

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

Per i driver Nouveau e AMD (non ho la grafica AMD, quindi non posso provarlo; non ha funzionato per me su Nouveau, quindi ho dovuto usare i driver proprietari Nvidia, ma forse funzionerà per te) :
sudo apt install mesa-va-drivers
Per le schede grafiche Nvidia che utilizzano i driver proprietari è necessario il patch vdpau-va-driver dal Chromium Dev PPA. Dopo aver aggiunto Chromium Dev PPA, puoi installarlo con questo comando (per versioni di Ubuntu fino alla 20.04):

sudo apt install vdpau-va-driver

Per chi usa Ubuntu 20.10 o 21.04 (per i quali questo pacchetto non è stato caricato nel PPA) , puoi scaricare il vdpau-va-driver con patch Pacchetto DEB da qui (è necessario anche libvdpau1) e installarlo manualmente. Funziona non solo su Ubuntu 20.04, ma anche su 20.10 e 21.04.

5. Abilita l'opzione video con accelerazione hardware in Chromium.

Copia e incolla quanto segue nella barra degli URL di Chrome:chrome://flags/#enable-accelerated-video-decode (o cerca il Hardware-accelerated video decode Opzioni in chrome://flags ) e abilitarlo. [[Modifica]]Questo flag non deve più essere abilitato con Chromium 91 e versioni successive (e non è più disponibile nell'elenco dei flag). Quindi seleziona anche Sovrascrivi l'elenco di rendering del software:chrome://flags/#ignore-gpu-blocklist . Al termine, riavvia il browser Chromium.

Una build predefinita di Google Chrome/Chromium mostrerà questa opzione come non disponibile, ma ora puoi abilitarla poiché abbiamo utilizzato la build Chromium abilitata per VA-API.

6. Installa l'estensione h264ify di Chrome. Se questa estensione non funziona per te, installa invece enhanced-h264ify.

YouTube (e probabilmente anche altri siti) utilizza i codec video VP8 o VP9 per impostazione predefinita e molte GPU non supportano la decodifica hardware per questo codec. L'estensione h264ify obbliga YouTube a utilizzare H.264 invece di VP8/VP9 che la maggior parte delle GPU dovrebbe supportare.

Questa estensione può anche bloccare video a 60 fps, utile su computer di fascia bassa.

Puoi controllare il codec utilizzato da un video di YouTube facendo clic con il pulsante destro del mouse sul video e . seleziona Stats for nerds . Con l'estensione h264ify abilitata, dovresti vedere avc/mp4a come codec. Senza questa estensione il codec dovrebbe essere qualcosa come vp09/opus. [[Modifica]]Utenti Nvidia: il driver vdpau-va con patch menzionato sopra non accelera più VP9 nei browser basati su Chromium. Quindi è necessario utilizzare l'estensione h264ify ed evitare VP9 per ottenere la decodifica video con accelerazione hardware.7. A partire da Chromium 76, devi utilizzare il browser Chromium con il --use-gl=desktop Contrassegna per disabilitare ANGOLO. Senza questo, la decodifica video con accelerazione hardware non funzionerà. [[Modifica]]Per Chromium 91 e versioni successive, è necessario anche il VDAVideoDecoder Segnala.
Quindi devi avviare il browser Chromium in questo modo:

chromium-browser --use-gl=desktop --enable-features=VaapiVideoDecoder
Puoi copiare il file desktop di Chromium da /usr/share/applications/ a ~/.local/share/applications/ e cambiarne il Exec riga per includere questo flag. In questo modo all'avvio del browser Chromium utilizzerà automaticamente questo flag (e non verrà sovrascritto dagli aggiornamenti):
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

Come verificare se Chromium utilizza la decodifica video GPU

Apri un video su YouTube. Quindi premi Ctrl + Shift + i per aprire Chrome DevTools. Dal menu dei 3 punti verticali, fai clic su More tools -> Media . Quindi fai clic sul titolo del video nel pannello laterale sinistro di DevTools (Players sezione) e cerca nel Video Decoder Sezione di Media Scheda Chrome DevTools:

Quando dice che il nome del decoder è VideoDecode Accelerator o VDAVideoDecoder (in precedenza era MojoVideoDecoder , e prima era GpuVideoDecoder , quindi se ottieni uno di questi e stai utilizzando una versione precedente del browser, va bene, hai l'accelerazione hardware) e Hardware decoder è true , quindi utilizzare la decodifica video con accelerazione hardware. Se dice FFmpegVideoDecoder , VpxVideoDecoder o Dav1dVideoDecoder (e in questo caso il Hardware decoder dovrebbe dire false ) il tuo browser web non utilizza la decodifica video con accelerazione hardware.

Se non funziona, puoi provare a eseguire il debug eseguendo chromium-browser dalla riga di comando e verifica se vengono visualizzati errori relativi all'API VA. Puoi anche eseguire vainfo (Installalo in Ubuntu o Linux Mint:sudo apt install vainfo ) e vdpauinfo (per Nvidia; installalo in Ubuntu o Linux Mint:sudo apt install vdpauinfo ) e verifica se viene visualizzato un errore.Nota importante:se in seguito vedi un'immagine video completamente bianca (ma vedi MojoVideoDecoder), controlla chrome://flags e assicurati che Vulkan non sia selezionato lì. Se Vulkan è abilitato, ma il browser con cui inizia è --use-gl=desktop opzione fa in modo che ciò avvenga.

Come rimuovere Chromium con le patch API VA e utilizzare build ufficiali stabili di Ubuntu/Linux Mint Chromium

Se desideri rimuovere completamente Chromium con le build API VA dal tuo sistema e ripristinare le build ufficiali del browser Chromium stabili di Ubuntu/Linux Mint, puoi eliminare il PPA.

Per pulire un PPA, è necessaria la PPA Cleaner Utility, che può essere installata come segue:

sudo apt install ppa-purge

Quindi elimina il Chromium PPA aggiunto:

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

  • PPA per lo sviluppo del cromo:
sudo ppa-purge ppa:saiarcot895/chromium-dev

Inoltre, rimuoviamo il file delle impostazioni APT che abbiamo usato per bloccare questo PPA poiché non fa più nulla :

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


Debian
  1. Come installare il server Web Apache su Debian 11

  2. Installa Fail2ban su Debian 11

  3. Come installare PHP 8.0 su Debian 10 / Debian 9

  4. Come configurare server e client NTP su Debian 11

  5. Come installare Python 3.8 su Debian 11 Bullseye

Come installare l'ultimo phpMyAdmin con LEMP su Ubuntu 20.04

Come utilizzare il comando Mkdir su Linux

Icone del desktop NG - Ottieni alcune icone sul desktop di Gnome

Come clonare un'immagine del disco crittografata con Clonezilla

Tutorial Jenkins:Nozioni di base per principianti

Come eseguire un backup completo del sito Web da cPanel