題 為什麼我不能讓我的GTX 970在OpenSuse Leap 42.3上以1080p驅動我的顯示器?


我正在嘗試使用OpenSuse Leap 42.3設置一個工作站,我有3個華碩1080p顯示器,無論出於何種原因,我的GPU都沒有從X Server啟動時接收EDID。我一直試圖讓他們在1920x1080工作幾個小時,我沒有運氣。每當我切換到Windows時,監視器都被完全識別並以1920x1080顯示,沒有任何配置。

在OpenSuse上,我可以強制使用3個顯示器中的2個到1080p xrandr --newmodexrandr --addmode,和'xrandr --output DISPLAY-NAME --mode 1920x1080_60.00 使用提供的模式 cvt 要么 gtf。然而,當我這樣做時,顯示器似乎有某種同步問題,並且有閃爍像素的滾動線和小文本變得難以辨認。

我也一直在努力 /etc/X11/xorg.conf 並嘗試了幾十次這個文件的迭代,試圖建立在線和其他各種論壇帖子 Nvidia Linux驅動程序文檔

經過幾個小時的調整 xorg.conf 文件,我已經從3台顯示器中選出了2台顯示在1920x1080,而第3台顯示器根本沒有在登錄界面顯示,然後在我登錄後顯示為1400x1050。但是,1080p的2台顯示器展出我手動強制顯示設置所帶來的閃爍和文本難以辨認 xrandr,因此他們無法使用該分辨率。所有3個顯示器在1400x1050平穩工作,但這不是正確的寬高比,也不是這些顯示器的1:1分辨率。

我上線了:

核心 4.4.76
X服務器 1.18.3
Nvidia司機 390.48 KDE等離子5

我有 HorizSync 31.5-80 和 VertRefresh 56.0-75.0 通過查看我的顯示器手冊中列出的時間(鏈接到並在此問題的底部成像)。無論出於何種原因,輸入這些時間並不能使1920x1080作為分辨率,最高只有1400x1050。

它也沒什麼值得的 DFP-0 和 DFP-4 (在conf文件中稱為 DVI1 和 DVI2,分別是在DVI端口上,而 DFP-1 (標記為 HDMI)是在HDMI端口上。 HDMI監視器是我根本無法達到1920x1080的監視器,也是在我沒有登錄KDE會話時關閉的監視器。

我也嘗試了一個涉及Xinerama的配置,也沒有運氣。


我的最新消息 xorg.conf 是:

# nvidia-settings:  version 390.48  (buildmeister@swio-display-x86-rhel47-07)  Thu Mar 22 01:06:23 PDT 2018

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 390.48  (buildmeister@swio-display-x86-rhel47-07)  Thu Mar 22 01:07:32 PDT 2018

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

Section "Files"
EndSection

Section "InputDevice"

    # generated from data in "/etc/sysconfig/mouse"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "IMPS/2"
    Option         "Device" "/dev/input/mice"
    Option         "Emulate3Buttons" "yes"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"

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

Section "Monitor"
    Identifier     "DVI1"
    Option         "Position" "0 0"
    Modeline       "1920x1080_60.00" 220.75  1920 2064 2264 2608  1080 1083 1088 1130 -hsync +vsync
    Option         "Rotate" "normal"
    Option         "PreferredMode" "1920x1080_60.00"
    HorizSync 31.5-80
    VertRefresh 56.0-75.0
    Option "ModeValidation" "AllowNonEdidModes"
EndSection

Section "Monitor"
    Identifier     "DVI2"
    Option         "Position" "1920 0"
    Modeline       "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    Option         "Rotate" "normal"
    Option         "PreferredMode" "1920x1080_60.00"
    HorizSync 31.5-80.0
    VertRefresh 56.0-75.0
    Option "ModeValidation" "AllowNonEdidModes"
EndSection

Section "Monitor"
    Identifier     "HDMI"
    Option         "Position" "3840 0"
    Modeline       "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
    Option         "Rotate" "normal"
    Option         "PreferredMode" "1920x1080_60.00"
    HorizSync 31.5-80.0
    VertRefresh 56.0-75.0
    Option "ModeValidation" "AllowNonEdidModes"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 970"
    Option         "Monitor-DVI-I-1" "DVI1"
    Option         "Monitor-DVI-D-O" "DVI2"
    Option         "Monitor-HDMI-0" "HDMI"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "DVI2"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "DFP-1: 1920x1080_60.00 +0+0, DFP-0: 1920x1080_60.00 +1920+0, DFP-4: 1920x1080_60.00 +3840+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    Virtual    5760 1080
    EndSubSection
EndSection

而我的最新消息 Xorg.0.log 可見:

https://paste.fedoraproject.org/paste/~fWRIP5brKHiOlsZ5hvkbw


這是我的顯示器手冊的下載頁面  和 這是顯示器時序列表的屏幕截圖


更新2018-04-18

我現在嘗試使用KDE進行全新的Debian 4.9安裝,我遇到了同樣的問題,但至少不需要手動配置就可以讓所有3台顯示器都以1366x768運行,這是正確的寬高比。我嘗試使用兩個不同版本的官方NVidia驅動程序,兩次都得到完全相同的結果。

為了理智,我恢復了一個新的Windows 10安裝的圖像,不知道顯示器,所有3個顯示器被選為“通用非PnP監視器”,所以我猜他們真的沒有提供他們的EDID。也就是說,Windows能夠立即在1920x1080 @ 60hz運行其中一個而沒有任何問題,並且在安裝NVidia驅動程序後,能夠在該配置下運行所有3個沒有問題。

所以現在我的問題變成:這是Linux NVidia驅動程序的問題嗎?如果沒有,是否有一些Windows知道“通用非pnp監視器”,我可以提取並使用它來配置X服務器的監視器?

我不認為配置1920x1080 60hz顯示器有什麼特別之處 - cvt的模式線應該可以正常工作,對嗎?


更新/解決方案2018-04-19

對我而言,訣竅最終成為了  使用cvt / gtf的模型,但指定精確 Horizsync 和 VertRefresh 而不是范圍。我的最終和工作,xorg.conf如下。注意:我不知道添加什麼 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On} 它完成了,據說可以減少屏幕撕裂,但我看不出有什麼區別。無論哪種方式,該行不是解決我的問題所必需的,只需手動指定 HorizSync 和 VertRefresh 並且只列出一個顯示器而不是三個顯示器。如果我的所有3台顯示器都不相同,則可能需要多台顯示器。

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 384.111  (build-user@build-machine)  Sun Feb 25 17:18:20 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: builtin, VertRefresh source: builtin
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "DFP-0"
    HorizSync       67.0 - 67.0
    VertRefresh     60.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" "DVI-I-1: 1920x1080 +0+0, HDMI-0: 1920x1080 +3840+0, DVI-D-0: 1920x1080 +1920+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

3
2018-04-18 04:03


起源


歡迎來到linux顯示技術的世界。它運行在所有500台最快的超級計算機上,但其圖形功能比Win95少 - Keltari
@Keltari ^ _ ^看起來那樣!沒關係,我知道我們會弄明白的。 - JonathonG


答案:


# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 390.25  (buildd@lcy01-amd64-002)  Mon Jan 29 21:11:27 UTC 2018

# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 375.66  (buildmeister@swio-display-x86-rhel47-06)  Mon May  1 15:45:32 PDT 2017

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

Section "Files"
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      "ACH QHD270QHD270QHD270"
    HorizSync       88.8 - 88.8
    VertRefresh     60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 960"
    Option         "Coolbits" "28"
EndSection

Section "Screen"

# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0, DP-4: nvidia-auto-select +2560+0"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +2560+0, DP-4: nvidia-auto-select +0+180"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-4: nvidia-auto-select +2560+0"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}, DP-4: nvidia-auto-select +2560+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
# Removed Option "metamodes" "DVI-I-1: nvidia-auto-select +0+0, DP-4: nvidia-auto-select +2560+0"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DVI-I-1: nvidia-auto-select +0+0, DP-4: nvidia-auto-select +2560+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

我的配置可以幫助您排除故障。我連續插入2或3或甚至4個屏幕,1440p或1080p到我的配置,從來沒有任何問題。多年。

您是否嘗試使用終端中的nvidia-settings啟動其GUI?它顯然為你設置了xorg。你有沒有嘗試過任何ubuntu派生的東西?還是ubuntu本身?

你的xrandr原始輸出是什麼?

>xrandr
Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 connected primary 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
   2560x1440     59.95*+
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 connected 2560x1080+2560+0 (normal left inverted right x axis y axis) 673mm x 284mm
   2560x1080     60.00*+
   1920x1080     60.00    60.00    59.94    50.00    23.97    60.05    60.00    50.04  
   1680x1050     59.95  
   1280x1024     75.02    60.02  
   1280x800      59.81  
   1280x720      60.00    59.94    50.00  
   1152x864      75.00  
   1024x768      75.03    60.00  
   800x600       75.00    60.32  
   720x576       50.00  
   720x480       59.94  
   640x480       75.00    59.94    59.93  
DP-5 disconnected (normal left inverted right x axis y axis)

0
2018-04-19 05:09



謝謝你的回答 - 我的xrandr原始輸出總是只列出不正確的模式(1400x1050或1366x768到640x480),沒有別的。設備端口都已正確列出。你已經解決了我的問題!我列出了HorizSync和VertRefresh的範圍,因為我發現我需要的所有文檔。你告訴我他們可以設置為靜態值,所以設置 HorizSync 67.0  和 VertRefresh 60.0 解決了我的問題。我將發布我的最終配置作為更新。你知道ForceCompositionPipeline的作用嗎?它對我來說沒有任何明顯的改變。 - JonathonG
我為OBS啟用了forcecompositionpipeline(是的屏幕錄像機)它消除了我的屏幕與nvidia 100%撕裂。在每個桌面環境中。現在其他人報告的方式不同,但就屏幕錄製而言,它將解決OBS的問題。性能受到了打擊。遊戲中的FPS約為5-10%。我無法分辨觀看視頻或桌面的性能,我甚至沒有註意到它。僅適用於半苛刻的遊戲 - 要求非常高。至於其他什麼,我不知道。它只是有助於撕裂 - user1654164