Wie entferne ich Bildschirmrisse in 16.04 mit NVIDIA GTX 960 M?

12

Meine 16.04-Installation leidet unter einem ziemlich schlechten Bildschirmriss. Wenn ich ein Fenster zum Beispiel seitlich über den Bildschirm ziehe, wird es fragmentiert, sodass der untere Rand etwas hinter dem oberen Rand liegt, und wenn ich ein Video ansehe, befindet sich der untere Rand des Bildschirms einige Frames hinter dem oberen Rand.

Ich habe die in den folgenden Fragen angegebenen Lösungen ausprobiert, aber keine hat leider geholfen:

Meine Grafikkarte ist eine Nvidia GeForce GTX 960M, die ich verwende NVIDIA binary driver - version 361.42 from nvidia-361.

Dieses Problem trat auch auf, als ich 15.10 ausführte.

Gilly
quelle
buchstäblich scheint nichts zu funktionieren, um dies zu beheben. Nur auf Intel-Grafik umsteigen, das nervt.
Riki137
@ Riki137 Wie wechselt man wieder zu Intel-Grafiken?
user3728501
Was am 15.10 / 16.04 passierte, um lokale Änderungen zu verhindern, war auf einen vermeintlichen Mesa-Bug zurückzuführen. Das so genannte Fix bestand darin, unter Verwendung der nvidia-Treiber über nvidia-prime zum Modesetting für Intel zu wechseln. Die Option "Tearfree" kann nicht mit Modesetting verwendet werden. Es wird verhindert, dass auf "SNA" umgeschaltet wird. Es ist möglich, dies zu umgehen, indem Sie ubuntu-drivers-common ändern und die Ruhezeit ändern, damit Unity Greeter den Mesa-Bug umgehen kann. Werde aber als Antwort hier keine nicht 100% saubere Lösung posten. (hat vielleicht einen Beitrag in UF) Es gibt einen Fix in xserver, der nächstes Jahr in Ubuntu auftauchen könnte. (oder benutze 14.04
doug 16.10.16
1
Ich hatte auch dieses Problem mit Nvidia Quadro M1200, auch nach dem Aktualisieren des Treibers (auf Version 381.09), das nur durch Umstellen auf die Intel-GPU wie in der Antwort von @ qwr unten gelöst wurde.
Garrett

Antworten:

15

Einfache Lösung, die ich auf / g / gefunden habe. Fügen Sie diesen Befehl Ihren Startbefehlen hinzu

nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

Dies funktioniert natürlich, wenn Sie Nvidia-Treiber verwenden.

EDIT: Also für Multimonitor-Setups würde ich vorschlagen, mit dem Nvidia X server settingsProgramm zu gehen X Server Display Configurationund zu verwenden Save to X configuration file. Jetzt suchen /etc/X11/xorg.confund { ForceCompositionPipeline = On}nach jeder Monitoreinstellung hinzufügen (die + 0 + 0 und + etwas + Etwas)

Zusätzlich können Sie Ihre Startbefehle ausführen sudo apt install comptonund ergänzen compton.

BEARBEITEN: Ich weiß nicht, wie lange dies der Fall war, aber das Programm NVIDIA X Server-Einstellungen nvidia-settingsbietet die Option, ForceFullCompositionPipeline grafisch auszuführen. Klicken Sie im Menü "X Server Display Configuration" auf "Advanced ..." (Erweitert), aktivieren Sie "Force Full Composition Pipeline" (Vollständige Kompositionspipeline erzwingen) und klicken Sie auf "Save to X Configuration File" (In X-Konfigurationsdatei speichern). Wenn Sie keinen vordefinierten Pfad zur Konfigurationsdatei haben, geben Sie ihn /etc/X11/xorg.confin das Textfeld Dateipfad ein und speichern Sie ihn.

Managor
quelle
1
Danke, das hat funktioniert, aber es hat auch einen meiner Monitore schwarz gemacht.
nana
... Wenn dies passiert, aktivieren Sie diese Anzeige erneut in den Anzeigen.
Nana
Was meinst du damit /g/?
Garrett
3
Denken Sie daran, dass Sie dies in Ihrem Terminal testen können, um festzustellen, ob es funktioniert (bevor Sie es zu Ihrem Startskript hinzufügen und sich erneut anmelden). Leider hat dies bei mir nicht funktioniert (Nvidia Quadro M1200, nVidia Version 381.09).
Garrett
Hat auch bei mir nicht funktioniert. Ausführen von GF940M. Scheint, als ob M-Chips oder Computer mit aktivierter integrierter Grafik dies nicht können.
dat tutbrus
4

Die einzige Lösung, die ich bisher ausprobiert habe, ist nicht großartig, aber es ist etwas: Verwenden Sie die Intel-GPU anstelle der Nvidia-GPU . Es reduziert die meisten Bildschirmrisse.

nvidia-settingsGehen Sie in den Nvidia X Server-Einstellungen ( ) zu PRIME-Profile und wählen Sie Intel (Stromsparmodus) . Alternativ sudo prime-select intel.

Ich verwende nvidia-370, die derzeitige offizielle Version, mit Nvidia 940MX. Ironischerweise ist ihr Fahrer immer noch schlechter als die von Intel. Positiv zu vermerken ist, dass sich meine Akkulaufzeit fast verdoppelt hat, was einen guten Kompromiss darstellt.

Update: Mit den Standard-Intel-Treibern für Kernel 4.7.0 gibt es überhaupt keine Probleme mit dem Bildschirmabriss. nvidia-387 mit nomodeset in grub scheint in ordnung zu sein, aber die helligkeitsänderung ist deaktiviert, daher verwende ich es momentan nicht.

qwr
quelle
1

Dies kommt ein bisschen spät, aber ich würde Ihnen ehrlich empfehlen, auf XFCE4 oder ein ähnliches Non-Compositing-DE umzusteigen. Zumindest in meinem Fall (Lenovo Y580, opensuseLeap 42.1 + bumblebee) habe ich so Bildschirmrisse und langsames Scrollen in Firefox beseitigt. Prost!!!!

Gast
quelle
2
Der Versand eines Problems und die Lösung eines Problems sind verschiedene Dinge. aber es ist schön, dass Sie Ihre Erfahrungen hier teilen. Willkommen bei AskUbuntu!
Mook765
Vielen Dank für den Vorschlag - selbst XFCE konnte meine Probleme mit dem Bildschirm nicht lösen. Ich denke, mein Laptop ist vielleicht verflucht. Hoffe, dass diese Problemumgehung jemand anderem helfen kann.
Gilly
1

Ich habe dieses Problem seit Ewigkeiten, jetzt habe ich nur den Nouveau-Treiber installiert. Versuchen Sie die Lösung aus diesem Beitrag, ich würde mich interessieren, ob es funktioniert: http://ubuntuforums.org/showthread.php?t=2235382

Auch das vielleicht? Aber es hat nicht funktioniert für mich ... https://psyq123.wordpress.com/2015/09/20/another-way-to-fix-tearing-and-vsync-issues-using-the-nvidia-driver /

Ok, habe einiges getan, aber ich habe es wie folgt behoben:

Öffnen Sie eine CLI und führen Sie Folgendes aus:

sudo nvidia-xconfig

Dann:

sudo nvidia-settings

Stelle deine Bildschirmauflösung und Bildwiederholfrequenz in den XserverEinstellungen ein (ich habe meine auf 1920x1200 @ 60hz eingestellt) und speichere sie inxorg.conf

Dann mach:

sudo nano /etc/X11/xorg.conf

Bearbeiten Sie den Geräteabschnitt folgendermaßen:

Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 650"
Option "RegistryDwords" "PerfLevelSrc=0x2222"
Option "TripleBuffer" "True"
EndSection

Dadurch wird die Karte in den Leistungsmodus versetzt und die dreifache Pufferung aktiviert.

Im nvidia-settings/OpenGLSet:

Sync to Vblank
Allow Flipping
Use Conformant Texture Clamping

Speichern Sie Ihre Konfiguration und starten Sie den X-Server neu.

draoi
quelle
3
Ich konnte in den nvidia-Einstellungen keine Option zum Ändern der Bildwiederholfrequenz finden, und ich konnte auch nicht die Option zum Festlegen von "Synchronisieren" auf "Erlöschen", "Spiegeln zulassen" oder "Konformes Textur-Clamping verwenden" finden. Das Ändern meiner xorg.conf hat nicht geholfen, vielleicht weil ich mehr als einen DeviceAbschnitt habe. Vielen Dank für die Antwort!
Gilly
Wirklich frustrierendes Problem ... mehr dazu hier: youtube.com/watch?v=-55y5sgHcbo (funktioniert auch bei mir nicht)
draoi
Hat leider auch bei mir nicht geklappt. Ich verwende momentan nur Intel-Grafiken und hoffe, dass dies durch ein Update behoben wird. Es scheint eine Menge Leute zu geben, die von diesem und ähnlichen Problemen betroffen sind.
Gilly
Wo ist die "Vblank erlaubt das Umdrehen mit konformer Texturklemmung"?
user3728501
Ich weiß nicht, es sieht so aus, als ob diese Option jemals existiert hätte. Zumindest vom NVIDIA-Treiber, der über den Treiber-Manager installiert wird. Möglicherweise könnten Sie versuchen, den nvidia-Treiber von der nvidia-Website zu installieren, aber Sie laufen Gefahr, Ihr System zu beschädigen.
Draoi