Bildschirm wird (langsam) nach Vollbild-Apps schwarz

13

Wenn ich bestimmte Anwendungen im Vollbildmodus verwende, wird mein gesamter Bildschirm langsam von oben nach unten von einem schwarzen Filter überdeckt (siehe dieses YouTube-Video ).

Wenn Sie versuchen, den Bildschirm zu aktualisieren (z. B. einen Mauszeiger zu bewegen oder ein Spiel einen neuen Rahmen zu zeichnen), beginnt der schwarze Balken wieder von oben. Dies kann auch zu Flimmern und Verfärbungen auf dem Bildschirm führen.

Bestimmte Anwendungen (wie Firefox und das Terminal) zeigen dieses Verhalten nicht, andere (wie Google Chrome, Discord und verschiedene Spiele) jedoch. Keine Anwendungen zeigen dieses Verhalten, wenn sie mit dem Nouveau-Treiber ausgeführt werden.

Wenn Sie zu einer ständig aktualisierten Anwendung (wie dem Unity-Desktop) zurückkehren, wird der schwarze Bildschirm nicht mehr angezeigt, es tritt jedoch auch ein leichtes Flackern auf, das mit der Zeit verblasst.

Ich kann keinen Screenshot machen oder aufnehmen. Dies deutet darauf hin, dass dies eine niedrigere Ebene als der X-Server oder mein Display-Manager ist.

Dieser Fehler scheint bei einer Gastsitzung nicht aufzutreten (oder ich konnte ihn dort noch nicht reproduzieren), was darauf hindeutet, dass etwas mit einer schlechten Konfiguration zu tun hat. Allerdings Erstellen eines neuen Kontos wird diesen Fehler mit sich bringen.

Was ist los? Ist das nur ein Treiberfehler? Ist dies ein Konfigurationsfehler, der nur irgendwie behoben werden muss?

Aktuelle Liste der getesteten Dinge ™ (das hat nicht funktioniert):

  • Setzen Sie alle Unity-Konfigurationen zurück
  • Löschen Sie die NVIDIA-Einstellungsdatei und erstellen Sie sie neu
  • Deinstallieren Sie die NVIDIA-Treiber und installieren Sie sie erneut
  • Verwendung älterer NVIDIA-Treiber
  • Verwenden eines alternativen Anzeigemanagers ( xdm)

Wenn Sie die Hardwarebeschleunigung in Chrome deaktivieren, funktioniert sie zwar ohne dieses Problem, das zugrunde liegende Problem ist jedoch noch nicht behoben. Es ist nicht immer eine Option, die Hardwarebeschleunigung zu deaktivieren.

Wenn möglich, würde ich es vorziehen, ein Profil nicht zurückzusetzen oder wieder auf Open-Source-Treiber umzuschalten. Dies sind für mich beide letzte Auswege, und ich weiß immer noch nicht, warum dies passiert ist. Das bedeutet, dass ich einen Fehler nicht melden oder vermeiden kann, ihn versehentlich in meinem neuen Profil auszulösen, wenn ich diesen Weg gehe.


Betriebssystem: Ubuntu 16.04 LTS
Kernel: 4.10.0-36-generisch, 4.11.0-14-generisch
Grafikkarte: Nvidia GTX 1080 (nicht Optimus)
GC-Treiber: NVIDIA 387.12, Repro mit 384.90 und 381.22

Kaz Wolfe
quelle
Das Problem tritt also nicht auf, wenn Sie es verwenden, nouveauund es tritt auch nicht auf, wenn Sie es entweder nvidiaoder zusammen nouveaumit einem Gastbenutzer verwenden. Sie haben keine Ahnung, wann dies begann und was Sie damals vielleicht getan haben, oder?
Dessert
1
Ich habe es im Jugendstil nicht bemerkt, obwohl ich zugebe, das nicht gründlich zu testen. Ich konnte es auch nicht in der Gastsitzung reproduzieren. Ich werde das testen, nur um sicherzugehen.
Kaz Wolfe
Gelöschte Antwort, da es nicht zu funktionieren scheint. Ping mich an, wenn niemand eine Lösung finden kann. Pingen Sie mich auch mal im Chat an, wenn ich online bin, damit wir das genauer untersuchen können ...
Fabby,
@Fabby Zögern Sie nicht, dem oben verlinkten Chatroom Dessert beizutreten. Ich beantworte alle diesbezüglichen Fragen so bald wie möglich.
Kaz Wolfe

Antworten:

6

Aktivieren Sie in der App die Option " Kompositionspipeline erzwingen" oder " Vollständige Kompositionspipeline erzwingen" auf dem betroffenen Bildschirm nvidia-settings.

Zu klickende Sache

Klicken Sie anschließend auf Übernehmen . Der Bildschirm kann kurz flackern, das Problem wird jedoch sofort behoben.


Wenn Sie lieber keine echte Xorg.confDatei haben möchten (normalerweise eine gute Idee), platzieren Sie alternativ Folgendes in /usr/share/X11/xorg.conf.d/20-nvidia.conf(erstellen, wenn es nicht existiert):

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    Option         "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
EndSection

Starten Sie Ihren Display Manager mit neu systemctl restart lightdm.serviceund es wird einwandfrei funktionieren.


Haftungsausschluss: Ich habe keine Ahnung, wie dies das Problem behebt. Das tut es einfach.

Kaz Wolfe
quelle