Frage Seltsame Artefakte entlang der Fenstergrenzen nach dem Aufwachen des Computers aus dem Schlafmodus


NB: Nvidia hat einen offiziellen Fix veröffentlicht; bitte sehen ByteCommanders Antwort, meine eigene Antwort und / oder Kaz Wolfes Antwort.


Beim Aufwachen von Ubuntu 16.04 aus Suspend erscheinen die folgenden grafischen Störungen um alle Fenster, Kontextmenüs und ähnliches:

enter image description here


Dies betrifft derzeit die folgenden NVIDIA-Karten   die proprietären Treiber:

  • NVIDIA GeForce 610M, Treiberversion 375.39, 340.102
  • NVIDIA GT 630M, Treiberversion 375.39
  • NVIDIA GTX 650, Treiberversion 375.39
  • NVIDIA GT 740M, Treiberversion 378.13
  • NVIDIA GTX 745, unbekannte Treiberversion
  • NVIDIA GTX 850M, Treiberversion 375.39, 378.13
  • NVIDIA GT 940M, Treiberversion 375.39
  • NVIDIA GTX 950M, unbekannte Treiberversion
  • NVIDIA GTX 960M, Treiberversion 378.13
  • NVIDIA GTX 970, Treiberversion 375.39
  • NVIDIA GTX 970M, Treiberversion 375.39
  • NVIDIA GTX 980 TI, unbekannte Treiberversion
  • NVIDIA GTX 1060, Treiberversion 375.26, 375.39, 378.09
  • NVIDIA GTX 1070, Treiberversion 378.09

Die obige Liste wurde aus Berichten anderer Benutzer bezogen   hier auf AU, Dies Thread und Dies Faden.

NB: Dies ist keine exklusive Liste. Es betrifft wahrscheinlich fast alle Nvidia-Karten.

Darüber hinaus wurde dieses Problem bei einer Neuinstallation repliziert, bei der die einzige Änderung ein Softwareupdate und die Installation der neuesten NVIDIA-Treiber war.


Was ist los und wie kann es gelöst werden?


117
2018-03-24 00:41


Ursprung


Welchen Grafiktreiber verwendest du und welches Grafikkartenmodell hast du? Ich hatte kürzlich das gleiche Problem mit meiner 940M-Karte und den einigen Versionen von nvidias proprietärem Treiber, nachdem ich den Laptop wieder ausgesetzt und aufgeweckt hatte. Bitte bearbeiten die Frage und addieren die Ausgabe von lspci -k | grep -iEA3 '3d|vga' das enthält alle angeforderten Informationen. Vielen Dank. - Byte Commander
Oh, eigentlich habe ich auch dieses Problem nochmal, weil das nvidia-367 Der Treiber, den ich verwendet habe, wurde zu einem Übergangspaket, das automatisch aktualisiert wird nvidia-375, das war eine der Versionen, die diesen Fehler verursacht haben. Zeit nvidia zu nageln und Fehlerberichte zu schreiben. - Byte Commander
das ist in der Tat ein Dub, aber versuchen Sie, etwas wie "komische Sachen um die Ecken" zu googeln ... Irgendwie haben diese Fragen schlechte Antworten, während die Lösung unten wie ein Charme funktioniert. - Ivan
@taylorswift - Sieht so aus, als hätten mindestens 41 andere auch dieses Problem: bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-375/... Ich denke, wir müssen nur darauf warten, dass Nvidia es repariert. - Android Dev
Hat auch Auswirkungen GeForce GTX 950M. - conualfy


Antworten:


Hinweis: Dies war eine vorübergehende Abhilfe, bis Nvidia einen gepatchten Treiber veröffentlichte. Scrollen Sie nach unten, um die anderen Antworten mit der aktuellen Fehlerbehebung zu finden. - Android Entwickler


Ich habe das gleiche Problem mit GPU: Nvidia GTX 970 mit Nvidia 375.39 Treiber auf Ubuntu 16.04.2 LTS

Ich habe dies seit einem aktuellen Upgrade des Nvidia-Treibers beobachtet. Ich vermute also, dass es sich um einen Bug im Treiber handelt.

Ich habe eine Antwort gefunden auf dem nvidia-board. Es ist ein bestätigter Bug im Treiber und nvidia arbeitet offenbar bereits daran. In der Zwischenzeit kann man mit compiz neu starten

compiz --replace

um die Artefakte loszuwerden.

Der Fehler ist im Ubuntu Bug Tracking System Ein Workaround-Skript zum automatischen Neustart von Compiz nach der Wiederaufnahme.


77
2018-03-24 07:50



Super Detektivarbeit, danke! :) - Android Dev
Eine andere Lösung wäre ein Downgrade auf die vorherige Treiberversion: askubuntu.com/a/896544/657603 - Antoine Dusséaux
Thx für Abhilfe. Ich bin mir nicht sicher, aber da ich dieses Problem habe und ich auch noch ein anderes Problem habe: Mein Laptop ist nach einer Stunde nicht immer korrekt eingestellt. - Skalár Wag
compiz --replace verhält sich nicht gut mit Arbeitsbereichen. Es setzt alle Fenster aller Arbeitsbereiche in den ersten Arbeitsbereich :( - AlikElzin-kilaka
Sie müssen das Terminal mit diesem Befehl geöffnet halten. Wenn Sie das Terminal schließen, wird Compiz erneut gestartet. Dies wird bis zum nächsten Aussetzen funktionieren, es ist keine echte Lösung, ich kann nicht wirklich funktionieren, wenn ich diesen Befehl ein paar Mal am Tag ausführe. Ging zu der obigen Lösung und wechselte den Treiber. - conualfy


UPDATE 2:

Nvidia hat jetzt auch ihr aktualisiert nvidia-375 Treiber zur Version 375.66, welches ist verfügbar in den Standard-Ubuntu-Repositories aller derzeit unterstützten Versionen.

Das bedeutet von jetzt an, Sie sollten keine besonderen Handlungen mehr vornehmen müssen, bis auf die normalen Systemupdates wie immer. Sie benötigen das Treiberpaket nicht von der graphics-drivers PPA, wenn Sie sie nicht wollen.

Hier ist der Changelog-Auszug für das Paket von den Hauptrepos zu diesem Fehler:

$ 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.
  [...]

AKTUALISIEREN:

Nvidia hat dieses Problem endlich behoben und eine neue funktionierende Treiberversion veröffentlicht: nvidia-381

Die in dieser Antwort beschriebene Lösung wurde ebenfalls aktualisiert und schlägt jetzt vor, auf diese feste Version zu aktualisieren, anstatt auf die neueste Version vor dem Fehler herunterzustufen. Es bleibt jedoch die gleiche Prozedur, Sie wechseln nur die Paketnamen.


Problemursache:

Einige der proprietären Nvidia-Grafiktreiberpakete für Ubuntu (nämlich nvidia-375 und nvidia-378) sind fehlerhaft und erzeugen die weißen Artefakte um Fensterrahmen, die in den Screenshots in der Frage angezeigt werden. Dies geschieht reproduzierbar jedes Mal, wenn Sie aussetzen und wieder aufwachen.

Bis vor ein paar Tagen hat die nvidia-367 Das Paket in Xenials Repository funktionierte gut und zuverlässig, aber jetzt wurde es aktualisiert und in ein Übergangspaket umgewandelt, das den Buggy automatisch installiert nvidia-375 Version stattdessen.

Lösung (aktualisiert nach Bugfix Release von Nvidia):

Stellen Sie sicher, dass Sie wirklich eine Nvidia-Grafikkarte haben, die das Problem verursacht, und nicht eine von einer anderen Marke, die zufällig auf ähnliche Weise falsch verhält. Die Installation von Nvidia-Treibern für Nicht-Nvidia-Grafikkarten bringt keinen Erfolg.

Sie können dies überprüfen, indem Sie die Ausgabe des folgenden Befehls überprüfen:

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

Meine Lösung für jetzt ist Downgrade von nvidia-375 oder nvidia-378 zu nvidia-370, was bisher gut zu funktionieren scheint.
Wie Nvidia eine neue aktualisierte Treiberversion veröffentlicht nvidia-381 Wenn dieser Fehler behoben ist, können (und sollten) wir diesen installieren, anstatt ihn herunterzustufen.

Dieses Paket ist nicht in den Standard-Repositorys verfügbar, Sie können es jedoch leicht von einem PPA abrufen und Ihren aktuellen Treiber damit ersetzen, indem Sie die folgenden Befehle ausführen:

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

sudo apt installiert nvidia-370


58
2018-03-24 19:48



Für allgemeine Benutzer würde ich die schnelle Problemumgehung ohne Treiberwechsel bevorzugen Hier anstatt die Treiber herunterzustufen. Angesichts dieser Tatsache werden freigegeben werden (und vermutlich nicht auch weit weg von jetzt), es ist wirklich nur vorübergehendes Unbehagen. Wenn Sie die Treiber jedoch zurückstufen, müssen Sie daran denken, sie wiederherzustellen apt zurück zu einem Zustand, in dem weitere Upgrades automatisch wieder empfangen werden. Sie müssen auch weiterhin aktiv nach der neuen, korrekt reparierten Version suchen, die veröffentlicht wird, anstatt nur darauf zu warten, sie automatisch zu bekommen - Problem anfällig und unbequem. - Jason C
@JasonC Nein. Die nvidia-370 wird sich sehr wahrscheinlich auch in ein Übergangspaket verwandeln nvidia-367 ist schon, und deshalb würde das Update automatisch die Treiberversion nvidia / das Grafiktreiber-Team als geeigneten Nachfolger installieren. Der 370 ist der neueste (und vielleicht nur) aktuell unterstützte Treiber, der von diesem Fehler nicht betroffen ist, warum also nicht verwenden? Im Vergleich zu den 367, die vor der Aktualisierung dieses Bugs verwendet wurde, ist es immer noch ein Upgrade. Darüber hinaus halten wir keine Pakete zurück oder überschreiben eine passende Konfiguration, wie Sie zu denken scheinen. - Byte Commander
@ByteCommander Ich werde meinen Kommentar unter zwei Bedingungen löschen. 1) Solange Sie 100% sicher sind, dass es werden Wende dich in ein Übergangspaket, ich werde dir glauben (ich bin nicht 100% ig überzeugt von meiner Aussage); oder wenn Sie nicht 100% sicher sind, fügen Sie der Antwort eine Erwähnung des Risikos hinzu und 2) Wenn Sie eine Erwähnung hinzufügen, wie sich dies nicht auf zukünftige Aktualisierungen auswirkt, wenn es zu einem Übergangspaket wird und was einmal zu tun ist Der Fix wird zur Antwort freigegeben. - Jason C
@JasonC Du musst deinen Kommentar nicht löschen. Ich kann aus offensichtlichen Gründen nicht garantieren, was die Betreuer der graphics-drivers PPA wird mit ihren Paketen in der Zukunft machen, ich kann nur Annahmen treffen, die auf dem basieren, was sie in der Vergangenheit getan haben. Und solange 370 unterstützt wird, gibt es keine Notwendigkeit zu handeln, selbst wenn sie die 375 und 378 reparieren. Meine starke Vermutung ist, dass, sobald nvidia die 370 ablehnt (wie sie es kürzlich mit der 367 getan haben), die PPA-Betreuer es umdrehen werden in ein Übergangspaket, was bedeutet, dass die aktualisierte Version keinen Code mehr enthält, sondern dem neueren Treiber eine Abhängigkeit hinzufügt. - Byte Commander
@Matsmath Ich weiß es nicht. Nur die Zeit kann es verraten. Vielleicht wird es niemals zu den Repositories von "älteren" Ubuntu-Versionen hinzugefügt, die vor diesem Treiberpaket veröffentlicht wurden. Ich glaube nicht, dass es möglich ist, eine genaue Antwort darauf zu geben, bevor es tatsächlich passiert ist. - Byte Commander


Dies ist war ein Bug in den Nvidia-Treibern.

Nvidia konnte das Problem reproduzieren, und sie arbeiten an einer Reparatur, die in ihrer nächsten Treiberversion enthalten sein wird. (Der Fix wurde jetzt veröffentlicht, siehe den folgenden Abschnitt).

Sehen diesen Thread in den Nvidia-Entwicklerforen für mehr Informationen. Dieser Fehler wurde auch berichtet über Launchpad.

Dank an @ Stefan für seine großen sluthing Fähigkeiten in Aufdecken dieser Informationen!


Nvidia hat endlich eine offizielle Lösung veröffentlicht!

  • Das Update kommt mit dem Beta-Treiber 381.09 Relevanter Screenshot von Änderungsprotokoll: enter image description here

  • Dieser Treiber befindet sich derzeit nicht in Repositories

  • Bis sich die obigen Änderungen ändern, müssen Sie den neuen Treiber manuell installieren Aktualisieren: Der Treiber 381.09 befindet sich jetzt in einem inoffiziellen Repository. Sie können den gepatchten Treiber entweder aus dem inoffiziellen PPA installieren oder manuell installieren.

  • UPDATE - FIX JETZT IN OFFIZIELLER REPO:

    Kudos zu @ ubfan1 zum dies zu melden! Siehe den folgenden Abschnitt für Details


1. Installieren des gepatchten [release] Treibers aus dem offiziellen Repo (empfohlen):

Nvidia hat am 05.04.2017 ein Update für ihren Release-Treiber veröffentlicht, das unter anderem die Bug-Fixes enthält, nach denen Sie suchen. Der aktualisierte Release-Treiber hat die Version erhalten 375.66

Seit dem 375.66 ist im offiziellen Repository, das Laden des gepatchten Treibers ist ziemlich einfach.

  • Wenn Sie gerade auf dem Buggy sind 375.39 Version, dann ist alles, was erforderlich sein sollte, ein einfaches:

    sudo apt-get update
    sudo apt-get upgrade
    

  • Wenn Sie den Legacy-Treiber verwenden, sollten Sie Folgendes ausführen:

    sudo apt-get update
    

    Gefolgt von der Umstellung auf die neue Treiberversion in Zusätzliche Treiber:

    enter image description here


  • Wenn Sie derzeit einen manuell installierten Treiber verwenden, sollten Sie ihn deinstallieren, neu starten und dann die oben beschriebenen Schritte ausführen.

Nach dem Neustart sollten Sie feststellen, dass Ihr Nvidia-Treiber aktualisiert wurde 375.66.


2. Wenn Sie den neueren Treiber nicht für die Kompatibilität mit Ihrer GPU benötigen: *

* Beachten Sie, dass dieser Abschnitt durch Abschnitt 1 ersetzt wurde

Wenn Ihre Grafikkarte alt genug ist, dass sie von v340 des Treibers unterstützt wird, müssen Sie keine neuere Version von einem inoffiziellen PPA installieren. Für Leute mit neueren Karten wie der GTX 9-Serie oder 10-Serie benötigen Sie jedoch einen neueren Treiber.

Der Einfachheit halber finden Sie hier eine vollständige Liste der Karten, die von der Version 340 des Treibers unterstützt werden:

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

Wenn also Ihre GPU von 340 unterstützt wird, können Sie einfach unter Zusätzliche Treiber auf Version 340 wechseln. (Version 340 hat diesen Fehler nicht.)

enter image description here

Achten Sie darauf, nach dem Wechsel der Treiberversion neu zu starten.


3. Um den gepatchten [Beta] Treiber von einem inoffiziellen PPA zu installieren (empfohlen):

  1. Feuern Sie ein Terminal mit STRG+ALT+T

  2. Führen Sie diese Befehle aus:

    sudo -i
    add-apt-repository ppa:graphics-drivers/ppa
    apt-get update
    apt-get install nvidia-381
    
  3. Starten Sie Ihren Computer und Sie neu sollte Gut zu gehen! Nachdem der Computer neu gestartet wurde, öffnen Sie die Nvidia X Server-Einstellungen. Mit etwas Glück sehen Sie die neue Treiberversion:

    enter image description here


4. bis manuell installiere den gepatchten [beta] Treiber (NICHT empfehlen):

Installieren der Nvidia Treiber von der *.run Datei ist im Allgemeinen keine sehr gute Idee. Es neigt dazu, Dinge zu brechen. Daher ist es besser, sie wie oben beschrieben aus einem PPA zu installieren. Dennoch, wenn Sie Abenteuer sind und sie manuell installieren möchten, ist dies der Prozess, der für mich mit Ubuntu 16.04 und einem GTX650 funktioniert hat.

Bevor Sie den gepatchten Treiber installieren, werden Sie MUSS Deinstallieren Sie Ihren aktuellen proprietären Treiber und wechseln Sie zum Nouveau-Treiber:

enter image description here

Stellen Sie sicher, dass Sie nach dem Wechsel neu starten. WENN SIE IHREN AKTUELLEN PROPRIETARY-TREIBER NICHT DEINSTALLIEREN KÖNNEN, WIRD DER NEUE TREIBER MIT DEM ALTEN KONFLIKT UND SIE BRECHEN DINGE!

  1. Laden Sie die gepatchte Treiberdatei von Nvidia herunter. Hier ist ein direkter Link.

  2. Speichern Sie die Datei in Ihrem Download-Ordner

  3. Loggen Sie sich aus Ihrer GUI-Sitzung aus (Sie sollten sich auf dem Anmeldebildschirm befinden, bevor Sie fortfahren)

  4. Anzünden tty1 mit STRG+ALT+F1

  5. Melden Sie sich mit Ihren normalen Zugangsdaten an

  6. Führen Sie diese Befehle aus:

    sudo service lightdm stop
    cd Downloads
    chmod +x NVIDIA-Linux-x86_64-381.09.run
    sudo ./NVIDIA-Linux-x86_64-381.09.run
    
  7. Akzeptieren Sie die Lizenzvereinbarung:

    enter image description here

  8. Es wird sich beschweren, dass das Skript zum Vorinstallieren der Verteilung fehlgeschlagen ist. Mache trotzdem weiter:

    enter image description here

  9. Wählen Ja wenn Sie gefragt werden, ob Sie das Kernelmodul bei dkms registrieren möchten:

    enter image description here

  10. Wählen Ja Wenn Sie gefragt werden, ob Sie die 32-Bit-Kompatibilitätsbibliotheken installieren möchten:

    enter image description here

  11. Es wird eine Weile dauern, das Kernelmodul zu erstellen Sei geduldig!

    enter image description here

  12. Wählen Ja wenn Sie gefragt werden, ob Sie laufen möchten nvidia-xconfig:

    enter image description here

  13. Wählen OK um das Installationsprogramm zu beenden

  14. Fast dort! Führe jetzt einfach diese Befehle aus:

    rm ~/.Xauthority
    rm ~/.config/dconf/unity
    sudo shutdown -r now
    
  15. Nachdem der Computer neu gestartet wurde, öffnen Sie die Nvidia X Server-Einstellungen. Mit etwas Glück sehen Sie die neue Treiberversion:

    enter image description here


36
2018-04-07 20:55



HINWEIS: Schritt 14 wurde verwendet, wenn der Unity-Desktop der Antwort nicht angezeigt wurde, wie in Ask Ubuntu Chatroom beschrieben. Dies ist möglicherweise nicht erforderlich, aber wenn Ihr Unity-Desktop nicht angezeigt wird, verwenden Sie diesen Schritt als Lösung. - Sergiy Kolodyazhnyy
Tut mir leid, aber ich muss mit dieser Lösung streiten. Dies führte mich zu einem Fehler, der dazu führte, dass ich mich nicht einloggen und inkompatibel mit der Windows-Software von Win installieren konnte. Ein solches Problem tritt häufig auf, wenn Sie .run-Dateien von der nvidia-Site installieren, anstatt die verfügbaren Quellen in ubuntu zu verwenden. Eine viel einfachere Möglichkeit, dieses Problem zu beheben, wäre die Verwendung der Version 340, die direkt zwischen den wählbaren Treibern im Menü Software und Updates verfügbar ist. Zumindest hat es funktioniert, alles für mich zu reparieren. - Giorgio Vitanza
@ GiorgioVitanza - Ich weiß, dass die Installation .run Dateien sind nicht wirklich der empfohlene Weg, um Dinge zu tun. Aber die Verwendung des 340 Treibers ist keine Option für Leute mit neueren Karten wie der 10-Serie. Ich habe diese Lösung auf meinem eigenen Computer getestet und es hat gut funktioniert. - Android Dev
@GiorgioVitanza Versuchen Sie meine Antwort - es installiert Treiber von den PPAs, die viel kompatibler als die Run-Dateien sein sollte. - Kaz Wolfe
@GiorgioVitanza - Jetzt, da der Treiber in einer PPA ist, habe ich meine Antwort aktualisiert, um beide Methoden einzuschließen. - Android Dev


Dieses Problem ist in 375 und 378 Treibern vorhanden ...


Angesichts der Tatsache, dass der Compiz-Prozess einfach den Fehler beseitigt, habe ich eine Lösung getestet, die jedes Mal, wenn das System aufwacht, auf meinem Ubuntu 16.04-System funktioniert.

Schritt 1:

Ich habe ein Skript namens erstellt fixbadborders im Verzeichnis /lib/systemd/system-sleep. Es enthielt Folgendes:

#!/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=)

Schritt 2:

Erlaubt dem Skript die Berechtigung zum Ausführen mit:

sudo chmod +x fixbadborders

So entfernen Sie dieses Skript:

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

Alle Credits gehen zu Sonnenbär Wer hat dieses Skript erstellt? Kommentar 13


7
2018-03-25 15:41



Besser, Fragen als doppelt zu markieren, anstatt immer wieder die gleiche Lösung zu posten - Zanna
Sein Nachteil ist, dass mein Anmeldebildschirm nie angezeigt wird, wenn er aus dem Schlaf in den desktop kommt :( - Hesam


NVIDIA hat eine aktualisierte Treiberversion veröffentlicht, die diese Regression korrigiert hat. Jeder Treiber nach 381.09 wird dieses Problem nicht mehr haben, bis NVIDIA wieder versagt.

Bis der Treiber die Haupt-Repositorys erreicht, können sie vom inoffiziellen NVIDIA-Treiber-PPA heruntergeladen werden. Dadurch wird sichergestellt, dass Sie sich nicht mit dem Installationsprogramm (das allgemein als schlechte Idee betrachtet wird) oder Nouveau herumschlagen müssen. Auf ähnliche Weise können die Treiber auch installiert / deinstalliert werden apt Statt der gefährlichen Halbkonfiguration lässt der NVIDIA-Installer die Treiber zurück nicht verursachen Sie Login-Loops oder Fehler, es sei denn, Sie haben ein seltsames System. Führen Sie Folgendes aus, um zu installieren:

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

Die alten Treiber werden automatisch deinstalliert und die neuen werden geladen. Folgen Sie dem Neustart, indem Sie Ihren Computer neu starten (da NVIDIA-Treiber in den Kernel eingebunden werden müssen), und alles sollte gut funktionieren. Sie können überprüfen, ob die Treiber korrekt installiert wurden, indem Sie den folgenden Befehl ausführen:

nvidia-settings --version

Stellen Sie sicher, dass alle in diesem Beitrag beschriebenen Patches zurückgesetzt werden Vor Sie aktualisieren auf die neuesten Treiber. Wenn Sie beispielsweise die gepatchte Version von Unity wie unten beschrieben installiert haben, führen Sie diesen Befehl aus, um zur normalen Version zurückzukehren:

sudo ppa-purge ppa:kaihengfeng/lp1292830 

Beachten Sie, dass Sie brauchen werden ppa-purge installiert, was so gemacht werden kann:

sudo apt install ppa-purge

Wenn die Aktualisierung keine Option ist (zu alt für eine Karte, Firmenrichtlinien usw.):

Kai-Heng Feng von Launchpad war so freundlich, eine Version von Unity auf seine eigene PPA hochzuladen (ppa:kaihengfeng/lp1292830) das sollte dieses Problem beheben. Um dieses Problem zu lösen, fügen Sie einfach seinen PPA hinzu, indem Sie folgende Befehle ausführen:

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

Wenn Sie fertig sind, starten Sie Ihr System neu oder starten Sie X11 neu, indem Sie sich abmelden und dann wieder starten.

Alternativ können Sie auch Folgendes tun:

  • Wechseln Sie zur Intel-Karte
    Wenn Sie NVIDIA Prime ausführen, können Sie auf die Intel-Karte wechseln, wodurch dieses Problem behoben wird. Beachten Sie jedoch, dass das System die volle Grafikleistung nicht nutzen kann.
  • Downgrade-Treiber
    Gemäß einige Kommentare zum Bug-ReportDas Herunterstufen auf NVIDIA-Treiber 367.57 sollte das Problem vollständig beheben. Da dies in den PPAs nicht mehr vorhanden ist, müssen Sie es direkt von NVIDIA herunterladen (64-Bit)  (32-Bit)  (32-Bit-ARM).

6
2018-03-28 05:59



367 scheint nicht mehr zu existieren, sowohl in den offiziellen Ubuntu - Repos als auch in den graphics-drivers/ppa PPA, dieses Paket ist ein "Übergangspaket für nvidia-375Wenn Sie es installieren, erhalten Sie automatisch die Buggy 375 Version. Wenn Sie eine Quelle kennen, von der Sie den alten 367-Treiber erhalten, sollten Sie ihn in Ihre Antwort aufnehmen. - Byte Commander
@ByteCommander erledigt - Kaz Wolfe
Für den Fall, dass Sie es verpasst haben, ist der gepatchte Fahrer jetzt im offiziellen Repo. - Android Dev


Die von Victor A. vorgeschlagene Lösung funktioniert gut. Sie sollten jedoch beachten, dass die Skripte in platziert wurden /lib/systemd/system-sleep/ werden ausgeführt, wenn der Computer einschläft und wenn er aufwacht. Angesichts der Tatsache, dass wir nur das Spätere wollen, verlangsamt die Verwendung des vorgeschlagenen Skripts den Prozess des Einschlafens unnötigerweise. Ich empfehle folgendes:

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

Eine Warnung, obwohl. Dieses Skript (wie auch das von Victor A. vorgeschlagene) deaktiviert den Bildschirm zur Passwortabfrage beim Aufwachen und stellt somit ein Sicherheitsrisiko dar.


3
2018-03-28 04:08





Dieses Problem wurde auch in dem Nvidia 375.66-Treiber behoben, der sich in den normalen Repositorys befindet und durch die normalen Updates installiert werden sollte.


3
2017-07-01 19:35



Nettes Detektiv! Ich habe meine Antwort aktualisiert, um diese neue Entwicklung widerzuspiegeln, und Ihnen für die Entdeckung, dass es jetzt eine gepatchte Version im offiziellen Repo gibt, gutgeschrieben :) - Android Dev