Xorg crashes after upgrade to LEAP 15.1 (nvidia)

I have upgraded my main desktop machine from 42.3 to 15.1 and i can’t get X to work.
X was working fine for several years up to LEAP 42.3 with nvidia driver 390.129-6.1.x86_64

Then I did a fresh install of LEAP 15.1 on a new SSD.

Now X/nvidia works either with 2 out of 4 monitors, and 1 out of 2 graphics cards, or crashes otherwise.
The nouveau driver works on 3 of 4 monitors and displays a band of “colored snow” on the fourth (plus a broken KDE DM).

I copied the relevant xorg.conf (/etc/X11/xorg.conf.d/20-nvidia.conf) to the 15.1 SSD:

# 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" 1920 0
    Screen      1  "Screen1" 3840 0
    Screen      2  "Screen2" 5760 0
    Screen      3  "Screen3" 0 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 "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor2"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     50.0 - 63.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor3"
    VendorName     "Unknown"
    ModelName      "Samsung SyncMaster"
    HorizSync       30.0 - 81.0
    VertRefresh     50.0 - 63.0
    Option         "DPMS"
EndSection

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

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

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

Section "Device"
    Identifier     "Device3"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 560 Ti"
    BusID          "PCI:2:0:0"
    Screen          1
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 +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         "metamodes" "DVI-I-2: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen2"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-2"
    Option         "metamodes" "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     "Screen3"
    Device         "Device3"
    Monitor        "Monitor3"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-2"
    Option         "metamodes" "DVI-I-3: nvidia-auto-select +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Any ideas how to further diagnose/fix the issue would be highly aprreciated.

  1. Make upgrade 42.3 -> 15.0 -> 15.1, no jumps 42.3 -> 15.1.
  2. For troubleshooting use fresh 15.1 install.
  3. Do not install both nouveau + Nvidia drivers, install only one of them.
    By default nouveau drivers was installed.
    To get Nvidia drivers uninstall nouveau drivers, then install Nvidia drivers.
    Reboot after uninstalling may be needed.

Probably you will need “ForceCompositionPipeline” to set on with Nvidia drivers.

That is exactly what i did. I did a fresh 15.1 install on a brand new SSD.

  1. Do not install both nouveau + Nvidia drivers, install only one of them.
    By default nouveau drivers was installed.
    To get Nvidia drivers uninstall nouveau drivers, then install Nvidia drivers.
    Reboot after uninstalling may be needed.
    Probably you will need “ForceCompositionPipeline” to set on with Nvidia drivers.

I followed exactly the recommendet installation path.
I will try your recommendation as well.
Strange though that it is alwas working fine with just 2 Monitors.

Yes, by default, both nouveau drivers get installed, but one cannot not install the nouveau kernel driver. It’s part of each kernel package. Via standard package management devices, it can only be blacklisted or unloaded.

There is no “the” nouveau driver. There is a nouveau kernel driver, which provides the KMS (kernel modesetting) functionality that FOSS X drivers (DDX) that GPUs from AMD, Intel and NVidia depend on, and is part of each kernel package, and there is the nouveau DDX, a reverse-engineered FOSS package provided by xf86-video-nouveau, normally installed by default to override the upstream default modesetting DDX, provided by the X server itself. Most NVidia GPUs need neither the the nouveau DDX nor the proprietary NVidia driver, with competent functionality provided by the modesetting DDX. The main exception is like with all PC hardware: if the hardware is newer than the software (OS and drivers), then FOSS driver support may be yet to be provided. Not all GPU functionality is supported by a FOSS DDX, so many NVidia users opt for the proprietary drivers, which typically need the kernel nouveau to be blacklisted, and/or the nouveau DDX to not be installed.

When both nouveau “drivers” are installed and X is running, “inxi -Gxx” will report them both separately, since they are two quite different components of a running X.

OK. I have some more diagnostics.

  • nuveau was already uninstalled
  • created an xorg log with 4 monitors (crashes X) and an xorg log with just 2 monitors (works)

startx in runlevel 3 with 4 monitors gives this log (crash):
https://paste.opensuse.org/13486293

startx in runlevel 3 with 2 monitors gives this log (works):
https://paste.opensuse.org/15650184

Same hardware, same configuration (4 monitors) works fine with OpenSuse 42.3

Any ideas anyone?

Hi
So what happens if you remove the 20-nvidia.conf file and make sure there is no /etc/X11/xorg.conf file and reboot with all monitors connected?

You say runlevel 3 (multi-user target), you mean runlevel 5 (graphical target)?

You using the rpm’s from the Nvidia repository and the system is all up to date?

Thanks for your reply!

In that case X starts correctly with 2 of 4 monitors. The remaining 2 monitors drop into power save.
(The other two monitors are marked “disabled” in the nvidia-settings applet)

You say runlevel 3 (multi-user target), you mean runlevel 5 (graphical target)?

Yes, i mean runlevel 5. But i also started X by “startx” manually from runlevel 3 to see more of the X server’s startup messages. Both methods yield the same results.

You using the rpm’s from the Nvidia repository and the system is all up to date?

It is a fresh install on a fresh SSD exactly by the book (yast only) with all available updates applied.

Hi
Can you let it boot to graphical target and no startx, that is really deprecated you should look at using systemd and isolate to start X (or wayland).

Do you have login auto login enabled? Sure your not starting Wayland, rather than Xorg?

So once there, can you repost the xorg contents? It should log all data into ~/.local/share/xorg so even if it fails it will log… no need to start anything manually.

I did that now.

Do you have login auto login enabled? Sure your not starting Wayland, rather than Xorg?

I am pretty sure it is X. if i select KDE(wayland) at kdm the system freezes completely.

So once there, can you repost the xorg contents? It should log all data into ~/.local/share/xorg so even if it fails it will log… no need to start anything manually.

There are no (new) logs in ~/.local/share/xorg. I booted up several times to verify.

X still crashes with 20-nvidia.conf enabled and throws me to the text console.
Without 20-nvidia.conf i get X on two monitors, albeit also without a log in ~/.local/share/xorg.

Hi
Likely sddm these days… I use GNOME so hopefully another user may offer some advice. In /etc/gdm/custom.conf I had to set WaylandEnable=false as it interfered with the nvidia cards I have.

Yeah you’re right, sddm it is.

IMO The logs indicate that either the X server or the nvidia driver is the culprit:




  1.    447.893] (EE) 
  1.    447.893] (EE) Backtrace: 
  1.    447.893] (EE) 0: X (xorg_backtrace+0x65) [0x559f5554cf45] 
  1.    447.893] (EE) 1: X (0x559f5539b000+0x1b5c19) [0x559f55550c19] 
  1.    447.893] (EE) 2: /lib64/libpthread.so.0 (0x7fd259ff7000+0x12300) [0x7fd25a009300] 
  1.    447.893] (EE) 3: /lib64/libc.so.6 (gsignal+0x110) [0x7fd259c73160] 
  1.    447.893] (EE) 4: /lib64/libc.so.6 (abort+0x151) [0x7fd259c74741] 
  1.    447.893] (EE) 5: /lib64/libc.so.6 (0x7fd259c3d000+0x2e75a) [0x7fd259c6b75a] 
  1.    447.893] (EE) 6: /lib64/libc.so.6 (0x7fd259c3d000+0x2e7d2) [0x7fd259c6b7d2] 
  1.    447.893] (EE) 7: X (0x559f5539b000+0x41ca9) [0x559f553dcca9] 
  1.    447.893] (EE) 8: X (0x559f5539b000+0x9b9c8) [0x559f554369c8] 
  1.    447.893] (EE) 9: X (_CallCallbacks+0x34) [0x559f553fc7f4] 
  1.    447.893] (EE) 10: X (0x559f5539b000+0x60442) [0x559f553fb442] 
  1.    447.893] (EE) 11: /lib64/libc.so.6 (__libc_start_main+0xea) [0x7fd259c5df8a] 
  1.    447.893] (EE) 12: X (_start+0x2a) [0x559f553e512a] 
  1.    447.893] (EE) 
  1.    447.893] (EE) 
  1. Fatal server error: 
  1.    447.893] (EE) Caught signal 6 (Aborted). Server aborting 
  1.    447.893] (EE) 
  1.    447.893] (EE) 
  1. Please consult the The X.Org Foundation support 
  1.          at http://wiki.x.org 
  1.  for help. 



That’s probably independent of the desktop.

I hope for a resolution. Otherwise I’m stuck with 42.3.
Well, maybe a later version yet to come will fix the problem.

Hi
Does it work if you try the likes of IceWM instead of Plasma? Could be the legacy driver as well…

Not everything that matters is on an (EE) line. You should upload to http://susepaste.org/ the whole file so that we might spot clues.

Also you could try stripping out irrelevancies from NVidia’s xorg.conf. There is no purpose I can imagine served by it creating sections for input unless using a touchscreen.

I have uploaded full logs to paste.opensuse.org.
see previous posts.

The very same xorg.conf works fine in Leap 42.3.
I don’t believe stripping input sections will change the situation as the log indcates that the server ignores them anyway.

Try to update to 390.132: https://www.nvidia.com/Download/driverResults.aspx/153832/en-us

Possibly troubles with parameter “nvidiaXineramaInfoOrder”.

If you run the nvidia-settings, what does it show in the X Server XVideo Settings?

Edit:
Ok, I saw it, you said it is disabled in nvidia-settings.
In the configuration it should be set to X screen 0.
and enable the disabled monitors as su to save it.

In nvidia-settings it is impossible to add more than two monitors to X screen 0.
If you look at the configuration in my first post, that is what works nicely on OpenSuse LEAP 42.3.
The very same configuration crashes the X server on LEAP 15.1.

My conclusion: a change in X is likely to have caused the problem.

Is it? I removed my extra monitor, I am only using two right now I can try
to add one more, to see if really impossible for more than two. Oh
I am using tumbleweed but have a Leap 15.1 on another partition which I am not booting right now.
I will boot on Leap 15.1 and reinstall the driver and see if 3 monitors will work and post back.

Hi,
So I added another monitor in my two monitor setup.
I have two monitors and one tv now.
Graphic card is NVIDIA GeForce GTX 650 Ti
The driver isNVIDIA_Linux-x86_64-440.59
Procedure I did:
I deleted my xorg.conf, then rebooted Leap 15.1,
boot to init 3 and installed the .run driver.
As su I run nviia-settings and configured the three monitors
as X screen 0.
At first after running nvidia-settings, I just logout and login,
it didn’t work, the tv connected to HDMI after login was disabled,
I have to manually enable it to function. Then I run the nvidia-settings again
enabled the tv then rebooted. This time all three monitors are now working.
Hope this will work for you.
I am using Xfce 4.14.
To add I also deleted the display.xml in my /home/conram/.config/xfce4/xfonf
to ensure that I am starting a clean config on my displays.

I also tested this in IceWM and Plasma and found it to work also.
In plasma I don’t touch the kscreen2, it is disabled.

Here is the image.
https://paste.opensuse.org/images/2714960.jpeg