GNU/Linux >> Tutoriels Linux >  >> Debian

Comment activer l'accélération matérielle dans Chromium sur Ubuntu ou Linux Mint (versions PPA corrigées VA-API)

Vous avez peut-être remarqué que regarder des vidéos HD de Youtube et d'autres sites Web similaires dans les navigateurs Google Chrome ou Chromium sous Linux augmente considérablement l'utilisation de votre processeur et lorsque vous utilisez un ordinateur portable, il devient assez chaud et décharge la batterie très rapidement. C'est parce que Chrome/Chromium (également Firefox, mais il n'y a aucun moyen de le forcer) ne prend pas en charge le décodage vidéo accéléré par le matériel sous Linux.

Cet article explique comment installer une version bêta ou de développement de Chromium contenant un correctif qui active l'API VA sur Linux et ajoute la prise en charge du décodage vidéo accéléré par GPU, ce qui réduit l'utilisation du processeur lorsque le visionnage de vidéos HD en ligne devrait diminuer de manière significative. Le guide ne couvre que les cartes graphiques Intel et Nvidia car je n'ai pas de carte graphique ATI/AMD pour essayer cela et je n'ai aucune expérience avec de telles cartes graphiques, mais d'après ce que j'ai lu, cela devrait fonctionner avec les graphiques ATI / AMD. .

Il s'agit de Chromium des référentiels Ubuntu (18.04) sans décodage vidéo accéléré par GPU lisant une vidéo YouTube 1080p :

La même vidéo YouTube 1080p lue dans Chromium avec le correctif de l'API VA et le décodage vidéo accéléré par le matériel sur Ubuntu 18.04 :

Notez l'utilisation du processeur dans les captures d'écran. Les deux captures d'écran ont été prises sur mon ancien bureau, mais toujours assez puissant. Sur mon ordinateur portable, l'utilisation du processeur Chromium est beaucoup plus élevée sans accélération matérielle.

Le correctif pour ajouter la prise en charge de l'API VA à Chromium sous Linux, intitulé "Activer VAVDA, VAVEA et VAJDA sous Linux uniquement avec VAAPI ' a été initialement soumis à Chromium il y a plus d'un an, mais n'a pas encore été fusionné.

Chrome propose une option permettant de remplacer la liste de rendu logiciel (#ignore-gpu-blacklist ), mais cette option n'active pas le décodage vidéo accéléré par le matériel. Après avoir activé cette option, lors de votre visite, vous trouverez peut-être :chrome://gpu  :"Décodage vidéo :matériel accéléré ' mais cela ne signifie pas que cela fonctionne réellement. Ouvrez une vidéo HD sur YouTube et vérifiez l'utilisation du processeur dans un outil comme htop (C'est ce que j'utilise dans les captures d'écran ci-dessus pour vérifier l'utilisation du processeur) - Vous devriez voir une utilisation élevée du processeur car le décodage vidéo GPU n'est pas activé. Il y a aussi une section ci-dessous où vous pouvez vérifier que vous utilisez réellement le décodage vidéo accéléré par le matériel. [[Modifier]]Ce n'est plus vrai. Google Chrome et d'autres navigateurs Web basés sur Chromium offrent désormais la prise en charge de l'API VA par défaut. Cependant, il n'est pas activé par défaut. Pour plus d'informations, consultez :Comment activer le décodage vidéo accéléré par le matériel dans les navigateurs Google Chrome, Brave, Vivaldi et Opera sur Debian, Ubuntu ou Linux Mint


Les correctifs utilisés par les builds Chromium Ubuntu activés par l'API VA utilisées dans cet article sont disponibles ici.

En tant qu'avantage supplémentaire, l'utilisation de Chromium avec l'API VA installée sur PPA vous donne des versions natives de Chromium (packages DEB réels) sur Ubuntu au lieu des nouvelles versions standard de Snap Chromium qu'Ubuntu a poussées par défaut.

Installation et utilisation du navigateur Chromium avec prise en charge de l'API VA sur Ubuntu ou Linux Mint

Il devrait être clair pour quiconque lit ceci que Chromium Beta ou Dev Branch n'est pas considéré comme stable. Ainsi, vous pouvez trouver des bogues, il peut planter, etc. Cela fonctionne bien pour le moment, mais qui sait ce qui pourrait arriver après une mise à jour. L'utilisation des PPA répertoriés ci-dessous écrasera votre installation stable actuelle de Chromium (si elle est déjà installée).

De plus, les référentiels Chromium Beta et Dev Branch PPA utilisés dans cet article nécessitent quelques étapes supplémentaires si vous souhaitez activer la prise en charge de Widevine (afin que vous puissiez lire des vidéos Netflix et des vidéos YouTube payantes, etc.), ou si vous avez besoin de fonctionnalités telles que la synchronisation (cela vous oblige à enregistrer une clé API et à la configurer sur votre système). Les instructions pour effectuer ces ajustements sont fournies dans l'étiquette PPA de Chromium Dev Branch.

Pour les graphiques Nvidia, le pilote graphique vdpau doit être mis à jour pour implémenter vaQuerySurfaceAttributes. Un pilote vdpau-va corrigé est donc nécessaire pour l'utiliser avec Nvidia. Heureusement, le PPA Chromium-dev fournit ce package corrigé et je le lierai pour que vous le téléchargiez manuellement au cas où vous voudriez utiliser le PPA bêta.

Chromium avec le correctif API VA est également disponible pour certaines autres distributions Linux dans des référentiels tiers, par exemple Arch Linux (pour Nvidia, vous avez besoin du pilote libva-vdpau corrigé) par exemple. Si vous n'utilisez pas Ubuntu ou Linux Mint, vous devrez trouver ces packages vous-même.

1. Ajoutez le PPA pour Chromium avec prise en charge de l'API VA.

Chromium avec prise en charge de l'API VA est disponible dans deux référentiels PPA - un avec Chromium Beta et un avec Chromium Dev. Choisissez l'un des 2 (et n'en ajoutez qu'un) ! Le PPA bêta devrait être plus stable.

Pour ajouter le PPA de la branche Chrome Beta et installez le navigateur Chromium dans Ubuntu, Linux Mint et les saveurs Ubuntu ou Linux Mint comme Xubuntu, Kubuntu, Ubuntu MATE, Lubuntu, Linux Mint MATE etc. avec :

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

Vous pouvez ajouter le branche de développement Chrom PPA et installez la dernière version de développement du navigateur Chromium dans Ubuntu ou Linux Mint (et d'autres distributions Linux basées sur Ubuntu, y compris les versions élémentaires, ainsi que Ubuntu ou Linux Mint comme Xubuntu, Kubuntu, Ubuntu MATE, Linux Mint MATE, etc.) avec :

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

2. Corrigez le PPA avec une priorité de 1001.

La version Chromium du PPA peut être écrasée par une mise à jour Ubuntu. Pour éviter cela, nous pouvons attribuer une priorité de 1001 aux packages Chromium VAAPI PPA (où 500 est standard sur Ubuntu et> 1000 signifie que les packages seront installés même si vous rétrogradez) afin que les packages du PPA ne soient pas écrasés par toutes les mises à jour d'Ubuntu, et elles peuvent être installées même si la version sur le système est plus récente. Nous procéderons comme suit.

  • pour le PPA bêta :

Exécutez ceci dans un terminal :

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

Et collez ce qui suit :

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

Maintenant, enregistrez le fichier et quittez (en nano save avec Ctrl + o , puis quittez avec Ctrl + x ).

  • pour le PPA de développement :

Exécutez ceci dans un terminal :

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

Et collez ce qui suit :

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

Maintenant, enregistrez le fichier et quittez (en nano save avec Ctrl + o , puis quittez avec Ctrl + x ).

3. Installez le navigateur Chromium à partir du PPA Saiarcot895 (VA-API) :

sudo apt update
sudo apt install chromium-browser

4. Installez le pilote d'API VA

Pour les cartes graphiques Intel Gen 7 et antérieures, vous avez besoin du i965-va-driver-shaders Paquet (peut-être déjà installé) :

sudo apt install i965-va-driver-shaders

Pour Intel Graphics Gen 8 et versions ultérieures :

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

Pour les pilotes Nouveau et AMD (je n'ai pas de carte graphique AMD, donc je ne peux pas essayer cela ; cela n'a pas fonctionné pour moi sur Nouveau, j'ai donc dû utiliser les pilotes propriétaires Nvidia, mais peut-être que cela fonctionnera pour vous) :
sudo apt install mesa-va-drivers
Pour les cartes graphiques Nvidia utilisant les pilotes propriétaires, vous avez besoin du correctif vdpau-va-driver du Chromium Dev PPA. Une fois que vous avez ajouté le Chromium Dev PPA, vous pouvez l'installer avec cette commande (pour les versions d'Ubuntu jusqu'à 20.04) :

sudo apt install vdpau-va-driver

Pour ceux qui utilisent Ubuntu 20.10 ou 21.04 (pour qui ce package n'a pas été téléchargé sur le PPA) , vous pouvez télécharger le correctif vdpau-va-driver DEB à partir d'ici (vous avez également besoin de libvdpau1) et installez-le manuellement. Cela fonctionne non seulement sur Ubuntu 20.04, mais aussi sur 20.10 et 21.04.

5. Activez l'option d'accélération matérielle de la vidéo dans Chromium.

Copiez et collez ce qui suit dans la barre d'URL de Chrome :chrome://flags/#enable-accelerated-video-decode (ou recherchez le Hardware-accelerated video decode Options en chrome://flags ) et activez-le. [[Edit]]Cet indicateur n'a plus besoin d'être activé avec Chromium 91 et plus récent (et il n'est plus disponible dans la liste des indicateurs). Ensuite, cochez également Écraser la liste de rendu du logiciel :chrome://flags/#ignore-gpu-blocklist . Lorsque vous avez terminé, redémarrez le navigateur Chromium.

Une version par défaut de Google Chrome/Chromium affichera cette option comme indisponible, mais vous pouvez maintenant l'activer puisque nous avons utilisé la version Chromium compatible VA-API.

6. Installez l'extension chromée h264ify. Si cette extension ne fonctionne pas pour vous, installez plutôt Enhanced-h264ify.

YouTube (et probablement d'autres sites également) utilise les codecs vidéo VP8 ou VP9 par défaut, et de nombreux GPU ne prennent pas en charge le décodage matériel pour ce codec. L'extension h264ify oblige YouTube à utiliser H.264 au lieu de VP8/VP9 que la plupart des GPU devraient prendre en charge.

Cette extension peut également bloquer les vidéos à 60 ips, ce qui est utile sur les ordinateurs bas de gamme.

Vous pouvez vérifier le codec utilisé par une vidéo YouTube en faisant un clic droit sur la vidéo et . sélectionnez Stats for nerds . Avec l'extension h264ify activée, vous devriez voir avc/mp4a comme codecs. Sans cette extension, le codec devrait ressembler à vp09/opus. [[Edit]]Utilisateurs Nvidia : le pilote vdpau-va corrigé mentionné ci-dessus n'accélère plus VP9 dans les navigateurs basés sur Chromium. Vous devez donc utiliser l'extension h264ify et éviter VP9 pour obtenir un décodage vidéo accéléré par le matériel.7. À partir de Chromium 76, vous devez utiliser le navigateur Chromium avec le --use-gl=desktop Drapeau pour désactiver ANGLE. Sans cela, le décodage vidéo accéléré par le matériel ne fonctionnera pas. [[Edit]]Pour Chromium 91 et versions ultérieures, vous avez également besoin du VDAVideoDecoder Drapeau.
Vous devez donc lancer le navigateur Chromium comme ceci :

chromium-browser --use-gl=desktop --enable-features=VaapiVideoDecoder
Vous pouvez copier le fichier de bureau Chromium à partir de /usr/share/applications/ à ~/.local/share/applications/ , et changez son Exec ligne pour inclure ce drapeau. Ainsi, lorsque le navigateur Chromium démarrera, il utilisera automatiquement cet indicateur (et il ne sera pas écrasé par les mises à jour) :
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

Comment vérifier si Chromium utilise le décodage vidéo GPU

Ouvrez une vidéo sur YouTube. Appuyez ensuite sur Ctrl + Shift + i pour ouvrir les outils de développement Chrome. Dans le menu des 3 points verticaux, cliquez sur More tools -> Media . Cliquez ensuite sur le titre de la vidéo dans le panneau latéral gauche de DevTools (Players section) et regardez dans le Video Decoder Section de Media Onglet Outils de développement Chrome :

Quand il dit que le nom du décodeur est VideoDecode Accelerator ou VDAVideoDecoder (auparavant c'était MojoVideoDecoder , et avant c'était GpuVideoDecoder , donc si vous en obtenez un et que vous utilisez une ancienne version de navigateur, c'est bien, vous avez une accélération matérielle) et Hardware decoder est true , puis utilisez le décodage vidéo accéléré par le matériel. S'il indique FFmpegVideoDecoder , VpxVideoDecoder ou Dav1dVideoDecoder (et dans ce cas le Hardware decoder devrait dire false ) votre navigateur Web n'utilise pas le décodage vidéo accéléré par le matériel.

Si cela ne fonctionne pas, vous pouvez essayer de le déboguer en exécutant chromium-browser à partir de la ligne de commande et voyez si vous voyez des erreurs liées à l'API VA. Vous pouvez également exécuter vainfo (Installez-le dans Ubuntu ou Linux Mint :sudo apt install vainfo ) et vdpauinfo (pour Nvidia ; installez-le dans Ubuntu ou Linux Mint :sudo apt install vdpauinfo ) et voyez si vous obtenez une erreur.Remarque importante :si vous voyez une image vidéo complètement blanche par la suite (mais vous voyez MojoVideoDecoder), vérifiez chrome://flags et assurez-vous que Vulkan n'y est pas coché. Si Vulkan est activé, mais que le navigateur avec lequel il démarre est --use-gl=desktop l'option provoque cela.

Comment supprimer Chromium avec les correctifs de l'API VA et utiliser les versions officielles stables d'Ubuntu / Linux Mint Chromium

Si vous souhaitez supprimer complètement Chromium avec les versions d'API VA de votre système et revenir aux versions officielles du navigateur Chromium stable Ubuntu / Linux Mint, vous pouvez supprimer le PPA.

Pour nettoyer un PPA, vous avez besoin de l'utilitaire de nettoyage PPA, qui peut être installé comme suit :

sudo apt install ppa-purge

Supprimez ensuite le PPA Chromium ajouté :

  • PPA bêta de Chrome :
sudo ppa-purge ppa:saiarcot895/chromium-beta

  • PPA de développement de chrome :
sudo ppa-purge ppa:saiarcot895/chromium-dev

Aussi, supprimons le fichier de paramètres APT que nous avons utilisé pour épingler ce PPA car il ne fait plus rien :

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


Debian
  1. Installez VirtualBox Guest Additions sur Debian 11 - Meilleure méthode ?

  2. Debian – Forcer E2fsck sur /var à chaque démarrage ?

  3. Installer la plateforme d'apprentissage en ligne Moodle sur Debian 9

  4. Comment installer Neofetch sur Debian 11

  5. Comment renouveler automatiquement les certificats SSL Let's Encrypt

Comment installer Sysdig sur Linux pour surveiller la charge du système

Comment installer Android Studio sur Ubuntu

Configurer l'environnement de développement Ruby on Rails avec Docker et Docker Compose sur Ubuntu

Comment installer Laravel PHP Web Framework sur Ubuntu 20.04

Comment configurer le référentiel ISO local Debian Ubuntu

5 façons d'éditer des fichiers PDF dans Ubuntu