Étranges artefacts le long des bordures de fenêtre après le réveil de l'ordinateur en mode veille

118

NB: Nvidia a publié un correctif officiel; veuillez consulter la réponse de ByteCommander , ma propre réponse et / ou celle de Kaz Wolfe .


Au réveil de Ubuntu 16.04 de Suspend, les problèmes graphiques suivants apparaissent autour de toutes les fenêtres, menus contextuels, etc.:

entrez la description de l'image ici


Il est actuellement reconnu que cela affecte les cartes NVIDIA suivantes exécutant les pilotes propriétaires:

  • NVIDIA GeForce 610M, version du pilote 375.39, 340.102
  • NVIDIA GT 630M, version du pilote 375.39
  • NVIDIA GTX 650, version du pilote 375.39
  • NVIDIA GT 740M, version du pilote 378.13
  • NVIDIA GTX 745, version de pilote inconnue
  • NVIDIA GTX 850M, version du pilote 375.39, 378.13
  • NVIDIA GT 940M, version du pilote 375.39
  • NVIDIA GTX 950M, version de pilote inconnue
  • NVIDIA GTX 960M, version du pilote 378.13
  • NVIDIA GTX 970, version du pilote 375.39
  • NVIDIA GTX 970M, version du pilote 375.39
  • NVIDIA GTX 980 TI, version de pilote inconnue
  • NVIDIA GTX 1060, version du pilote 375.26, 375.39, 378.09
  • NVIDIA GTX 1070, version du pilote 378.09

La liste ci-dessus est issue de rapports d'autres utilisateurs sur AU, ce fil et ce fil.

NB: Ce n'est pas une liste exclusive. Cela concerne probablement presque toutes les cartes Nvidia.

En outre, ce problème a été répliqué lors d’une nouvelle installation, la seule modification apportée étant une mise à jour logicielle et l’installation des derniers pilotes NVIDIA.


Que se passe-t-il et comment peut-il être résolu?

Dev Android
la source
Quel pilote graphique utilisez-vous et quel modèle de carte graphique avez-vous? J'ai récemment eu le même problème avec ma carte 940M et certaines versions du pilote propriétaire de nvidia après avoir suspendu et réactivé l'ordinateur portable. Veuillez modifier la question et ajouter le résultat lspci -k | grep -iEA3 '3d|vga'qui contient toutes les informations demandées. Merci.
Byte Commander
1
Oh, en fait, j'ai également ce problème à nouveau , car le nvidia-367pilote que j'ai utilisé est devenu un package de transition vers lequel une mise à niveau automatique a lieu nvidia-375, qui était l'une des versions à l'origine de ce bogue. Il est temps de nag nvidia et d’écrire des rapports de bogues.
Byte Commander
2
C’est certes un doublon, mais essayez de chercher quelque chose comme «des choses étranges au coin de la rue» sur Google ... Quoi qu’il en soit, ces questions ont de mauvaises réponses alors que la solution ci-dessous fonctionne à merveille.
Ivan
1
@taylorswift - On dirait qu'au moins 41 autres personnes ont également ce problème: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/… Je suppose que nous devrons attendre que Nvidia répare le problème .
Android Dev
Affecte également GeForce GTX 950M.
conualfy

Réponses:

77

NB: il s’agissait d’une solution temporaire jusqu’à ce que Nvidia publie un pilote corrigé. Faites défiler la liste pour trouver les autres réponses avec le correctif actuel. - Dev Android


J'ai le même problème en utilisant GPU: Nvidia GTX 970 avec pilote nvidia 375.39 sur Ubuntu 16.04.2 LTS

Je l’ai observé depuis une récente mise à jour du pilote nvidia. Je soupçonne donc que c'est un bug dans le pilote.

J'ai trouvé une réponse sur le tableau de nvidia . Il s'agit d'un bug confirmé dans le pilote et apparemment, nvidia y travaille déjà. En attendant, on peut redémarrer Compiz avec

compiz --replace

se débarrasser des artefacts.

Le bogue est dans le système de suivi des bogues Ubuntu, y compris un script de contournement pour redémarrer automatiquement Compiz après la reprise.

Stefan
la source
Une autre solution serait de revenir à la version précédente du pilote: askubuntu.com/a/896544/657603
Antoine Dusséaux
Thx pour contourner le problème. Je ne suis pas sûr, mais depuis que j'ai ce problème et un autre aussi: mon ordinateur portable n'est pas toujours correctement suspendu au bout d'une heure.
Skalár Wag
En revenant du sommeil, il est automatiquement connecté avant de demander le mot de passe, de toute façon pour résoudre ce problème?
Hatem Jaber
2
compiz --replacene se comporte pas bien avec les espaces de travail. Il met toutes les fenêtres de tous les espaces de travail dans le premier espace de travail :(
AlikElzin-kilaka
1
Vous devez garder le terminal ouvert avec cette commande. Si vous fermez le terminal, Compiz redémarrera. Cela fonctionnera jusqu'à la prochaine suspension, ce n'est pas une vraie solution, je ne peux pas vraiment fonctionner avec l'exécution de cette commande plusieurs fois par jour. Je suis allé à la solution ci-dessus, en changeant le pilote.
conualfy
58

MISE À JOUR 2:

Nvidia a également mis à jour ses nvidia-375pilotes vers la version 375.66 , disponible dans les référentiels Ubuntu standard de toutes les versions actuellement prises en charge .

Cela signifie qu'à partir de maintenant, vous ne devriez plus avoir à effectuer d'actions spéciales , à l'exception des mises à jour normales du système. Vous n'avez pas besoin du package de pilote du graphics-driversPPA si vous ne le souhaitez pas.

Voici l'extrait du journal des modifications pour le paquet de la mise en pension principale du 16.04 concernant ce bogue:

$ apt changelog nvidia-375=375.66-0ubuntu0.16.04.1

  [...]
    - Fixed a regression that caused corruption in certain
      applications, such as window border shadows in Unity, after
      resuming from suspend.
  [...]

MISE À JOUR:

Nvidia a finalement résolu ce problème et a publié une nouvelle version de pilote opérationnelle: nvidia-381

La solution décrite dans cette réponse a également été mise à jour et suggère maintenant de passer à cette version corrigée au lieu de passer à la dernière version antérieure au bogue. Cela reste la même procédure cependant, vous changez simplement les noms de paquet.


Problème cause:

Certains des packages de pilotes graphiques propriétaires Nvidia pour Ubuntu (à savoir nvidia-375et nvidia-378) sont bogués et produisent des artefacts blancs autour des bordures de fenêtre qui apparaissent dans les captures d'écran de la question. Cela se produit de manière reproductible chaque fois que vous suspendez et que vous vous réveillez de nouveau.

Jusqu'à il y a quelques jours à peine, le nvidia-367paquet dans le référentiel de Xenial fonctionnait correctement et de manière fiable, mais ils l'ont maintenant mis à jour et converti en un paquet de transition qui installe automatiquement la nvidia-375version buggy à la place.

Solution (mise à jour après la publication du correctif de Nvidia):

Assurez-vous que vous avez vraiment une carte graphique Nvidia, ce qui pose problème, et non une carte d'une marque différente qui se comporte mal de manière coïncidente. L'installation de pilotes Nvidia pour des cartes graphiques autres que Nvidia ne sert à rien.

Vous pouvez le vérifier en vérifiant le résultat de la commande ci-dessous:

lspci -k | grep -iEA3 '3d|vga'

Ma solution pour le moment est de déclasser de nvidia-375ou nvidia-378vers nvidia-370, ce qui semble bien fonctionner jusqu'à présent.
Comme Nvidia a publié une nouvelle version de pilote mise à niveau nvidia-381avec ce bogue corrigé, nous pouvons (et devrions) l’installer au lieu de la rétrograder.

Ce package n'est pas disponible à partir des référentiels standard, mais vous pouvez facilement l'obtenir auprès d'un PPA et remplacer votre pilote actuel par celui-ci en exécutant les commandes ci-dessous:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt purge nvidia*

sudo apt install nvidia-370

sudo apt install nvidia-381

Une fois cette procédure terminée, redémarrez votre ordinateur et vérifiez si vous avez toujours des problèmes. Pour moi, ils étaient partis. Bonne chance.

Byte Commander
la source
1
Pour les utilisateurs généraux, je préférerais la solution de contournement rapide sans changement de pilote ici plutôt que la rétrogradation des pilotes. Étant donné qu'un correctif sera publié (et probablement pas très loin d'ici), il s'agit vraiment d'un inconfort temporaire. Si vous rétrogradez les pilotes, vous devrez toutefois vous rappeler de revenir aptà un état dans lequel les mises à niveau ultérieures seront automatiquement reçues. Vous devrez également continuer à rechercher activement la nouvelle version corrigée au lieu d'attendre de l'avoir automatiquement - problème et inconvénient.
Jason C
1
@JasonC Non. Cela nvidia-370va très probablement également se transformer en un paquet transitoire, comme par le passé nvidia-367, et par conséquent, cette mise à jour installerait automatiquement la version du pilote nvidia / l'équipe de graphistes-pilotes jugera le successeur approprié. Le 370 est le dernier (et peut-être le seul) pilote actuellement pris en charge qui n'est pas affecté par ce bogue, alors pourquoi ne pas l'utiliser? Comparé au 367 utilisé avant la mise à niveau introduisant ce bogue, il s'agit toujours d'une mise à niveau. En outre, comme vous semblez le penser, nous ne retenons aucun paquet ou ne modifions aucune configuration apt.
Byte Commander
1
@ByteCommander Je vais supprimer mon commentaire sous deux conditions. 1) Tant que vous êtes sûr à 100% que cela se transformera en un paquet de transition, je vous croirai (je ne suis pas sûr à 100% de ma déclaration); ou si vous n'êtes pas sûr à 100%, ajoutez une mention du risque à la réponse, et 2) Si vous ajoutez une mention expliquant comment cela n'affectera pas les futures mises à jour si cela devient un package de transition, et que faire une fois le correctif est publié, à la réponse.
Jason C
1
@JasonC Pas besoin de supprimer votre commentaire. Je peux, pour des raisons évidentes, ne pas garantir ce que les responsables du graphics-driversPPA feront avec leurs packages à l'avenir, je peux simplement émettre des hypothèses sur la base de ce qu'ils ont fait dans le passé. Et tant que 370 est pris en charge, il n’est pas nécessaire d’agir, même lorsqu’ils corrigent les 375 et 378. J’imagine fortement que lorsque nvidia dépréciera le 370 (comme ils l’ont fait récemment avec le 367), les mainteneurs de l’APP le font passer. dans un package de transition, ce qui signifie que la version mise à jour ne contiendra plus de code mais ajoutera une dépendance au pilote le plus récent.
Byte Commander
2
@ Matsmath Je ne sais pas. Seul le temps nous le dira. Peut-être qu'il ne sera jamais ajouté aux référentiels des "anciennes" versions Ubuntu qui ont été publiées avant ce package de pilotes. Je ne pense pas qu'il soit possible de donner une réponse précise à cette question avant que cela ne soit réellement arrivé.
Byte Commander
36

C'est était un bogue dans les pilotes Nvidia.

Nvidia a pu reproduire le problème et travaille actuellement sur un correctif, qui sera inclus dans la prochaine version de son pilote. (Le correctif est maintenant publié, voir la section ci-dessous).

Voir ce fil sur les forums de développeurs Nvidia pour plus d'informations. Ce bogue a également été signalé sur le tableau de bord .

Merci à @Stefan pour son grand talent de salope pour découvrir cette information !


Nvidia a enfin publié un correctif officiel!

  • La solution vient avec la permission du pilote bêta 381,09 capture d' écran pertinente du changelog : entrez la description de l'image ici

  • Ce pilote ne se trouve actuellement dans aucun référentiel

  • Jusqu'à ce que les modifications ci-dessus soient apportées, vous devrez installer le nouveau pilote manuellement. Mise à jour: le pilote 381.09 se trouve maintenant dans un référentiel non officiel. Vous pouvez installer le pilote corrigé à partir du PPA non officiel ou l'installer manuellement.

  • MISE À JOUR - FIX MAINTENANT DANS LE REPO OFFICIEL:

    Félicitations à @ ubfan1 pour avoir signalé cela ! Voir la section ci-dessous pour plus de détails


1. Installation du pilote [release] corrigé à partir du dépôt officiel (recommandé):

Nvidia a publié une mise à jour de sa version du pilote le 05/04/2017, contenant notamment le correctif que vous recherchez. La version mise à jour du pilote a reçu la version375.66

Comme cela se 375.66trouve dans le référentiel officiel, le chargement du pilote corrigé est assez simple.

  • Si vous utilisez actuellement la 375.39version buggy , tout ce qui devrait être demandé est simple:

    sudo apt-get update
    sudo apt-get upgrade
    

  • Si vous utilisez le pilote hérité, vous devez alors effectuer les opérations suivantes:

    sudo apt-get update
    

    Suivi en passant à la nouvelle version du pilote dans Pilotes supplémentaires:

    entrez la description de l'image ici


  • Si vous utilisez actuellement un pilote installé manuellement, vous devez le désinstaller, redémarrer, puis suivre les étapes décrites ci-dessus.

Après le redémarrage, vous devriez constater que votre pilote Nvidia a été mis à jour en 375.66.


2. Si vous n'avez pas besoin du nouveau pilote pour la compatibilité avec votre GPU: *

* Notez que cette section a été remplacée par la section 1

Si votre carte graphique est suffisamment ancienne pour être prise en charge par la v340 du pilote, il n'est pas nécessaire d'installer une version plus récente à partir d'un PPA non officiel. Pour les personnes possédant de nouvelles cartes comme les séries GTX 9 ou 10, vous aurez besoin d’un pilote plus récent.

Pour plus de commodité, voici une liste complète des cartes prises en charge par la version 340 du pilote:

GeForce 800M Series (Notebooks):
GeForce GTX 880M, GeForce GTX 870M, GeForce GTX 860M, GeForce GTX 850M, GeForce 845M, GeForce 840M, GeForce 830M, GeForce 825M, GeForce 820M, GeForce 810M

GeForce 700 Series:
GeForce GTX TITAN Z, GeForce GTX TITAN Black, GeForce GTX TITAN, GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, GeForce GT 740, GeForce GT 730, GeForce GT 720, GeForce GT 710, GeForce GT 705

GeForce 700M Series (Notebooks):
GeForce GTX 780M, GeForce GTX 770M, GeForce GTX 765M, GeForce GTX 760M, GeForce GT 755M, GeForce GT 750M, GeForce GT 745M, GeForce GT 740M, GeForce GT 735M, GeForce GT 730M, GeForce GT 720M, GeForce GT 710M, GeForce 720M, GeForce 710M, GeForce 705M

GeForce 600 Series:
GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 635, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605

GeForce 600M Series (Notebooks):
GeForce GTX 680MX, GeForce GTX 680M, GeForce GTX 675MX, GeForce GTX 675M, GeForce GTX 670MX, GeForce GTX 670M, GeForce GTX 660M, GeForce GT 650M, GeForce GT 645M, GeForce GT 640M, GeForce GT 640M LE, GeForce GT 635M, GeForce GT 630M, GeForce GT 625M, GeForce GT 620M, GeForce 610M

GeForce 500 Series:
GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 560 Ti, GeForce GTX 560 SE, GeForce GTX 560, GeForce GTX 555, GeForce GTX 550 Ti, GeForce GT 545, GeForce GT 530, GeForce GT 520, GeForce 510

GeForce 500M Series (Notebooks):
GeForce GTX 580M, GeForce GTX 570M, GeForce GTX 560M, GeForce GT 555M, GeForce GT 550M, GeForce GT 540M, GeForce GT 525M, GeForce GT 520M, GeForce GT 520MX

GeForce 400 Series:
GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460 SE v2, GeForce GTX 460 SE, GeForce GTX 460, GeForce GTS 450, GeForce GT 440, GeForce GT 430, GeForce GT 420, GeForce 405

GeForce 400M Series (Notebooks):
GeForce GTX 485M, GeForce GTX 480M, GeForce GTX 470M, GeForce GTX 460M, GeForce GT 445M, GeForce GT 435M, GeForce GT 425M, GeForce GT 420M, GeForce GT 415M, GeForce 410M, GeForce 405M

GeForce 300 Series:
GeForce GT 340, GeForce GT 330, GeForce GT 320, GeForce 315, GeForce 310

GeForce 300M Series (Notebooks):
GeForce GTS 360M, GeForce GTS 350M, GeForce GT 335M, GeForce GT 330M, GeForce GT 325M, GeForce GT 320M, GeForce 320M, GeForce 315M, GeForce 310M, GeForce 305M

GeForce 200 Series:
GeForce GTX 295, GeForce GTX 285, GeForce GTX 280, GeForce GTX 275, GeForce GTX 260, GeForce GTS 250, GeForce GTS 240, GeForce GT 230, GeForce GT 240, GeForce GT 220, GeForce G210, GeForce 210, GeForce 205

GeForce 200M Series (Notebooks):
GeForce GTX 285M, GeForce GTX 280M, GeForce GTX 260M, GeForce GTS 260M, GeForce GTS 250M, GeForce GT 240M, GeForce GT 230M, GeForce GT 220M, GeForce G210M, GeForce G205M

GeForce 100 Series:
GeForce GT 140, GeForce GT 130, GeForce GT 120, GeForce G100

GeForce 100M Series (Notebooks):
GeForce GTS 160M, GeForce GTS 150M, GeForce GT 130M, GeForce GT 120M, GeForce G 110M, GeForce G 105M, GeForce G 103M, GeForce G 102M

GeForce 9 Series:
GeForce 9800 GX2, GeForce 9800 GTX/GTX+, GeForce 9800 GT, GeForce 9600 GT, GeForce 9600 GSO, GeForce 9600 GSO 512, GeForce 9600 GS, GeForce 9500 GT, GeForce 9500 GS, GeForce 9400 GT, GeForce 9400, GeForce 9300 GS, GeForce 9300 GE, GeForce 9300 SE, GeForce 9300, GeForce 9200, GeForce 9100

GeForce 9M Series (Notebooks):
GeForce 9800M GTX, GeForce 9800M GTS, GeForce 9800M GT, GeForce 9800M GS, GeForce 9700M GTS, GeForce 9700M GT, GeForce 9650M GT, GeForce 9650M GS, GeForce 9600M GT, GeForce 9600M GS, GeForce 9500M GS, GeForce 9500M G, GeForce 9400M G, GeForce 9400M, GeForce 9300M GS, GeForce 9300M G, GeForce 9200M GS, GeForce 9100M G

GeForce 8 Series:
GeForce 8800 Ultra, GeForce 8800 GTX, GeForce 8800 GTS 512, GeForce 8800 GTS, GeForce 8800 GT, GeForce 8800 GS, GeForce 8600 GTS, GeForce 8600 GT, GeForce 8600 GS, GeForce 8500 GT, GeForce 8400 GS, GeForce 8400 SE, GeForce 8400, GeForce 8300 GS, GeForce 8300, GeForce 8200, GeForce 8100 /nForce 720a

GeForce 8M Series (Notebooks):
GeForce 8800M GTX, GeForce 8800M GTS, GeForce 8700M GT, GeForce 8600M GT, GeForce 8600M GS, GeForce 8400M GT, GeForce 8400M GS, GeForce 8400M G, GeForce 8200M G, GeForce 8200M

Quadro Series:
Quadro K6000, Quadro K5200, Quadro K5000, Quadro K4000, Quadro K4200, Quadro K2200, Quadro K2000, Quadro K2000D, Quadro K620, Quadro K600, Quadro K420, Quadro 6000, Quadro 5000, Quadro 4000, Quadro 2000, Quadro 2000D, Quadro 600, Quadro 410, Quadro 400

Quadro Series (Notebooks):
Quadro K5100M, Quadro K5000M, Quadro K4100M, Quadro K4000M, Quadro K3100M, Quadro K2100M, Quadro K3000M, Quadro K2000M, Quadro K1100M, Quadro K1000M, Quadro K610M, Quadro K510M, Quadro K500M, Quadro 5010M, Quadro 5000M, Quadro 4000M, Quadro 3000M, Quadro 2000M, Quadro 1000M

Quadro FX Series:
Quadro CX, Quadro FX 370, Quadro FX 370 Low Profile, Quadro FX 380, Quadro FX 380 Low Profile, Quadro FX 570, Quadro FX 580, Quadro FX 1700, Quadro FX 1800, Quadro FX 3700, Quadro FX 3800, Quadro FX 4600, Quadro FX 4700 X2, Quadro FX 4800, Quadro FX 5600, Quadro FX 5800

Quadro FX Series (Notebooks):
Quadro FX 3800M, Quadro FX 3700M, Quadro FX 3600M, Quadro FX 2800M, Quadro FX 2700M, Quadro FX 1800M, Quadro FX 1700M, Quadro FX 1600M, Quadro FX 880M, Quadro FX 770M, Quadro FX 570M, Quadro FX 380M, Quadro FX 370M, Quadro FX 360M

Quadro NVS Series:
Quadro NVS 290, Quadro NVS 295, NVS 510, NVS 315, NVS 310, NVS 300, Quadro NVS 420, Quadro NVS 450

Quadro NVS Series (Notebooks):
NVS 5400M, NVS 5200M, NVS 5100M, NVS 4200M, NVS 3100M, NVS 2100M, Quadro NVS 320M, Quadro NVS 160M, Quadro NVS 150M, Quadro NVS 140M, Quadro NVS 135M, Quadro NVS 130M

Quadro Plex Series:
Quadro Plex Model II, Quadro Plex D Series, Quadro Plex Model IV, Quadro Plex 7000

Quadro Sync Series:
Quadro Sync, Quadro G-Sync II

Quadro SDI:
Quadro SDI

GRID Series:
GRID K2, GRID K520

NVS Series:
Quadro NVS 290, Quadro NVS 295, NVS 510, NVS 315, NVS 310, NVS 300, Quadro NVS 420, Quadro NVS 450

NVS Series (Notebooks):
NVS 5400M, NVS 5200M, NVS 5100M, NVS 4200M, NVS 3100M, NVS 2100M, Quadro NVS 320M, Quadro NVS 160M, Quadro NVS 150M, Quadro NVS 140M, Quadro NVS 135M, Quadro NVS 130M

ION (Desktops):
ION

ION (Notebooks):
ION

ION LE (Desktops):
ION LE

ION LE (Notebooks):
ION LE

Ainsi, si votre GPU est pris en charge par 340, vous pouvez simplement passer à la version 340 dans Pilotes supplémentaires. (La version 340 n'a pas ce bogue.)

entrez la description de l'image ici

Assurez-vous de redémarrer après avoir changé la version du pilote.


3. Pour installer le pilote [bêta] corrigé à partir d'un PPA non officiel ( recommandé ):

  1. Démarrer un terminal avec CTRL+ ALT+T

  2. Exécutez ces commandes:

    sudo -i
    add-apt-repository ppa:graphics-drivers/ppa
    apt-get update
    apt-get install nvidia-381
    
  3. Redémarrez votre ordinateur et vous devriez être prêt à partir! Après le redémarrage de votre ordinateur, ouvrez les paramètres de Nvidia X Server. Avec un peu de chance, vous verrez la nouvelle version du pilote:

    entrez la description de l'image ici


4. Pour installer manuellement le pilote [bêta] corrigé ( non recommandé):

L'installation des pilotes Nvidia à partir du *.runfichier n'est généralement pas une très bonne idée. Cela a tendance à casser des choses. Ainsi, il est préférable de les installer à partir d'un PPA, comme décrit ci-dessus. Néanmoins, si vous êtes des aventuriers et que vous voulez les installer manuellement, voici le processus qui a fonctionné pour moi avec Ubuntu 16.04 et une GTX650.

Avant d'installer le pilote corrigé, vous DEVEZ désinstaller votre pilote propriétaire actuel et basculer vers le pilote Nouveau:

entrez la description de l'image ici

Assurez-vous de redémarrer après le basculement. SI VOUS NE PARLEZ PAS À DÉSINSTALLER VOTRE PILOTE PROPRIÉTAIRE ACTUEL, LE NOUVEAU PILOTE CONFLICERA AVEC LE VIEIL ET VOUS BRANCHERA DES CHOSES!

  1. Téléchargez le fichier de pilote corrigé de Nvidia. Voici un lien direct.

  2. Enregistrez le fichier dans votre dossier de téléchargements

  3. Déconnectez-vous de votre session graphique (vous devriez vous retrouver sur l'écran de connexion avant de continuer)

  4. Feu tty1avec CTRL+ ALT+F1

  5. Connectez-vous avec vos identifiants habituels

  6. Exécutez ces commandes:

    sudo service lightdm stop
    cd Downloads
    chmod +x NVIDIA-Linux-x86_64-381.09.run
    sudo ./NVIDIA-Linux-x86_64-381.09.run
    
  7. Acceptez le contrat de licence:

    entrez la description de l'image ici

  8. Il se plaindra que le script de pré-installateur fourni par la distribution a échoué. Continuer quand même:

    entrez la description de l'image ici

  9. Sélectionnez Yesquand on vous demandera si vous souhaitez enregistrer le module du noyau avec dkms:

    entrez la description de l'image ici

  10. Sélectionnez Yesquand on vous demande si vous souhaitez installer les bibliothèques de compatibilité 32 bits:

    entrez la description de l'image ici

  11. Il faudra un certain temps pour construire le module du noyau, alors soyez patient!

    entrez la description de l'image ici

  12. Sélectionnez Yesquand on vous demande si vous souhaitez exécuter nvidia-xconfig:

    entrez la description de l'image ici

  13. Sélectionnez Okpour quitter le programme d'installation

  14. Presque là! Maintenant, lancez ces commandes:

    rm ~/.Xauthority
    rm ~/.config/dconf/unity
    sudo shutdown -r now
    
  15. Après le redémarrage de votre ordinateur, ouvrez les paramètres de Nvidia X Server. Avec un peu de chance, vous verrez la nouvelle version du pilote:

    entrez la description de l'image ici

Dev Android
la source
1
REMARQUE : l'étape 14 a été utilisée lorsque le bureau Unity de answer ne s'affiche pas, comme indiqué dans la salle de discussion Demandez à Ubuntu. Ce n'est peut-être pas nécessaire, mais si votre bureau Unity n'apparaît pas, utilisez cette étape comme solution.
Sergiy Kolodyazhnyy
Désolé mais je dois discuter avec cette solution. Cela m'a conduit à une erreur m'empêchant de me connecter et à une incompatibilité avec les logiciels Windows installés par Wine. Ce problème de connexion est courant si vous installez des fichiers .run à partir du site nvidia au lieu d'utiliser les sources disponibles dans Ubuntu. Une solution beaucoup plus simple pour résoudre ce problème consiste à utiliser la version 340, disponible entre les pilotes à choisir dans le menu Logiciels et mises à jour. Au moins, ça a marché pour tout réparer pour moi.
Giorgio Vitanza
@GiorgioVitanza - Je sais que l'installation des .runfichiers n'est pas vraiment la méthode recommandée pour faire les choses. Mais, l’utilisation du pilote 340 n’est pas une option pour les personnes possédant une carte plus récente comme la série 10. J'ai testé cette solution sur mon propre ordinateur, et cela a bien fonctionné.
Android Dev
@GiorgioVitanza Essayez ma réponse - il installe les pilotes des PPA, qui devraient être beaucoup plus compatibles que les fichiers d'exécution.
Kaz Wolfe
@GiorgioVitanza - Maintenant que le pilote est dans un PPA, j'ai mis à jour ma réponse pour inclure les deux méthodes.
Android Dev
7

Ce numéro est présent dans 375 et 378 pilotes ...


Étant donné que le simple fait de tuer le processus Compiz corrige le problème de la mauvaise frontière, j'ai testé une solution qui fonctionne sur mon système Ubuntu 16.04 chaque fois que celui-ci est activé.

Étape 1:

J'ai créé un script appelé fixbadbordersdans le répertoire /lib/systemd/system-sleep. Il contenait ce qui suit:

#!/bin/sh
## This file (or a link to it) must be in the folder /lib/systemd/system-sleep/
## Purpose: Kill compiz after system wakes up from sleep.
## This will fix bad window borders caused by Nvidia driver 375.39.
kill $(ps -C compiz -o pid=)

Étape 2:

Autorisé le script à avoir l'autorisation d'exécuter avec:

sudo chmod +x fixbadborders

Pour supprimer ce script:

sudo rm /lib/systemd/system-sleep/fixbadborders

Tous les crédits vont à Sun Bear qui a créé ce script. Commentaire 13

Victor A.
la source
Mieux vaut signaler les questions en double plutôt que d'afficher la même solution encore et encore
Zanna
3
Son inconvénient est que mon écran de connexion ne s'affiche jamais lorsque vous arrivez en mode veille :(
Hesam
6

NVIDIA a publié une version de pilote mise à jour qui a corrigé cette régression. Tous les pilotes ayant passé la version 381.09 n’auront plus ce problème, jusqu’à ce que NVIDIA soit de nouveau en panne.

Jusqu'à ce que le pilote atteigne les référentiels principaux, vous pouvez les télécharger à partir du PPA non officiel des pilotes NVIDIA. Cela garantit que vous n'aurez pas à vous soucier de l'installateur (ce qui est largement considéré comme une mauvaise idée) ou de Nouveau. De même, les pilotes pourront être installés / désinstallés au aptlieu de la demi-configuration dangereuse dans laquelle le programme d’installation de NVIDIA laisse les pilotes à l’intérieur. En outre, cela ne causera pas de boucles de connexion ni d’erreurs si vous n’avez pas un système étrange. Pour installer, lancez:

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
sudo apt install nvidia-381

Les anciens pilotes seront automatiquement désinstallés et les nouveaux seront chargés. Ensuite, redémarrez votre ordinateur (car les pilotes NVIDIA doivent être intégrés au noyau), et tout devrait bien fonctionner. Vous pouvez vérifier que les pilotes ont été installés correctement en exécutant la commande ci-dessous:

nvidia-settings --version

Assurez-vous de rétablir les correctifs décrits dans ce message avant de mettre à jour les pilotes les plus récents. Par exemple, si vous avez installé la version corrigée de Unity comme décrit ci-dessous, exécutez cette commande pour revenir à la version normale:

sudo ppa-purge ppa:kaihengfeng/lp1292830 

Notez que vous aurez besoin d’être ppa-purgeinstallé, ce qui peut se faire de la manière suivante:

sudo apt install ppa-purge

Si la mise à jour n'est pas une option (carte trop ancienne, stratégie d'entreprise, etc.):

Kai-Heng Feng de Launchpad a eu la gentillesse de télécharger une version de Unity sur son propre PPA ( ppa:kaihengfeng/lp1292830) qui devrait corriger ce problème. Afin de résoudre ce problème, ajoutez simplement son PPA en lançant ces commandes:

sudo add-apt-repository ppa:kaihengfeng/lp1292830 
sudo apt update
sudo apt full-upgrade

Une fois que vous avez terminé, redémarrez votre système ou redémarrez X11 en vous déconnectant puis en vous reconnectant.

Vous pouvez également effectuer l’une des opérations suivantes:

  • Basculer sur la carte Intel
    Si vous exécutez NVIDIA Prime, vous pouvez permuter sur la carte Intel, ce qui résoudra ce problème. Notez toutefois que cela empêchera le système d’utiliser une alimentation graphique complète.
  • Déclassement des pilotes
    Selon certains commentaires sur le rapport de bogue , le passage au pilote NVIDIA 367.57 devrait résoudre complètement le problème. Comme cela n'est plus présent dans les PPA, vous devrez le télécharger directement à partir de NVIDIA (64 bits) (32 bits) (ARM 32 bits) .
Kaz Wolfe
la source
367 ne semble plus exister, à la fois dans le dépôt officiel Ubuntu et dans le graphics-drivers/ppaPPA, ce paquet est un "paquet transitoire pour nvidia-375, donc son installation vous donnera automatiquement la version buggy 375. Si vous connaissez une source où obtenir l'ancien pilote 367 de, vous devriez l'inclure dans votre réponse
Byte Commander
@ByteCommander fait
Kaz Wolfe
Pour votre information, au cas où vous l'auriez manqué, le pilote corrigé est maintenant dans le dépôt officiel.
Android Dev
3

La solution proposée par Victor A. fonctionne parfaitement. Toutefois, vous devez noter que les scripts placés /lib/systemd/system-sleep/sont exécutés à la fois lorsque l'ordinateur se met en veille et lorsqu'il se réveille. Étant donné que nous ne voulons que le dernier, l’utilisation du script proposé ralentit inutilement le processus de mise en veille. Je recommande le suivant:

#!/bin/sh
if [ "$2" = "suspend" ] || [ "$2" = "hybrid-sleep" ]; then
    case "$1" in
        post) kill $(ps -C compiz -o pid=) ;;
    esac
fi

Un avertissement, cependant. Ce script (ainsi que celui proposé par Victor A.) désactivera l’écran d’invite de mot de passe au réveil, constituant ainsi un risque pour la sécurité.

LGenzelis
la source
3

Ce problème a également été corrigé dans le pilote Nvidia 375.66, qui se trouve dans les référentiels normaux et doit être installé par les mises à jour normales.

ubfan1
la source
Belle fouille! J'ai mis à jour ma réponse pour refléter ce nouveau développement, et je vous ai crédité pour découvrir qu'il existe maintenant une version patchée dans le dépôt officiel :)
Android Dev
2

Ce n'est pas une solution complète mais cela peut être mieux que d'utiliser compiz --replaceou de redémarrer compiz et de gâcher vos espaces de travail.

Quand je reprends de suspendre, je fais ceci:

  • Système -> Préférences -> Apparence
  • Changer de thème en thème différent
  • Revenir au thème d'origine

Cela rechargera ce qui semble être des textures corrompues dans le GPU. S'il existe un moyen de forcer automatiquement les textures de thème à être rechargées lors de la reprise, cela pourrait être une solution permanente.

Aidave
la source
1
Nvidia a publié un pilote corrigé , ce n'est plus un problème
Android Dev
1

Il existe un autre moyen de résoudre ce problème. (Je ne le recommande pas si vous avez beaucoup de processus en cours d'exécution.)

Juste tuer Xorg après avoir réveillé l'ordinateur.

Trouvez le PID de Xorg par:

top

Lorsque vous trouvez le pid du Xorg, appuyez sur Ctrl + C pour arrêter le processus "top".

Allez à la racine et tuez le processus en:

sudo su
kill [pid]

Ensuite, connectez-vous à votre compte.

Attention: cela fermera toutes vos applications. Firefox ne pose pas de problème à ce sujet, il restaure tous vos onglets, mais je ne peux pas garantir d'autres applications, alors sauvegardez-les avant de lancer ce processus.

Hobareey
la source
2
En passant, pour fermer en haut de la manière standard, au lieu d'annuler simplement la tâche (Ctrl + C), vous pouvez simplement appuyer sur «q».
anonymous2
0

J'ai essayé de remplacer le pilote par le correctif de bogues mis à jour, mais cela empêchait mon apprentissage en profondeur avec tensorflow. Je suis donc retourné au logiciel correctif d'origine.

Cela se produit chaque fois que je réveille Ubuntu. Je viens d'ouvrir un terminal CTRL+ ALT+ Tet tapez

killall compiz

L'affichage se réinitialise et le problème est parti. Cela ne prend que quelques secondes. Vous pouvez même alias dans votre ~/.bashrccomme alias kc='killall compiz'si vous suffit de taper kcquand vous voulez exécuter la commande.

les mots
la source