Was ist Screen Tearing und wie man es unter Linux loswird

Stop Screen Tearing On Linux

Leider ist Screen Tearing für Linux-Fans ein hartnäckiges Ärgernis, das anscheinend nicht verschwinden wird. Es gibt einige Faktoren, die die Langlebigkeit des Problems mit Screen Tearing ermöglichen.

Zuerst, und wahrscheinlich am offensichtlichsten, ist der veraltete, fehlerhafte und aufgeblähte X-Server. Selbst mit den Fortschritten von Wayland wird X in naher Zukunft bleiben. Als nächstes ist das seltsame und inkonsistente Bild der Grafikkartentreiber zu nennen. Einer der größten Übeltäter, der Screen Tearing verursacht, ist auch der beliebteste GPU-Hersteller unter Linux, NVIDIA. Wenn man dann noch verschiedene Desktop-Umgebungen mit ihren eigenen Anzeigeeinstellungen und Compositors hinzufügt, hat man ein echtes Durcheinander.

Diese Methoden werden hoffentlich Screen Tearing in den meisten Situationen beseitigen, aber es ist unmöglich, eine universelle Lösung anzubieten, dank der Vielzahl an Variablen, die beteiligt sind. Probieren Sie aus, was auf Ihr System zutrifft, und denken Sie daran, dass möglicherweise neue Faktoren beteiligt sind.

Lesen Sie auch: Brauchen Sie einen 360 Hz Monitor? Ultra-Hohe Bildwiederholraten erklärt

NVIDIA

Dies ist nicht die einzige Lösung für NVIDIA, und es gibt sicherlich Situationen, in denen sie nicht zutrifft, aber es ist eine der besseren Optionen, und sie verlässt sich nicht auf das grafische Dienstprogramm von NVIDIA, das nicht immer gut mit den Konfigurationen der Desktop-Umgebung funktioniert.

Um zu beginnen, müssen Sie die Einstellung für das NVIDIA DRM-Modul (modsetting) aktivieren. Beginnen Sie damit, eine Konfigurationsdatei im modprobe-Verzeichnis zu erstellen.

sudotouch/etc/modprobe.d/nvidia-nomodset.conf

Öffnen Sie diese Datei mit Ihrem bevorzugten Texteditor und fügen Sie die folgende Zeile ein:

options nvidia-drm modset=1

NVIDIA Modsetting Config

Aktualisieren Sie das initramfs Ihres Kernels, um Ihre Änderung anzuwenden.

sudo update-initramfs -u

Wenn das erledigt ist, starten Sie neu. Ihr Computer wird wieder hochfahren, und alles sollte flüssiger sein, aber Sie sind noch nicht ganz fertig.

Swap kann Ihnen in der Not helfen, aber für etwas wie Grafiken ist es ziemlich schrecklich. Das Beste, was Sie hier tun können, um die Leistung zu steigern, ist, die Neigung Ihres Computers zur Nutzung des Swap-Speichers zu reduzieren. Beginnen Sie damit, Ihre aktuelle “Swappiness” zu überprüfen.

cat/proc/sys/vm/swappiness

Linux Swappiness

Das wird wahrscheinlich “60” zurückgeben. Das ist der Standardwert, aber Sie können ihn viel niedriger einstellen. Öffnen Sie “/etc/sysctl.conf” und fügen Sie die folgende Zeile am Ende der Datei hinzu:

vm.swappiness=15

Sie können den Wert basierend auf der Menge an RAM, die Sie haben, einstellen. 5 bis 15 ist normalerweise der Bereich, mit dem Sie sicher arbeiten können. Setzen Sie Ihren Computer zurück, und alles sollte flüssiger sein.

Intel

Intel-Grafiken unter Linux sind normalerweise nicht allzu problematisch. Das liegt wahrscheinlich daran, dass integrierte Grafiken normalerweise weniger Funktionen haben und der Intel-Treiberstapel größtenteils Open Source ist. Für Screen Tearing bei Intel kommt die Lösung normalerweise in Form einer zusätzlichen Konfiguration.

Da Intel Open-Source-Treiber verwendet, wird die Xorg-Konfiguration Ihr direktester Weg sein. Erstellen Sie eine Datei unter “/etc/X11/xorg.conf.d/20-intel.conf” und platzieren Sie den folgenden Codeblock darin:

Section "Device"  
    Identifier "Intel Graphics"  
    Driver "intel"  
    Option "TearFree" "true"  
EndSection

Wenn Sie fertig sind, speichern Sie und starten Sie neu.

VSYNC

Vsync ist ein Versuch, Ihre Software-Bildwiederholrate mit der Standard-Bildwiederholrate Ihrer Monitorhardware zu synchronisieren. In der Theorie ist es eine großartige Idee, alles so flüssig wie möglich zu machen. In der Praxis erfüllt es manchmal sein Potenzial, und manchmal macht es Ihre Grafiken zu einem instabilen Durcheinander. Wenn Sie Vsync verwenden und Screen Tearing erleben, versuchen Sie, es zu deaktivieren. Wenn Sie Vsync nicht verwenden, könnte es genau das sein, was die Dinge in Ordnung bringt.

KDE

KDE Compositing Controls

KDE hat einige großartige Steuerungen, sodass dies alles über die KDE Plasma-Einstellungen erledigt werden kann. Öffnen Sie die Einstellungen-Anwendung und finden Sie “Hardware” auf der Seite. Unter dieser Überschrift finden Sie die Anzeigeeinstellungen. Klicken Sie darauf. Der Hauptteil des Fensters wird mit Anzeigeeinstellungen gefüllt. Die Registerkarten auf der Seite wechseln. Wählen Sie “Compositor.” Suchen Sie die Option “Tearing prevention” und setzen Sie sie auf “Full screen repaints.” Wenn Sie fertig sind, wenden Sie die Änderung an.

Kwin, der KDE-Compositor, ist manchmal auch Teil des Problems. Er folgt seinen eigenen Regeln. Es gibt eine einfache Konfiguration, die Sie hinzufügen können, um Kwin flüssiger zu machen.

Erstellen Sie eine neue Datei unter “/etc/profile.d/kwin.sh.” Öffnen Sie diese Datei und fügen Sie die folgende Zeile ein:

export KWIN_TRIPLE_BUFFER=1

Melden Sie sich von KDE ab und wieder an, damit die Änderung wirksam wird.

GNOME

Das ist eine ziemlich schlechte Antwort, aber es gibt keine Einstellung direkt in GNOME, um Vsync zu verwalten, aber es kann trotzdem wirklich helfen. Wenn Sie GNOME mit Intel- oder NVIDIA-Grafiken ausführen, folgen Sie den obigen Anweisungen. Wenn Sie AMD verwenden, fügen Sie die folgende Zeile zu Ihrer Xorg-Konfiguration hinzu:

Option "TearFree" "true"

XFCE

XFCE ist berüchtigt für Screen Tearing. Es war schon immer ein Problem, und es kann ernsthaft im Weg stehen. Es gibt jedoch eine ziemlich einfache Lösung. Alles, was Sie tun müssen, ist, den Compositor von XFCE zu entfernen und ihn durch einen anderen zu ersetzen, in diesem Fall Compton.

XFCE Disable Compositing

Öffnen Sie die XFCE-Einstellungen und suchen Sie die Einstellungen des Fenstermanagers. Klicken Sie auf die Registerkarte “Compositor” und deaktivieren Sie das Kontrollkästchen “Enable display compositing.” Wenden Sie die Einstellungen an.

Installieren Sie als Nächstes Compton. Es ist ein unabhängiger Compositor, der sehr gut mit leichten Desktops funktioniert. Der Befehl hier ist für Debian-basierte Distributionen, aber Compton ist in fast jeder beliebten Distribution verfügbar.

sudo apt install compton

XFCE Run Compton At Start

Gehen Sie zurück zu den XFCE-Einstellungen. Klicken Sie diesmal auf “Session and Startup.” Fügen Sie eine neue Anwendung hinzu, die beim Start ausgeführt werden soll. Falls Sie es noch nicht erraten haben, ist diese Anwendung Compton. Fügen Sie den folgenden Befehl als Ihren Befehl ein. Er enthält mehrere wichtige Optionen, um Compton optimal auszuführen.

/usr/bin/compton --backend glx --paint-on-overlay --vsync opengl-swc

Speichern Sie und beenden Sie. Sie können sich entweder abmelden und wieder anmelden oder den Befehl ausführen, um Compton zu starten.

Diese Methoden sind alles hervorragende Möglichkeiten, um Ihre Probleme mit Screen Tearing unter Linux zu versuchen zu lösen. Sie funktionieren möglicherweise nicht für jeden, aber mit etwas Glück funktionieren sie für Sie. Hoffentlich wird das Problem mit Screen Tearing schließlich dauerhaft gelöst, während weitere Fortschritte bei Linux-Grafiktreibern, Desktop-Umgebungen und Wayland gemacht werden.