Xorg Crash | 2 x GTX 560 Ti GPU | 4 x Displays | Driver 390.141

I’m trying to upgrade a SuSE box from Leap 42.3 to Leap 15.2.

I can only get the X server to work with one GPU and 2 displays. The nvidia-settings applet initially displays the two displays on the second GPU as disabled. As soon as i enable them and insert the generated conf file into xorg.conf.d Xorg fails to start.
Xorg.0.log (21.5 KB)

In OpenSuse Leap 42.3 all 4 displays on all 2 GPUs are working as expected.
Xorg.0.log (44.3 KB)

Any help would be appreciated as the issue blocks an already overdue update.

Well, the X server crashes, as you stated, so sorry cannot help you there.
But your logs show this:

[ 36.018] (WW) NVIDIA: The Composite and Xinerama extensions are both enabled, which
[ 36.018] (WW) NVIDIA: is an unsupported configuration. The driver will continue
[ 36.018] (WW) NVIDIA: to load, but may behave strangely.

Maybe worth trying to disable compositing in your window manager, though that might not be very nice either.

[ 38.458] (WW) NVIDIA(3): Not registering RandR

Another approach would be to disable Xinerama and configure your setup using xrandr.
https://wiki.archlinux.org/index.php/Multihead
in example, might give you a starting point.

Edit:
You setup your xorg.conf using nvidia-settings, but you didn’t provide that file.
Read the above link and compare the gathered knowledge about xinerama setup with what nvidia-settings has provided.

Thank you very much for your comment!

I will go through the suggested Wiki article and report back. However, most of the examples are mentioning just two displays. With two displays i have it working already.

I have attached my /etc/X11/xorg.conf.d/20-nvidia.conf file that is currently working in Leap 42.3: 20-nvidia.conf (4.6 KB)

I disabled Xinerama and let xrandr handle the displays. Xrandr sees only 2 of 4 displays, so no improvement.

Please run nvidia-bug-report.sh as root in the failed state and attach the resulting file here.

Thanks for your help, Mart.

Here is the bug report file. If you need more information, please let me know.

nvidia-bug-report.log.gz (565.2 KB)

Could you please create another bug-report in that state?

Please find the bug report file from the half-working state attached.
nvidia-bug-report.log.gz (570.6 KB)

I was hoping to get the xrandr output in this report.
But it doesn’t get info from X screen 0.
I can see that a default X screen config is created.
Is the X server running? Did you create the bug report via ssh?
Please show the output of xrandr --version.
I was hoping we could use this as a starting point:
https://wiki.archlinux.org/index.php/Multihead#Combine_screens_into_virtual_display

Hi Mart,
the problem lies deeper than combining screens with xrandr. Xrandr does not take any notice of the second GPU and its 5 video ports.

xrandr --listproviders 

Providers: number : 1
Provider 0: id: 0x279; cap: 0x1 (Source Output); crtcs: 2; outputs: 5; associated providers: 0; name: NVIDIA-0
    output DVI-I-0
    output DVI-I-1
    output DVI-I-2
    output HDMI-0
    output DVI-I-3

xrandr --listmonitors

Monitors: 2
 0: +*DVI-I-2 1920/520x1200/330+0+0  DVI-I-2
 1: +DVI-I-3 1920/518x1200/324+1920+0  DVI-I-3

xrandr --listactivemonitors

Monitors: 2
 0: +*DVI-I-2 1920/520x1200/330+0+0  DVI-I-2
 1: +DVI-I-3 1920/518x1200/324+1920+0  DVI-I-3

As you can see above xrandr completely ignores the second GPU.

In the failed state i created the bug report from a root tty. X crashes and therefore doesn’t start at all. In the “half working” state i created the bug report from within an xterm after a ‘sudo su’.

Well odd!
In the bug report I can see the nvidia driver recognizing both GPUs and the four monitors connected to them.
I have no idea why xrandr cannot see them.
In the dmesg output I see this:

[ 75.229160] resource sanity check: requesting [mem 0x000c0000-0x000fffff], which spans more than PCI Bus 0000:00 [mem 0x000d0000-0x000dffff window]
[ 75.229473] caller _nv001015rm+0x1bf/0x1f0 [nvidia] mapping multiple BARs

But I’m uncertain if that’s connected and how exactly to deal with it.
Maybe a BIOS setting. Look for “Above 4G decoding”.
I don’t think I can help here anymore :-(
Maybe @generix has an idea?

I’ve created an xorg.conf using Xinerama. Besides the RanDr problem, would you mind trying it?
You might need to modify the layout section to your whishes.
EDIT: Sorry forgot the UseDisplayDevice options.

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 1920 0
    Screen      1  "Screen1" 3840 0
    Screen      2  "Screen2" 5760 0
    Screen      3  "Screen3" 0 0
    Option         "Xinerama" "1"
EndSection

Section "Monitor"
    Identifier     "GPU-0.DFP-0"
    VendorName     "Unknown"
    ModelName      "LG Electronics 24EB23"
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "GPU-0.DFP-2"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "GPU-1.DFP-0"
    VendorName     "Unknown"
    ModelName      "LG Electronics 24EB23"
    Option         "DPMS"
EndSection

Section "Monitor"
    Identifier     "GPU-1.DFP-2"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    Option         "DPMS"
EndSection


Section "Device"
    Identifier     "Device-GPU-0-DFP-0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    BusID          "PCI:2:0:0"
    Screen          0
    Option          "UseDisplayDevice"   "DFP-0"
EndSection


Section "Device"
    Identifier     "Device-GPU-0-DFP-2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    BusID          "PCI:2:0:0"
    Screen          1
    Option          "UseDisplayDevice"   "DFP-2"
EndSection


Section "Device"
    Identifier     "Device-GPU-1-DFP-0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    BusID          "PCI:3:0:0"
    Screen          2
    Option          "UseDisplayDevice"   "DFP-0"
EndSection


Section "Device"
    Identifier     "Device-GPU-1-DFP-2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    BusID          "PCI:3:0:0"
    Screen          3
    Option          "UseDisplayDevice"   "DFP-2"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device-GPU-0-DFP-0"
    Monitor        "GPU-0.DFP-0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "Screen"
    Identifier     "Screen1"
    Device         "Device-GPU-0-DFP-2"
    Monitor        "GPU-0.DFP-2"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device-GPU-1-DFP-0"
    Monitor        "GPU-1.DFP-0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen3"
    Device         "Device-GPU-1-DFP-2"
    Monitor        "GPU-1.DFP-2"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Thank you, Mart.
I’ll try it later today because I currently need the machine for work.

Edit: I will also have a look at the BIOS if I can find some option sounding like what you suggested.

Hi Mart,

now I was able to boot into the new SSD and try your suggested xorg.conf.
It crashes the X server exactly like my other 4 monitors config :-(.

I believe there is a bug either in X or in the nvidia driver.

In the BIOS i couldn’t find any option that sounds like what you mentioned.

Yeah, guess it’s one of those nasty bug creatures.
I was hoping we could work around it configuration wise.

I guess in this case it is an Nvidia bug. The Open Source driver detects all GPUs and all monitors. The OSS driver has other problems, unfortunately :-(

Seems I’ve eventually become unlucky with my GPU selection. Burned a lot of $$.

Xinerama+nvidia driver has become crashy on newer Xservers, in your case xorg 1.18 + nvidia 390 worked fine but now you got xorg 1.20 and it crashes.
You could try two things:

  1. disable composite extension, add
Section "Extensions"
Option "Composite" "Disable"
EndSection

at the end of your xorg.conf

  1. Try a minimal xinerama xorg.conf with just one screen/ device section per gpu though this makes monitor placement a pita.

Thanks, generix.

I’ll try it. Moving the monitors around is not a big problem as they are all DVI-I so i can swap cables across ports.

Would this be an acceptable xorg.conf?

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 390.129  (buildmeister@swio-display-x64-rhel04-14)  Tue Jul 23 01:36:55 PDT 2019

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" 5099 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "1"
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"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LG Electronics 24EB23"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "LG Electronics 24EB23"
    HorizSync       30.0 - 83.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    BusID          "PCI:2:0:0"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    BusID          "PCI:3:0:0"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DVI-I-2: nvidia-auto-select +1920+0, DVI-I-3: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "metamodes" "DVI-I-2: nvidia-auto-select +0+0, DVI-I-3: nvidia-auto-select +1920+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "Extensions"
  Option "Composite" "Disable"
EndSection

I tried disabling composite with the minimal Xinerama configuration.
Xorg still crashes. I’ve spent days on getting this to work.
I’m giving up, and go buy GPUs from a different vendor.