Wie gängig ist Screen-Tearing unter Linux?

Stannis

Lieutenant
Registriert
Juli 2011
Beiträge
602
Ich habe meinen Rechner (Signatur), den Ich oft mit Ubuntu 16.10 nutze mit massivem Screen Tearing (Browser, Text-Dokumente, Spiele mit aktiviertem V-Sync) - was noch einigermaßen verständlich ist, da die RX480 sehr neu ist.

Nebst dem habe Ich ein Thinkpad mit dem Chip Intel HD Graphics 3000 mit Lubuntu 16.04 und dort ebenfalls, vor allem beim Scrollen von Text, ein recht ekliges Tearing-Problem.

Ist das bei Linux normal oder liegt es an mir?
 
Auf meinem ThinkPad x240 kann ich Tearing im Browser mit lubuntu 16.04 LTS beobachten.

Ein alter Desktop mit der gleichen Distribution und X3000 Grafik hat keine Probleme.
 
"apt remove xserver-xorg-video-intel*" + reboot fixt zumindest für intel das tearing problem. eine technische erklärung habe ich grade nicht parat. ich finde die seite nicht mehr, wo ich das gefunden habe als ich selber betroffen war :)

ich glaube aber, dass irgendein generischer codeanteil was übernimmt, was der intel treiber nicht richtig gemacht hat.
 
Zuletzt bearbeitet:
Das ist leider immer noch eines der am häufigsten auftretenden Probleme unter Linux (neben WLAN). Hier hilft nur googlen ob es für das verwendete Gerät bzw die GPU spezielle settings gibt die besser funktionieren. Bei vielen funktioniert bspw DRI oder die no_tearing Option besser.
 
Seit der Intel-Treiber weg ist, bin ich auch weitgehend von tearing befreit (Debian Testing, Haswell+HD4600)
 
Für die 480 solltest du das bekannte ppa oibaf eintragen und das System updaten. Bei der Intel könnte es auch helfen. Da das Team für beide was macht.

Am WE musste ich feststellen das Ubuntu bei Games eh eine ganz schlechte Leistung hat. Arch mit den neuen Mesa 17 für AMD Karten läuft wesentlich besser.
 
Zuletzt bearbeitet von einem Moderator:
obz245 schrieb:
Für die 480 solltest du das bekannte ppa oibaf eintragen und das System updaten. Bei der Intel könnte es auch helfen. Da das Team für beide was macht.
16.10 hat doch schon einen Treiber im Kernel integriert, der entsprechend mit aktualisiert wird, wenn's was Neues gibt, oder?

Sakphul schrieb:
Bei vielen funktioniert bspw DRI oder die no_tearing Option besser.

Diese Einstellungen kann man doch nur bei manchen Geräten vornehmen?
 
Du verwechselst hier wohl gerade den Kernel Treiber mit dem Xorg Treiber.
Der Kernel Treiber von intel (i915 in deinem Falle) ist natürlich im Kernel dabei, der ist aber nicht für die 2D Beschleunigung auf dem Desktop verantwortlich, sondern der Xorg Treiber. Für Intel empfiehlt es sich eigentlich immer den intel xorg Treiber zu entfernen (da der mit der SNA beschleunigung erhebliche Probleme verursacht) zu entfernen und den integrierten Modesetting mit Glamor 2D Beschleunigung zu nutzen (der wird automatisch aktiviert, wenn du den intel xorg Treiber entfernst).
 
Bei der Rx480 taucht das Problem aber auch im dreidimensionalen auf.
 
Auch dafür ist nicht der Kernel Treiber verantwortlich, sondern die Userspace 3D Implementierung Mesa, die die Treiber dafür bereitstellt. http://mesa3d.org
 
Zuletzt bearbeitet:
Das kann man auch einfach damit überprüfen, indem man die manpage des Treibers aufruft und dann bei Options nachschaut ob die da genannt wird, bei den AMD Treibern also mit "man radeon" oder "man amdgpu" im Terminal.
 
Ich knalle dir mal meine Konfiguration vor den Latz:
Code:
[me@workstation ~]$ cat /etc/X11/xorg.conf.d/20-amdgpu.conf 
Section "Device"
    Identifier "POLARIS10"
    Driver "amdgpu"
    Option "DRI" "3"
    Option "TearFree" "true"
EndSection

Damit solltest du kein Tearing mehr erleben.
 
Warum hat mein System kein Verzeichnis /etc/X11/xorg.conf.d/
Oo
 
Unter Ubuntu ist das nicht standardmäßig angelegt, aber ist nicht schlimm. Einfach per Terminal manuell erstellen und dann die datei da platzieren (natürlich mit root Rechten).
 
Tatsächlich.... vielen vielen Dank. Ich dachte schon Ich muss hier noch Jahre auf eine Lösung warten...
Verwunderlich, warum eine Standard-Ubuntu-Installation diese Optionen nicht schon per default gesetzt hat.

@L0g4n:
Wie ist das denn nun technisch, du sagtest für tearfree sei mesa zuständig, die nötige Option findet sich aber in der manpage vom amdgpu-treiber. Was konfiguriert die Datei 20-amdgpu.conf denn nun?

Ich muss mir das morgen nochmal für die Intel-Karte ansehen. Wäre schön, es auch da loszuwerden.
 
@Stannis:
Ich sagte nicht dass Mesa für Tearfree verantwortlich sei. Ich sagte der Xorg Treiber ist für die 2D Beschleunigung verantwortlich (glamor).
Mesa ist für OpenGL, Vulkan, etc. verantwortlich (3D Grafikbibliothek).

Die Konfigurationsdatei konfiguriert den amdgpu Xorg Treiber. Wenn du einfach mal z.B. man amdgpu auf der Konsole eingibst steht da ja auch: "amdgpu is an Xorg Driver for AMD RADEON-based video cards ...". Also gibt es einerseits den amdgpu Kernel Treiber und der Xorg DDX Treiber heißt auch amdgpu.

Das was ich oben geschrieben hatte bezog sich auch auf die Intel Treiber i915 (Kernel) vs. intel (Xorg) vs. Modesetting (Xorg).

LG
 
Zuletzt bearbeitet:
Stannis schrieb:
Ich muss mir das morgen nochmal für die Intel-Karte ansehen. Wäre schön, es auch da loszuwerden.

Auch beim Xorg-Intel-Treiber gibt es die Option "TearFree":
https://wiki.archlinux.org/index.php/Intel_graphics#Tear-free_video

Das geht aber nicht mehr, wenn der Treiber deinstalliert wurde, wie weiter oben empfohlen.



Edit: Der Vollständigkeit halber, weil zum Thread-Titel passend, noch die Lösung für die proprietären NVIDIA-Treiber:

/etc/X11/xorg.conf.d/20-nvidia.conf
Code:
Section "Device"
        Identifier "Nvidia Card"
        Driver "nvidia"
        Option "ForceFullCompositionPipeline" "true"
EndSection

Quelle: http://us.download.nvidia.com/XFree86/Linux-x86_64/375.26/README/xconfigoptions.html
Das ist im Prinzip ein Compositing direkt vom Treiber aus. Andere compositors kann man dann abschalten, wenn man sie nur zur Tearing-Vermeidung verwendet.
 
Zuletzt bearbeitet:
Zurück
Oben