Ubuntu 从 17.10 升级到 18.04 后出现 nvidia 屏幕撕裂

Ubuntu 从 17.10 升级到 18.04 后出现 nvidia 屏幕撕裂

我尝试了多种修复方法来解决此问题。

沒有起到作用的事情;

  1. 在 xorg.conf 中设置三重缓冲
  2. 在 xorg.conf 中设置 ForceFullCompositionPipeline
  3. 确保在 Nvidia 的 OpenGL 设置选项卡中启用 Vblank。
  4. 编辑 zz-nvidia-modeset.conf 中的 Nvidia 模式集并更新 initramfs

有任何想法吗?

当前的xorg.conf

 # nvidia-xconfig: X configuration file generated by nvidia-xconfig
 # nvidia-xconfig:  version 390.25  (buildmeister@swio-display-x86-rhel47-03)  Wed Jan 24 20:46:04 PST 2018

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 390.42  (buildd@lcy01-amd64-029)  Thu Mar 22 17:34:03 UTC 2018

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      "Vestel 24W_LCD_TV"
    HorizSync       15.0 - 46.0
    VertRefresh     49.0 - 61.0
    Option         "DPMS"
EndSection

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

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
EndSection

当前的zz-nvidia-modeset.conf

options nvidia_390_drm modeset=0

当前 .nvidia-settings-rc

#
# /home/kennedn/.nvidia-settings-rc
#
# Configuration file for nvidia-settings - the NVIDIA X Server Settings utility
# Generated on Sun Sep  2 01:11:50 2018
#

# ConfigProperties:

RcFileLocale = C
DisplayStatusBar = Yes
SliderTextEntries = Yes
IncludeDisplayNameInConfigFile = No
ShowQuitDialog = Yes
UpdateRulesOnProfileNameChange = Yes
Timer = PowerMizer_Monitor_(GPU_0),Yes,1000
Timer = Thermal_Monitor_(GPU_0),Yes,1000
Timer = Memory_Used_(GPU_0),Yes,3000

    # Attributes:

    0/SyncToVBlank=1
    0/LogAniso=0
    0/FSAA=0
    0/TextureClamping=1
    0/FXAA=0
    0/AllowFlipping=1
    0/FSAAAppControlled=1
    0/LogAnisoAppControlled=1
    0/OpenGLImageSettings=0
    0/FSAAAppEnhanced=0
    [DPY:DVI-D-0]/Dithering=0
    [DPY:DVI-D-0]/DitheringMode=0
    [DPY:DVI-D-0]/DitheringDepth=0
    [DPY:DVI-D-0]/ColorSpace=0
    [DPY:DVI-D-0]/ColorRange=0
    [DPY:DVI-D-0]/SynchronousPaletteUpdates=0
    [DPY:HDMI-0]/RedBrightness=0.000000
    [DPY:HDMI-0]/GreenBrightness=0.000000
    [DPY:HDMI-0]/BlueBrightness=0.000000
    [DPY:HDMI-0]/RedContrast=0.000000
    [DPY:HDMI-0]/GreenContrast=0.000000
    [DPY:HDMI-0]/BlueContrast=0.000000
    [DPY:HDMI-0]/RedGamma=1.000000
    [DPY:HDMI-0]/GreenGamma=1.000000
    [DPY:HDMI-0]/BlueGamma=1.000000
    [DPY:HDMI-0]/Dithering=0
    [DPY:HDMI-0]/DitheringMode=0
    [DPY:HDMI-0]/DitheringDepth=0
    [DPY:HDMI-0]/DigitalVibrance=0
    [DPY:HDMI-0]/ColorSpace=0
    [DPY:HDMI-0]/ColorRange=0
    [DPY:HDMI-0]/SynchronousPaletteUpdates=0
    [DPY:DP-0]/Dithering=0
    [DPY:DP-0]/DitheringMode=0
    [DPY:DP-0]/DitheringDepth=0
    [DPY:DP-0]/ColorSpace=0
    [DPY:DP-0]/ColorRange=0
    [DPY:DP-0]/SynchronousPaletteUpdates=0
    [DPY:DP-1]/Dithering=0
    [DPY:DP-1]/DitheringMode=0
    [DPY:DP-1]/DitheringDepth=0
    [DPY:DP-1]/ColorSpace=0
    [DPY:DP-1]/ColorRange=0
    [DPY:DP-1]/SynchronousPaletteUpdates=0
    [DPY:DP-2]/Dithering=0
    [DPY:DP-2]/DitheringMode=0
    [DPY:DP-2]/DitheringDepth=0
    [DPY:DP-2]/ColorSpace=0
    [DPY:DP-2]/ColorRange=0
    [DPY:DP-2]/SynchronousPaletteUpdates=0
    [DPY:DP-3]/Dithering=0
    [DPY:DP-3]/DitheringMode=0
    [DPY:DP-3]/DitheringDepth=0
    [DPY:DP-3]/ColorSpace=0
    [DPY:DP-3]/ColorRange=0
    [DPY:DP-3]/SynchronousPaletteUpdates=0
    [DPY:DP-4]/Dithering=0
    [DPY:DP-4]/DitheringMode=0
    [DPY:DP-4]/DitheringDepth=0
    [DPY:DP-4]/ColorSpace=0
    [DPY:DP-4]/ColorRange=0
    [DPY:DP-4]/SynchronousPaletteUpdates=0
    [DPY:DP-5]/Dithering=0
    [DPY:DP-5]/DitheringMode=0
    [DPY:DP-5]/DitheringDepth=0
    [DPY:DP-5]/ColorSpace=0
    [DPY:DP-5]/ColorRange=0
    [DPY:DP-5]/SynchronousPaletteUpdates=0

答案1

回答我自己的问题。我意识到 GPU 根本没有被利用,而是回到 CPU 进行处理(不知道为什么会这样)。

我通过清除 nvidia 然后重新安装来修复它;

sudo apt-get remove --purge nvidia-*

sudo apt-get install nvidia-390

重新启动后,屏幕撕裂现象消失,游戏再次正常运行。

相关内容