18.04 – Screen Tearing mit NVIDIA GTX 970

18.04 – Screen Tearing mit NVIDIA GTX 970

Ich scheine Probleme mit Screen Tearing in Ubuntu 18.04 zu haben, was durch Ausführen dieses Tests bestätigt wurde:

https://www.youtube.com/watch?v=MfL_JkcEFbE

Ich habe eine Weile bei Google gesucht, aber alles, was ich gefunden habe, waren Empfehlungen, die Datei zu ändern /etc/modprobe.d/nvidia-drm-nomodeset.confund hinzuzufügen

options nvidia-drm modeset=1

Aber das hat nichts gebracht.

Dies sind die Treiber, die ich verwende:

Bildbeschreibung hier eingeben

Was kann ich tun, um das Problem zu beheben?

Aktualisieren:

Dies ist meine X-Konfiguration:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 418.56

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DELL U2719D"
    HorizSync       30.0 - 90.0
    VertRefresh     56.0 - 76.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 970"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-4"
    Option         "metamodes" "DP-2: nvidia-auto-select +1080+618, DP-0: nvidia-auto-select +0+0 {rotation=right}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Antwort1

Mein Laptop hat die gleiche Karte ohne Tearing. Beachten Sie jedoch, dass ich Version 384 verwende und keine höhere Versionsnummer brauche, die mein Setup verkomplizieren könnte. Während der Systemeinrichtung habe ich den üblichen Trick angewendet und Arch Linux’sBibeldas empfiehlt:

Section "Device"
        Identifier "Nvidia Card"
        Driver     "nvidia"
        VendorName "NVIDIA Corporation"
        BoardName  "GeForce GTX 1050 Ti"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    Option         "metamodes" "nvidia-auto-select +0+0 {ForceFullCompositionPipeline=On}"
    Option         "AllowIndirectGLXProtocol" "off"
    Option         "TripleBuffer" "on"
EndSection

Am wichtigsten sind Full Composition Pipeline und Triple Buffer.


Heute sieht mein Setup so aus:

$ cat /etc/X11/xorg.conf

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Monitor"
    Identifier "DP-1-1"
    Modeline "3840x2160_54.00"  637.50  3840 4152 4568 5296  2160 2163 2168 2230 -hsync +vsync
    Option "PreferredMode" "3840x2160_54.00"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0@0:2:0"
    Option "AccelMethod" "None"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1@0:0:0"
    Option "ConstrainCursor" "off"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration" "on"
    Option "IgnoreDisplayDevices" "CRT"
EndSection

Beachten Sie, dass Force Composition Pipeline und Triple Buffer hier nicht eingerichtet sind. Früher befanden sie sich in nvidia-settingsder GUI-Konfiguration, aber ich sehe sie dort nicht mehr.

verwandte Informationen