#1 Le 06/08/2019, à 01:22
- Alextazy
Besoin toute petite aide pour éliminer totalement tearing Intel/Nvidia
Bonjour à tous, heureux de vous retrouver!
Mon problème est le suivant: je me dépêtre avec le tearing depuis des années (!) avec mes machines successives, mais cette fois j'ai un semblant de solution, et comme il me manque un tout pitit-pitit chouilla de compétence, je vous demande de l'aide.
Je suis sous Ubuntu 18.04 avec un combo nvidia/intel comme suit:
lspci | egrep 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation Device 591b (rev 04)
01:00.0 3D controller: NVIDIA Corporation GP107M [GeForce GTX 1050 Mobile] (rev a1)
Pour éliminer le tearing j'ai suivi ce tuto
Celui-ci dit en substance (pour la partie tearing) de faire:
sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf
et d'insérer le texte:
options nvidia_drm modeset=1
puis faire
sudo update-initramfs -u
et redémarrer.
En lançant ensuite:
xrandr --output eDP-1-1 --set 'PRIME Synchronization' '1'
Il n'y a plus aucun problème de tearing en utilisant le GPU nvidia, youhou, magique, joie, allégresse.
Seulement voilà. Je switch souvent entre nvidia et intel, et j'ai toujours et encore du tearing en utilisant le GPU intel.
xrandr --output eDP-1-1 --set 'PRIME Synchronization' '1'
n'est plus pertinent avec intel démarré car le moniteur n'est plus eDP-1-1 mais eDP-1 et
xrandr --output eDP-1 --set 'PRIME Synchronization' '1'
retourne un sale:
X Error of failed request: BadName (named color or font does not exist)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 11 (RRQueryOutputProperty)
Serial number of failed request: 34
Current serial number in output stream: 34
...mais cette commande est-elle pertinente tout court en ce qui concerne le driver intel?
Par ailleurs j'ai bien tenté de suivre la doc qui indique de faire:
sudo nano /usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf
et d'y insérer:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TripleBuffer" "true"
Option "TearFree" "true"
EndSection
Ça supprime bien le tearing avec intel, mais également la possibilité de basculer sur le GPU nvidia. Arg. Ma seule solution est alors de supprimer le fichier /usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf et de redémarrer la session.
Ne pourrait-on pas imaginer que, juste avant l'ouverture de session, un petit script fasse un truc du genre:
if prime-select query retourne "nvidia"
then mv '/usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf' '/usr/share/X11/xorg.conf.d/20-intel_flicker_fix_pasconf'
if prime-select query retourne "intel"
then mv '/usr/share/X11/xorg.conf.d/20-intel_flicker_fix_pasconf' '/usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf'
Je suis sûr que ça doit être du gâteau de grand-mère pour n'importe qui d'un peu meilleur que moi en code, mais je n'ai pas les compétences, en tout cas, j'ai trop peur de bousiller quelque chose si je tente tout seul...
J'ai également tenté:
sudo apt purge xserver-xorg-video-intel
et dans le fichier /usr/share/X11/xorg.conf.d/20-intel_flicker_fix.conf
de remplacer
Driver "intel"
par
Driver "modesetting"
comme suggéré dans la première réponse ici, mais vous vous en doutez bien, sans succès. J'ai bien sûr ré-installé xserver-xorg-video-intel ensuite.
Pourriez-vous m'aider avec mon bout de code et sinon, avez-vous d'autres suggestions?
Merci d'avance!
Hors ligne