web-dev-qa-db-fra.com

L'écran temporaire aléatoire a pris du retard depuis la mise à niveau vers 18.04

Depuis que je suis passé de 16.04 à 18.04, ces étranges écrans se figent. Habituellement, pendant la lecture de vidéos ou de solitaire, mon écran se bloque de manière aléatoire. Bien que la souris fonctionne toujours, bouge et que l'audio soit lu, l'écran se fige. L'écran se met en pause pendant environ 5 à 10 secondes et rien ne peut être déplacé, cliqué, etc. Cependant, si j'essaie d'exécuter une action avec la souris pendant l'un de ces blocage, si je termine l'action avec la souris, je verrai le résultat une fois que l'écran rattrape. Il semble donc que tout fonctionne, mais il y a un certain retard d'affichage, comme si ma carte vidéo était surchargée.

Le problème semble s'aggraver et plus souvent, plus je suis connecté, comme s'il y avait une fuite de mémoire dans la carte vidéo.

Regarder le chargement de la carte avec les applications Nvidia ne montre aucune charge excessive sur la carte, des températures élevées ou un manque de mémoire.

J'ai amélioré les performances, comme nous le verrons bientôt, mais le problème persiste.

Le système est un Alpha Core Alienware Quad Core avec 8 Go de RAM. La carte est un Nvidia 860 avec deux concerts de bélier.

J'utilise le pilote propriétaire Nvidia 390 et (au début) un noyau à faible latence.

$ lspci -k | grep -EA3 '3D|Display|VGA'
01:00.0 VGA compatible controller: NVIDIA Corporation GM107M [GeForce GTX 860M] (rev a2)
Subsystem: Dell GM107M [GeForce GTX 860M]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidia

$ lsmod |grep -i nvidia
nvidia_uvm            757760  0
nvidia_drm             40960  2
nvidia_modeset       1110016  8 nvidia_drm
nvidia              14340096  635 nvidia_modeset,nvidia_uvm
drm_kms_helper        172032  1 nvidia_drm
drm                   397312  5 nvidia_drm,drm_kms_helper
ipmi_msghandler        53248  2 nvidia,ipmi_devintf
6
Joshua Besneatte

Essayez de réinstaller le pilote nvidia en:

Sudo apt-get purge nvidia*
Sudo apt-get update
Sudo apt-get install nvidia-driver-390

Si cela n'augmente pas vos performances, je vous suggère de faire toute la sauvegarde des fichiers et de réinstaller une nouvelle Ubuntu-18.04 en évitant la mise à niveau à partir de la version précédente de LTS. La mise à niveau d’un système LTS à un autre pose certains problèmes, ce qui est très pénible au dos.

1
M.A.K. Ripon

REMARQUE: après un certain temps, le problème est revenu. Je suis en train de sauvegarder le dossier de départ pour la réinstallation d'Ubuntu. Je laisse cette réponse pour référence, mais je l’ai refusée car elle n’a pas résolu mon problème de façon permanente

La solution à mon problème était un processus plutôt long. En résumé, le correctif final ressemble à ceci:

  1. Ré-ajouter des pilotes PPA -> Mise à jour -> Mise à niveau
  2. Utiliser le noyau générique
  3. Purger et réinstaller les pilotes graphiques (juste au cas où)
  4. Configurez la carte
  5. Nuke local Chrome .config et réinstaller ou (de préférence) passer à Firefox

Chaque action offre une légère amélioration des performances aboutissant à un système extrêmement performant. Le correctif complet est comme suit.

PPA de pilote GPU propriétaire désactivé lors de la mise à niveau

Tout d’abord, réactivez les pilotes graphiques ppa et mettez-les à jour:

Sudo add-apt-repository ppa:graphics-drivers/ppa
Sudo apt update
Sudo apt upgrade && Sudo apt dist-upgrade

Utiliser le noyau générique lorsqu'une faible latence n'est pas requise

Je fais de la production audio et j'utilisais donc le noyau à faible latence. Il semble que ce noyau donne la priorité à l’audio et permette au reste du système de s’arrêter pour garder l’audio dans le temps.

J'ai installé le noyau générique:

Sudo apt install linux-generic

Pour utiliser ce noyau, maintenez la touche shift au démarrage et sélectionnez les options avancées, puis démarrez dans le noyau générique.

Purger et réinstaller les pilotes

J'ai essayé de mettre à jour le pilote 396 à l'aide du logiciel et des mises à jour. Après le redémarrage, je ne pouvais pas démarrer X. Il ne démarrait pas automatiquement et la commande startxrend le scintillement de l'écran puis me ramène à la ligne de commande. (Votre kilométrage peut varier)

Dans les commentaires, les utilisateurs m'ont suggéré de purger et de réinstaller les pilotes. J'ai donc pensé que c'était le moment idéal pour le faire. Donc tout purgé:

Sudo apt purge "*-nvidia-*"
Sudo apt autoremove && Sudo apt autoclean

Redémarrez et réinstallez le pilote 390 (ou 396 si cela vous convient) via Logiciels et mises à jour, puis redémarrez.

La carte NVidia nécessite une configuration non par défaut

Après avoir effectué toutes les opérations de purge et de réinstallation, il est temps de manipuler nvidia-settings.

Sudo nvidia-settings

Dans les configurations X Screen 0 et GPU 0, voici mes modifications qui ont finalisé le correctif:

Menu Paramètres X Écran 0

  1. Sous l'onglet "Paramètres vidéo du serveur X", j'ai modifié le paramètre "auto" pour sélectionner directement mon moniteur:

NVIDIA X Server Settings

Pour une raison quelconque, cela semblait être le paramètre qui l'a finalement résolu. Mais lisez la suite pour le reste de ma configuration.

  1. Dans "Paramètres OpenGL", je privilégiais la qualité aux performances, car le contraire n'a eu aucun effet (je ne suis pas sûr que cela ait réellement un effet):

OpenGL Settings

  1. Et enfin, pour ce menu, mes paramètres d'anticrénelage sont comme suit:

Antialiasing Settings

GPU 0 Menu GeForce GPU)

Dans les paramètres de powermizer, j'ai modifié les paramètres de powermizer de Auto à Préférer les performances maximales. Ce paramètre ne tient pas après le redémarrage, mais il semble maintenant que la valeur par défaut soit Adaptive au lieu de Auto.

--- (Powermizer Settings

Il semble qu'en règle générale, tout paramètre ayant un paramètre "auto" devrait être défini sur quelque chose de spécifique lorsque cela est possible.

Corrigez Chrome ou (de préférence) Basculez vers Firefox

Après tout, tout fonctionnait parfaitement (films, Steam, jeux, etc.), sauf lorsque je lisais des vidéos YouTube dans Google Chrome.

En utilisant Firefox à la place, je n'ai plus de problèmes.

Il est possible de corriger Chrome pour que cela fonctionne mieux, mais ce n'est pas parfait comme avec Firefox. Pour réparer le chrome:

Renommez le dossier de configuration:

mv ~/.config/google-chrome ~/.config/google-chrome.bak

Purger Chrome:

Sudo apt purge google-chrome-stable
Sudo apt autoremove && Sudo apt autoclean

Vous devez maintenant utiliser Firefox pour télécharger Chrome de Google et l'installer. Lorsque vous exécutez Chrome, ce sera comme pour la première fois et doit être configuré.

Bien que cela semble réparer Chrome, je remarque que mon système a encore quelques ratés si et seulement si Chrome est en cours d'exécution. Cela ne se produit pas avec Firefox.

1
Joshua Besneatte

Je suggère fortement de mettre à jour votre version du pilote NVIDIA.

Pour ce faire, vous devez ajouter le pilote graphique PPA avec les commandes suivantes dans le terminal:

Sudo add-apt-repository ppa:graphics-drivers/ppa

Sudo apt-get update

Après cela, vous devez maintenant supprimer votre pilote NVIDIA actuel en entrant les informations suivantes dans votre terminal:

Sudo apt-get purge nvidia*

Maintenant que vous avez fait cela, vous pouvez installer la dernière version en toute sécurité:

Sudo apt-get install nvidia-driver-396

Veuillez noter que c’est nvidia-driver-396 sur Ubuntu 18.04, c’est nvidia-396 sur Ubuntu 16.04 mais vous n’utilisez pas 16.04.

Si cela ne résout pas le problème, nettoyez votre PC avec de l'air comprimé, remplacez éventuellement votre pâte thermique sur votre CPU, etc.

Il serait peut-être intéressant d’enquêter sur vos températures pour voir si votre ordinateur portable est en train de s’étrangler (comme les ordinateurs portables le sont souvent).

Pour ce faire, exécutez la commande suivante dans le terminal pour installer les capteurs requis:

Sudo apt-get install lm-sensors

Après cela, vous voulez détecter vos capteurs avec la commande suivante dans le terminal (en appuyant sur la touche Entrée après chaque suggestion):

Sudo sensors-detect

Maintenant, vous pouvez enfin exécuter le programme de capteurs avec la commande suivante dans le terminal:

sensorsname__

Généralement, vous voulez voir des températures inférieures à 80 ° C.

0
ipkpjersi