GNU/Linux >> Tutoriels Linux >  >> Linux

Comment réparer le déchirement vidéo sous Linux (avec les graphiques Intel)

Maintenant, ne sois pas sarcastique. Le titre de cet article n'implique pas que vous répariez les déchirures avec les graphiques Intel, mais plutôt, si vous avez un ordinateur avec des graphiques Intel et que vous utilisez Linux, vous avez peut-être rencontré des déchirures vidéo, généralement des lignes horizontales dans le tiers supérieur d'un trame vidéo. Cela se produit généralement dans les bureaux Gnome, Xfce ou MATE, moins dans Plasma, quel que soit le choix de distribution sous-jacent. Cohérence ftw.

Quoi qu'il en soit, j'ai déjà vu ce problème plusieurs fois auparavant - mais il semble avoir refait surface avec une fréquence un peu plus grande récemment. Voici donc un petit tutoriel qui, espérons-le, résoudra tous vos problèmes, ou du moins, vous permettra de profiter d'une lecture vidéo fluide et claire. Après moi.

Graphiques Intel

Avant de résoudre le problème, nous devons le comprendre. Dans la section Solution ci-dessous, je vais écrire toutes sortes de bavardages techniques, et si vous copiez aveuglément, vous résoudrez le problème, mais vous ne saurez pas pourquoi. Commençons donc par la vue d'ensemble de la pile graphique Intel. Cela fait référence au pilote de transition nommé "intel" - qui couvre une vaste gamme de chipsets différents.

Maintenant, veuillez noter que la page de manuel liée fait référence à l'implémentation du serveur d'affichage X.Org (Xorg). En effet, ce guide se concentre sur Xorg pour deux raisons. Premièrement, j'utilise principalement cela, plutôt que Wayland. Deux, en partie parce que, voir le point précédent, j'ai surtout rencontré des déchirures sous Xorg. Cependant, je me souviens également d'avoir vu des déchirures vidéo sous Wayland, et j'envisagerai également d'écrire un didacticiel séparé pour cela. Maintenant, continuons avec notre mini éducation.

Le déchirement vidéo résulte généralement d'une inadéquation entre votre écran et le pilote, de sorte que vous finissez par voir le rafraîchissement des images. Vous pouvez créer des configurations Xorg personnalisées qui remplacent le comportement par défaut, afin d'utiliser des fonctionnalités spécifiques de la pile graphique qui ne sont pas activées (ou désactivées) par défaut.

Désormais, tout ce qui est répertorié dans l'aperçu lié peut affecter le rendu vidéo d'une manière ou d'une autre, et le travail d'enquête ici n'est en aucun cas anodin. Après de nombreuses lectures (et quelques conjectures), j'ai réduit la liste à un principal coupable potentiel. Alors voyons ce que ça donne.

  • Option "TearFree" "boolean" - Désactiver ou activer les mises à jour TearFree. Cette option oblige X à effectuer tout le rendu dans un backbuffer avant de mettre à jour l'affichage réel... Cette option est désactivée par défaut, mais vous pouvez l'activer. Cela signifie plus de mémoire vidéo utilisée, mais vous devriez également avoir une lecture plus fluide.

OK, maintenant que nous connaissons l'ajustement potentiel, nous pouvons l'implémenter. En effet, pour résoudre le problème, nous allons créer un fichier de configuration Xorg qui remplace les valeurs par défaut.

Solution

Nous devons créer un fichier de configuration personnalisé :

sudo mkdir -p /etc/X11/xorg.conf.d
sudo touch /etc/X11/xorg.conf.d/20-intel.conf

Ouvrez ce fichier dans un éditeur de texte (avec sudo ou en tant que root), et ajoutez le texte suivant :

Section "Périphérique"
Identifiant "Intel Graphics"
Pilote "XXXX"
Option "TearFree" "true"
EndSection

Remplacez XXXX par le nom de pilote correct pour votre matériel spécifique. Vous pouvez utiliser l'Intel générique ou la version exacte du pilote. Par exemple, sur l'un de mes ordinateurs portables, le pilote est i915, donc la section devient :

Section "Périphérique"
Identifiant "Intel Graphics"
Pilote "i915"
Option "TearFree" "true"
EndSection

Il existe plusieurs façons de vérifier quel pilote est utilisé sur votre système :

sudo lspci-k | grep -EA3 'VGA|3D|Affichage'

grep "LoadModule" /var/log/Xorg.0.log

Alternativement, vous pouvez également vérifier en utilisant la commande inxi :

inxi -G
Graphique :
Périphérique-1 :Pilote graphique intégré Intel Haswell-ULT :i915 v :noyau
Affichage :Serveur x11 :Pilote X.Org 1.20.8 :i915 Résolution :1 366 x 768 ~60 Hz
OpenGL :moteur de rendu :Mesa DRI Intel HD Graphics 4400 (HSW GT2)
v :4.5 Mesa 20.0.4

Il peut y avoir des variations entre les systèmes, car certaines distributions Linux conserveront les journaux sous /var, tandis que d'autres les stockeront sous /run. De plus, la commande inxi peut ne pas être disponible ou installée. La commande lspci est la plus sûre et devrait fonctionner sur tous les systèmes.

Une fois que vous avez identifié le pilote, écrivez le nom du pilote dans le fichier 20-intel.conf, enregistrez le fichier et redémarrez votre session. Vous pouvez redémarrer ou simplement vous déconnecter puis vous reconnecter. Vous devriez maintenant avoir une lecture vidéo fluide et sans déchirure.

Corrections alternatives

Il est possible que seule la ligne Option que nous avons ajoutée ci-dessus ne fonctionne pas. Il faudra donc peut-être être un peu plus rigoureux. Voici deux options supplémentaires que vous voudrez peut-être inclure dans le fichier 20-intel.conf :

  • Option "AccelMethod" "string" - Sélectionnez la méthode d'accélération. Il y a quelques ... Cette option définit la méthode d'accélération matérielle. UXA (Unified Acceleration Architecture) est un backend plus ancien mais plus mature. SNA (SandyBridge's New Acceleration) est la nouvelle méthode, qui remplace UXA, et est la méthode par défaut. Si vous avez des déchirures vidéo, vous voudrez peut-être revenir à l'ancien backend, car il pourrait offrir une compatibilité globale plus large.
  • Option "DRI" "string" - Désactiver ou activer la prise en charge DRI... Normalement, cela ne devrait pas poser de problème et votre système devrait utiliser OpenGL ES 3. Cependant, si vous avez un déchirement vidéo, vous pouvez souhaitez définir cette option sur "3".

Le fichier de configuration devient alors :

Section "Device"
Identifiant "Intel Graphics"
Driver "XXXX"
Option "TearFree" "true"
Option "AccelMod" "uxa"
Option "DRI " "3"
FinSection

Conclusion

Ajouter ... J'ai testé le premier 20-intel.conf dans Ubuntu MATE, Xubuntu et Fedora, dans plusieurs éditions de ces distributions. Dans la plupart des cas, l'option TearFree est suffisante. L'une des versions de distribution nécessitait également la méthode d'accélération. Enfin, dans un seul cas, une option DRI autonome (sans les deux autres) a résolu le problème de déchirement. Ma recommandation est, étant donné qu'il existe toute une gamme de cartes graphiques, d'essayer n'importe quelle permutation de ces trois options. Cela ressemble un peu à de la sorcellerie, et c'est peut-être le cas.

Au moins c'est de la sorcellerie avec de bons résultats. Idéalement, vous ne devriez jamais avoir à faire face à des déchirures dans vos vidéos. Mais le bureau Linux a plusieurs problèmes cardinaux, et l'approche centrée sur l'utilisateur et centrée sur le produit est la plus importante d'entre eux, c'est pourquoi les bogues vont et viennent puis reviennent, et vous aurez une manifestation erratique et aléatoire de ceux-ci à travers les distributions, versions et plates-formes matérielles. Quoi qu'il en soit, essayez, voyez ce qui donne, et j'espère que vous pourrez regarder des vidéos avec une lecture fluide et propre. Je vous reverrai.


Linux
  1. Comment j'utilise Vagrant avec libvirt

  2. Comment chiffrer des fichiers avec gocryptfs sous Linux

  3. Comment installer un pilote de périphérique sous Linux

  4. Linux – Comment trouver le pilote (module) associé à un périphérique sous Linux ?

  5. Comment vérifier le mot de passe avec Linux?

Comment créer son propre serveur de streaming vidéo avec OBS Studio sous Linux

Comment configurer un pare-feu avec GUFW sous Linux

Déchirement d'écran dans 11.10 avec Intel Graphics ?

Comment exécuter un alias avec Sudo sous Linux

Comment démarrer avec Arch Linux

Comment protéger GRUB avec un mot de passe sous Linux ?