
Ich habe eine GeForce RTX 2070 SUPER und lasse Arch mit GNOME auf meinem Computer laufen.
Ich erinnere mich, dass ich vor den letzten Nvidia-Treiberupdates (insbesondere von 450.66-21 auf 450.66-22 auf Arch) Screen Tearing hatte, aber die Aktivierung von Full Composition Pipeline konnte das beheben. Nach dem Update kam das Screen Tearing jedoch wieder. Das Upgrade auf Nvidia-455 hat das Screen Tearing nicht behoben. Während des gesamten Vorgangs war Full Composition Pipeline aktiv und konnte einige Screen Tearings reduzieren, aber nicht immer alle.
Ohne Kernel-Moduseinstellung und ohne weitere Optionen für meine xorg.conf außer Full Composition Pipeline gibt es kein Screen Tearing, aber es gibt Suspend-Probleme. Ich sehe direkt nach dem Aufwachen einen leeren Bildschirm, der für ein oder zwei Sekunden hängt, bevor der Bildschirm geladen wird. Ein solches Suspend-Problem trat vor den oben genannten Nvidia-Treiberupdates nicht auf. Nachdem der Bildschirm geladen ist, haben einige Anwendungen (z. B. Anki und Vscode) schwarze Artefakte und andere grafische Probleme. Beispielsweise ist in Anki der gesamte Bildschirm schwarz, während ich in Vscode einige schwarze Rechtecke seitlich sehe und der Text für die Terminaleingabeaufforderung verschwindet. Das Ändern der Arbeitsbereiche beseitigt den leeren Anki-Bildschirm, während das Bewegen der Maus über die Artefakte und das erneute Öffnen des In-Application-Terminals Vscode-Probleme behebt. Trotzdem ist dies ein äußerst ärgerliches Problem, das auch einige GNOME-Designs betrifft, die ich anzuwenden versuchte. Ich vermute, dass dasselbe Problem auch andere Anwendungen betrifft.
Ich habe bis zu anderthalb Stunden damit verbracht, das Problem im Internet zu recherchieren und verschiedene Lösungen auszuprobieren, aber ohne Erfolg.
Modesetting (z. B. nvidia-drm.modeset=1) ohne TripleBuffering- und IndirectGLXProtocol-Optionen in xorg.conf führt nicht zu Suspend-Problemen, aber zu deutlichem Screen Tearing
Das Einschalten von TripleBuffering und/oder das Ausschalten von IndirectGLXProtocol führt zu den oben genannten Suspend-Problemen, jedoch nicht zu Screen Tearing (mit und ohne Kernel-Moduseinstellung).
Wie Sie sehen, habe ich entweder Screen Tearing, aber keine Suspend-Probleme oder kein Screen Tearing und Suspend-Probleme. Ein Downgrade nur der Nvidia-Pakete auf eine Version vor dem Treiberupdate, das mein Setup kaputt gemacht hat, macht Lightdm kaputt. Ein Downgrade auf einen Mirror am 17. September (vor dem Treiberupdate) ist machbar, aber nicht ideal, da ich lieber Softwareupdates mit grafischen Unannehmlichkeiten hätte als einen Computer, der in der Zeit stecken bleibt.
Ich bin nicht ganz sicher, ob es sich hier speziell um ein Problem mit dem NVIDIA-Treiber handelt, aber angesichts der oben genannten Ereignisse halte ich es für durchaus plausibel.
Bitte sagen Sie mir, ob bei Ihnen die gleichen Probleme auftreten. Ich würde auch gerne wissen, welche Lösungen Sie ausprobiert haben.
Antwort1
Ich habe das Problem gelöst!
Die netten Leute in den Arch Linux-Foren haben die Inkonsistenzen beim Screen Tearing identifiziert, die ich während des Bootvorgangs mit Race Conditions hatte. Wenn das NVIDIA-Modul richtig geladen wird, habe ich kein Screen Tearing. Wenn nicht, greift der Computer auf einen anderen Treiber zurück (ich bin ziemlich sicher, dass es Nouveau ist) und es kommt zum Screen Tearing. Um das zu beheben, stelle ich sicher, dass NVIDIA-Module immer richtig geladen werden, indem ich die NVIDIA-Module wie folgt zur MODULES
Liste in /etc/mkinitcpio.conf hinzufüge:
MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
Ich habe auch erfahren, dass die Grafikprobleme, die ich hatte, dadurch verursacht werden, dass Nvidia während eines Suspends vermeintlich „unnötigen“ Videospeicher entsorgt. Um dies zu beheben, habe ich das Nvidia-Modul mit einer experimentellen Option geladen, indem ich diese Zeile zu meiner /etc/modprobe.d/nvidia.conf hinzugefügt habe:
options nvidia NVreg_PreserveVideoMemoryAllocations=1
Schließlich habe ich das Initramfs-Image neu erstellt sudo mkinitcpio -p linux
und einen Neustart durchgeführt. Nvidia lädt jetzt während des Bootvorgangs konsistent (ich merke es daran, dass es kein Screen Tearing mehr gibt!) und alle Grafikprobleme für Anki und Vscode sind verschwunden.