GNU/Linux >> Tutoriels Linux >  >> Debian

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

Google Chrome 88 (et plus récent) a rendu le décodage vidéo accéléré par le matériel disponible sur Linux, mais il n'est pas activé par défaut. Cependant, Google Chrome n'est pas le seul navigateur Web basé sur Chromium qui prend en charge l'accélération matérielle sous Linux. Cet article explique comment activer le décodage vidéo accéléré par le matériel dans les navigateurs Web Google Chrome, Brave, Vivaldi et Opera exécutés sur Debian, Ubuntu, Pop ! _OS ou Linux Mint (Xorg uniquement).

L'utilisation du décodage vidéo accéléré par le matériel dans votre navigateur Web devrait entraîner une utilisation moindre du processeur (et donc moins de décharge de la batterie) lors de la lecture de vidéos en ligne.

Il convient de noter que le navigateur Web Chromium disposait de correctifs permettant de rendre disponible le décodage vidéo accéléré par le matériel sur Linux pendant un certain temps, et certaines distributions Linux l'ont fourni avec ces correctifs. Ainsi, les utilisateurs de Chromium bénéficient d'une accélération matérielle sous Linux depuis un certain temps, en fonction de leur distribution Linux ou s'ils ont installé le Chromium corrigé d'une autre manière. Par exemple, sous Ubuntu / Linux Mint, il existe un PPA avec des builds Chromium patchés VA-API. Par conséquent, ces instructions peuvent également fonctionner pour le navigateur Chromium, selon la façon dont il est structuré.

Je voudrais également ajouter que ces instructions sur la façon d'activer le décodage vidéo accéléré par le matériel fonctionnent également sur d'autres distributions Linux, pas seulement sur les distributions Linux basées sur Debian/Ubuntu, mais les noms des pilotes sont différents.

J'ai testé ces instructions avec le bureau Ubuntu 20.10 avec des graphiques Nvidia et installé les navigateurs Web répertoriés ci-dessous avec leur emballage Ubuntu d'origine (avec un package DEB). Également testé avec un ordinateur portable avec des graphiques Intel (10e génération) sous Ubuntu 20.04 et 20.10. Je ne possède pas de périphérique graphique AMD pour tester cela.

Lors de mon test, j'ai pu faire fonctionner le décodage vidéo accéléré par le matériel sous Linux avec :

  • Google Chrome stable 88
  • Brave écurie 1.19
  • Instantané Vivaldi 3.6 / [Modifier] Le dernier Vivaldi Stable 3.6 fonctionne aussi
  • Opera Bêta 74

Évidemment, cela devrait toujours fonctionner avec les versions plus récentes (c'est-à-dire Google Chrome 89, Brave 1.20, etc.).

Pour moi, Le décodage vidéo accéléré par le matériel ne fonctionnait pas avec :

  • Écurie Vivaldi 3.5 . Vivaldi Stable est maintenant en version 36 et dispose d'un décodage vidéo accéléré par le matériel
  • Opéra stable 73
  • Microsoft Edge :il n'y a même pas un seul chrome://flags/#enable-accelerated-video-decode Indicateur (pour activer le décodage vidéo accéléré par le matériel).

Vous pouvez utiliser l'API VA sur XWayland en utilisant le --use-gl=egl Indicateur de ligne de commande, mais je n'ai pas essayé . À partir de Google Chrome 91 (et d'autres navigateurs basés sur Chromium 91), vous avez également besoin du --enable-features=VaapiVideoDecoder Drapeau.

[[Edit]]J'ai essayé de suivre les instructions ci-dessous, puis d'utiliser le navigateur avec le --use-gl=egl Drapeau sur Wayland, travaillant sur un ordinateur portable avec des graphiques Intel et une lecture vidéo accélérée par le matériel. Cependant, les vidéos sur cet ordinateur portable sont saccadées avec ces paramètres. Donc, dans ce cas, je préfère utiliser la lecture vidéo accélérée par le matériel Firefox (sur laquelle, lorsque vous utilisez Wayland et Firefox sur le même ordinateur portable, la lecture vidéo est fluide, mais l'utilisation du processeur est plus élevée que lors de l'utilisation d'un navigateur basé sur Chromium).

Comment activer le décodage vidéo accéléré par le matériel dans les navigateurs Web Google Chrome, Brave, Vivaldi et Opera sur Debian, Ubuntu ou Linux Mint (X11)

Éléments dont vous aurez besoin pour activer le décodage vidéo accéléré par le matériel dans les navigateurs Web mentionnés ci-dessus (c'est-à-dire Google Chrome 88+, Brave 1.19+, Vivaldi 3.6+ et Opera 74+) :

1. Activez les indicateurs de navigateur Web suivants :

Pour les navigateurs basés sur Google Chrome 90 et versions antérieures :

  • Écraser la liste de rendu du logiciel :chrome://flags/#ignore-gpu-blocklist
  • Décodage vidéo accéléré par le matériel :chrome://flags/#enable-accelerated-video-decode

Pour les navigateurs basés sur Google Chrome 91 et versions ultérieures (il n'y a plus de décodage vidéo accéléré par le matériel, mais nous devons utiliser un nouvel indicateur de ligne de commande – voir l'étape 4) :

  • Écraser la liste de rendu du logiciel :chrome://flags/#ignore-gpu-blocklist

2. Installez le pilote de l'API VA pour pouvoir décoder les médias (source), ainsi que libva-drm2 et libva-x11-2 (ces 2 sont probablement déjà installés, mais juste au cas où; j'ai ajouté ces 2 dans une édition ultérieure après avoir remarqué que l'accélération matérielle ne fonctionnait pas sans eux, et une fois que j'ai installé vainfo que ces 2 packages contiennent en tant que dépendances, est-ce que ce serait commencer à travailler) :

  • Pour le matériel Intel Gen 7 et antérieur :

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

  • Pour le matériel Intel Gen 8+ :

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

  • Pour les pilotes Nouveau et AMD (Je n'ai pas réussi à faire en sorte qu'un navigateur utilise l'accélération matérielle avec les pilotes Nouveau, peut-être aurez-vous plus de chance) :

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

  • Pour les pilotes Nvidia propriétaires – Vous pouvez les installer à partir des référentiels ou en utilisant le PPA du pilote GPU propriétaire (par exemple, démarrer la boîte de dialogue Pilotes supplémentaires sur Ubuntu et l'installer à partir de là). Si vous utilisez des pilotes Nvidia propriétaires, vous en aurez besoin d'un patché aussi vdpau-va-driver ([[edit]]Ce patch ne prend plus en charge VP9, ​​​​même si votre graphique le prend en charge, vous devez donc utiliser l'extension h264ify dans tous les cas - voir ci-dessous). Vous pouvez l'obtenir à partir d'ici (vous avez également besoin de libvdpau1 d'ici puisqu'il s'agit d'une dépendance de vdpau-va-driver) pour Debian / Ubuntu / Linux Mint / Pop ! _OS etc. Le package Ubuntu 20.04 à partir de là fonctionne également sur Ubuntu 20.10 et plus récent. Si vous voulez voir les correctifs utilisés par ce paquet, téléchargez l'archive .debian.tar.gz (en utilisant le même lien que ci-dessus) et regardez dans le dossier « patches ». Dans le cas où ces DEB ne fonctionnent pas sur Debian (je ne l'ai pas essayé), utilisez ces liens pour vdpau-va-driver (orig.tar.gz | debian.tar.xz) et libvdau (orig.tar.gz | debian.tar.xz) pour télécharger les archives .orig.tar.gz et .debian.tar.xz et compiler le paquet DEB sur votre système. Installez également libva-drm2 et libva-x11-2 :sudo apt install libva-drm2 libva-x11-2

Pourquoi les versions non libres du intel-media-va-driver et i965-va-driver ? En théorie, cela devrait fonctionner avec la version gratuite (?), Mais lors de mon test sur un ordinateur portable Intel Gen 10, le décodage vidéo accéléré par le matériel ne fonctionnait qu'avec le intel-media-va-driver-non-free Pilote et non intel-media-va-driver (Je ne suis pas sûr du pilote i965, mais j'ai pensé qu'il pourrait être similaire). Il y a quelqu'un d'autre là-bas aussi qui dit que ça a marché pour elle.

3. Nécessaire uniquement pour les cartes graphiques qui ne prennent pas en charge le décodage vidéo matériel VP9 :installez l'extension de navigateur h264ify.

Si votre carte graphique ne prend pas en charge le décodage vidéo matériel VP9, ​​installez l'extension de navigateur h264ify (ou Enhanced-h264ify - certains utilisateurs disent que cela fonctionne pour eux alors que l'extension d'origine ne fonctionne pas; pour moi, c'est l'inverse) et assurez-vous que c'est activé pour VP9.

[[Edit]]Utilisateurs Nvidia :le pilote vdpau-va corrigé mentionné ci-dessus n'accélère plus le matériel 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.

Si vous ne voyez toujours pas le MojoVideoDecoder im chrome://media-internals (voir la section ci-dessous pour vérifier que le décodage vidéo accéléré par le matériel est activé et effectivement utilisé par le navigateur), essayez de redémarrer le navigateur Web après avoir installé cette extension. J'ai vu des cas où c'était nécessaire et d'autres où ce n'était pas le cas.

4. Démarrez le navigateur Web avec le --use-gl=desktop Indicateur pour activer l'accélération matérielle de l'API VA. [[Edit] Pour les navigateurs basés sur Chromium 91 et supérieur, vous devez également le démarrer avec --enable-features=VaapiVideoDecoder Drapeau.

Pour utiliser l'API VA pour le décodage vidéo, vous devez démarrer le navigateur Web, que ce soit Chromium, Google Chrome, Brave, Opera ou Vivaldi, avec l'indicateur de ligne de commande suivant :--use-gl=desktop . Par conséquent, le navigateur Web utilise OpenGL et désactive ANGLE comme moteur de rendu. Bien qu'il y ait des endroits où j'ai lu que cela ne devrait plus être nécessaire, dans mon test, il était nécessaire avec les graphiques Nvidia et Intel (je n'ai pas de graphiques AMD pour tester cela).

Par exemple, pour démarrer Google Chrome avec cet indicateur :

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

Commencez Brave avec ceci :

brave-browser --use-gl=desktop

Et ainsi de suite.

Pour rendre cette modification permanente, copiez le fichier .desktop du navigateur à partir de /usr/share/applications à ~/.local/share/applications (Si ce dossier n'existe pas, créez-le). En copiant le fichier ici, nous nous assurons qu'il ne sera pas écrasé par une mise à jour. Ouvrez ensuite le fichier .desktop (par exemple brave-browser.desktop , brave-browser-beta.desktop , google-chrome.desktop , etc.) à partir de celui-ci ~/.local/share/applications Emplacement, avec un éditeur de texte. Dans ce fichier, recherchez la ligne qui commence par Exec= et modifiez l'exécutable pour inclure --use-gl=desktop . Par exemple. pour les courageux :Exec=/usr/bin/brave-browser-stable --use-gl=desktop , ou pour Google Chrome :Exec=/usr/bin/google-chrome-stable --use-gl=desktop %U

[Modification très importante] Avec Chromium 91 (et tous les navigateurs basés sur celui-ci), l'indicateur de navigateur pour le décodage vidéo accéléré par le matériel a disparu. Pour obtenir une lecture vidéo accélérée par le matériel, vous devez ajouter un nouvel indicateur de ligne de commande :--enable-features=VaapiVideoDecoder

Ajoutez cet indicateur comme vous l'avez ajouté --use-gl=desktop Drapeau. Vous aurez besoin des deux, ou du moins de ce dont j'avais besoin pour obtenir un décodage vidéo accéléré par le matériel.

Par exemple, pour démarrer Google Chrome avec ces deux indicateurs, utilisez :

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

Ou lancez plutôt Brave :

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

Remarque importante :si vous voyez une image vidéo complètement blanche au démarrage du navigateur avec --use-gl=desktop , vérifiez chrome://flags et assurez-vous que Vulkan n'y est pas activé. Lorsque Vulkan est activé et que le navigateur est démarré avec --use-gl=desktop L'option provoque cela.

Une autre note, cette fois pour les utilisateurs d'Opera :Si vous ne pouvez pas lire de vidéos sur YouTube et d'autres sites après avoir utilisé l'extension h264ify, consultez les Solutions d'ici pour activer la prise en charge de h264 dans Opera (notez que si le navigateur Web que vous utilisez est Opera Beta, le dossier est le /opera-beta ).

C'est tout.

Comment vérifier que le décodage vidéo accéléré par le matériel est activé et fonctionne dans n'importe quel navigateur Web basé sur Chromium

Vérifions maintenant si le navigateur Web utilise le décodage vidéo accéléré par le matériel.

Tout d'abord, vérifions si le navigateur prend en charge la vidéo accélérée par le matériel. Pour ce faire, ouvrez un nouvel onglet et visitez chrome://gpu . Sur cette page vous devriez voir "Décodage vidéo :Accélération matérielle" (en vert, comme ici) :

Cela signifie que votre navigateur Web prend désormais en charge le décodage vidéo accéléré par le matériel. Mais est-il réellement capable de décoder la vidéo à l'aide de matériel ? Vérifions également cela en ouvrant une vidéo YouTube, puis en appuyant sur Ctrl + Shift + i pour ouvrir les outils de développement Chrome. Dans le menu avec les 3 points verticaux, cliquez sur More tools -> Media . Cliquez ensuite sur le titre de la vidéo dans la barre latérale gauche de DevTools (Players Section) et regardez dans le Video Decoder Coupe du Media Onglet Outils de développement Chrome :

Quand il dit que le nom du décodeur est VideoDecode Accelerator ou, je l'ai vu de cette façon aussi VDAVideoDecoder (avant 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 s'appelle 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.


Debian
  1. Comment installer Pip sur Ubuntu 18.04, Debian 9 et Linux Mint 19

  2. Comment exécuter Google Chrome en tant que root – Ubuntu 11.10 / Linux Mint 12

  3. Comment installer Google Chrome 17 sur Ubuntu 11.10 / Linux Mint 12

  4. Comment installer Oracle Java 14 (JDK 14) sur Ubuntu, Debian ou Linux Mint à partir du référentiel APT PPA

  5. Comment installer et configurer Node.js et npm dans Ubuntu, Debian ou Linux Mint

Comment désactiver le mot de passe « Sudo » dans Linux Mint 20 et Ubuntu Linux

Comment effacer le cache Apt dans Debian, Ubuntu et Linux Mint

Comment installer NetBeans IDE 12.4 dans Ubuntu, Debian et Linux Mint

Différences entre Linux Mint, Ubuntu, Manjaro et Debian Desktop

Comment installer NetBeans IDE 12 dans Debian, Ubuntu et Linux Mint

Comment installer Wine 5.0 sur Debian, Ubuntu et Linux Mint