Nvidia 435 (or earlier) graphics driver not working after upgrade to Xubuntu 19.10

I have a K4000 GPU with two 4K monitors plugged into DP-3 (Screen 0) and DP-2 (Screen 1)

I was successfully using the nvidia-driver-430 package under Xubuntu 19.04. I recently upgraded to Xubuntu 19.10. Every upgrade since 18.04 has badly configured the drivers and required manual intervention afterwards, but this time it was more catastrophic. The upgrade failed part way through when (I’m guessing) it began to manipulate the graphic drivers. Both of my screens went blank and never recovered. After a reboot, I logged in remotely and reinstalled the nvidia-driver-430 package. This allowed me to get the displays working, but the system was misconfigured and took work to correct and finish the upgrade. Now there were serious problem with nvidia-driver-418 and nvidia-driver-430 packages being co-dependent upon one another which could not be resolved. Finally I installed the nvidia-driver-435 package and it removed all the old misconfigured packages and installed and configured itself properly.

The problem is that there is an interaction between the xfwm4 window manager and the Nvidia drivers (both 430 and 435) which immediately cause xfwm4 to crash. A trace of the crash file shows the following:

(gdb) bt
#0  0x00007f8941aac8e5 in _g_log_abort ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f8941aaf2bc in g_log_writer_default ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f8941aad527 in g_log_structured_array ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f8941aadf44 in g_log_structured_standard ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f8941e1bbea in _gdk_x11_display_error_event ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#5  0x00007f8941e28bb3 in gdk_x_error ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libgdk-3.so.0
#6  0x00007f893e37d3a6 in ?? ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#7  0x00007f893e375a10 in glXBindTexImageEXT ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libGLX_nvidia.so.0
#8  0x000055a6be01ebaf in bind_glx_texture (buffer=0,
    screen_info=0x55a6be6e1cf0) at compositor.c:1553
#9  paint_all (buffer=0, region=12584569, screen_info=0x55a6be6e1cf0)
    at compositor.c:2138
#10 repair_screen (screen_info=0x55a6be6e1cf0) at compositor.c:2420
#11 compositor_timeout_cb (data=0x55a6be6e1cf0) at compositor.c:2449
#12 0x00007f8941aa7248 in g_timeout_dispatch ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#13 0x00007f8941aa671e in g_main_context_dispatch ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#14 0x00007f8941aa6ad0 in g_main_context_iterate.isra ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f8941aa6dc3 in g_main_loop_run ()
   from /tmp/apport_sandbox_9f0gxxa2/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f8942104c2d in gtk_main () at ../../../../gtk/gtkmain.c:1325
#17 0x000055a6be0142ce in main (argc=<optimized out>, argv=<optimized out>)
    at main.c:795

At one point I selected the X.Org X server Nouveau driver package and discovered that while it was not properly honoring the /etc/X11/xorg.conf settings, the window manager did indeed run as expected. It seems that there is a problem with some call at or after glXBindTexImageEXT() that triggers the crash that isn’t happing with the default X server.

I’ve reported this to the XFCE developers here: https://bugzilla.xfce.org/show_bug.cgi?id=16374

I’m asking on this forum to see if others have experienced anything like this and see if there are any suggestions as to how to get this resolved.

Thanks.

I’m not getting any quick resolution to this problem and I need to bring this system back online as soon as possible. I was hoping that someone on this list could comment on using the Nvidia drivers with the latest version of Xubuntu/XFCE 19.10.

As indicated above, during my testing I did temporarily switch to the default X.Org X server Nouveau driver package and I did get the window manager running. However, the screen setup was the wrong scale and many things were off. It appears as though this driver was not paying attention to its own /etc/X11/xorg.conf file which is surprising. I would prefer to stick with the latest Nvidia driver, but I need a resolution and am thinking of biting the bullet and using the X.Org driver. From my previous test I can see that this is going to require a lot of reconfiguration and I’m concerned that i will mess up things if I can return to the Nvidia drivers in the future.

My questions: Is anyone using this driver successfully? What are the limitations that this driver imposes that the Nvidia driver is providing? Does anyone use a dual-monitor configuration with independent desktops on each monitor? Are there separate config files used for this driver?

Thanks for any insights you can offer to help me avoid traps in going this route.

For some additional information about this crashing with the Nvidia drivers, see here:

https://bugzilla.xfce.org/show_bug.cgi?id=15852

Following up:

The xfwm4 crashing problem has to do with defining more than one independent screen in the /etc/X11/xorg.conf file. This is a problem observed by at least one other person. By commenting out the second screen in the ServerLayout section, it was possible to get the system running using the Nvidia drivers. Apparently this bug was also causing audio output to fail for unknown reasons. After the graphics problem was rectified, proper sound operation was once again also restored.

I hope this information helps others experiencing this problem. Follow this issue at:

https://bugzilla.xfce.org/show_bug.cgi?id=15852

I would really like to get back my independent second screen operation. If anyone has additional configuration information towards that goal, or can contribute a deeper understanding as to what is failing here, I would appreciate having a discussion. Thanks.