Can't start Xorg on OpenSUSE 15.0 after video driver update

Hello,

I can’t start Xorg on OpenSUSE 15.0 after latest Nvidia driver update: modules do not compile. Previous 410 driver worked fine. I started a discussion on Nvidia DevTalk and was sent here. Please see the discussion for details: https://devtalk.nvidia.com/default/topic/1048044/linux/can-t-start-xorg-on-opensuse-15-0-after-video-driver-update/

What’s wrong with my OS setup? I have another PC with similar history and setup, including 32-bit packages, but it doesn’t have compilation problem.

Does the NVidia driver thread started in this very Hardware forum 10 hours before yours look like a match? Likely the same instructions given there apply to you.

Are you able to start Xorg when you boot the prior kernel?

For more help we may need to know which hardware you have (its PCI ID). Output from ‘inxi -Gxx’ or ‘lspci -nnk | grep -A4 VGA’ should include it. Xorg.0.log might help too. If it was in your forum thread, I missed finding it.

Are you able to purge the entirety of NVidia drivers, reboot, and then open Xorg using the modesetting DDX driver provided by the xorg server package? The modesetting DDX should be used automatically if xf86-video-nouveau is not installed, and all traces of the NVidia DDX installation process are purged. Modesetting is the only DDX in use on my 3 15.0 PCs using various GeForce cards.

Could you give the link, please? It seems my problem is more about OS setup correctness than the driver itself. The installer can’t compile the kernel modules.
I was asked to run the following test, which, as far as I understand, should give no errors:


> echo "int main() {}" | gcc -xc -o /dev/null -lelf -
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status

I was, before another driver re-installation attempt. Now both options in GRUB menu leads to error.

Xorg.0.log is in the file attached to my first message in that thread. I believe, other hardware-related information is also there. Should I attach it here?
Here is the line you want, I guess:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107 [GeForce GTX 750] [10de:1381] (rev a2)

If I remove xorg.conf Xorg starts with nouveau, although xf86-video-nouveau is not installed. At least that’s what zypper tells me. I tried to uninstall Nvidia driver and reboot with the same result. Not sure how to purge Nvidia installation. If that matters, I’m using driver from repository recommended in OpenSUSE Wiki, not the binary installer downloaded from vendor site.

At the top of the page of this message is a set of breadcrumb links:

Forum > English > Get Technical Help Here > [Hardware](https://forums.opensuse.org/forumdisplay.php/672-Hardware) > LEAP 15 **Can't start Xorg on OpenSUSE 15.0 after video driver update**

Clicking that Hardware link brings up the list of posts with their start dates. ATM, that post (Problems with nVIdia drivers since update on 1st March](https://forums.opensuse.org/showthread.php/535172-Problems-with-nVIdia-drivers-since-update-on-1st-March)) is right below yours.

It seems my problem is more about OS setup correctness than the driver itself. The installer can’t compile the kernel modules.
I was asked to run the following test, which…
Compile config is not something I can help with.

[quote]Are you able to start Xorg when you boot the prior kernel?
I was, before another driver re-installation attempt. Now both options in GRUB menu leads to error.[/quote]This kind of trouble is why as soon as an initrd has worked as expected I chmod +i, so that only newly installed kernels get initrds built unless I so instruct. That might backfire when using proprietary drivers, but for me it has worked for a decade or more.

Xorg.0.log is in the file attached to my first message in that thread. I believe, other hardware-related information is also there. Should I attach it here?
I may have lost count how many Xorg.#.logs are in there, I think 1-4 both latest and current, so 8, plus dmesg, and a whole lot more. I’d wait on attaching it here. Others may want to see just a portion in a form that can be opened directly in a web browser rather than the whole thing. Gunzipping here produced 430kb of text.

Here is the line you want, I guess:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM107 [GeForce GTX 750] [10de:1381] (rev a2)
That’s it.

If I remove xorg.conf Xorg starts with nouveau,
None of your Xorg.#.logs show nouveau as the in-use DDX.

although xf86-video-nouveau is not installed. At least that’s what zypper tells me. I tried to uninstall Nvidia driver and reboot with the same result.
I’ve seen xf86-video-nouveau reported as installed after it’s been removed before. I’m not sure but I think it happens because the initrds were not rebuilt in conjunction with the proprietary driver uninstallation process. Your logs show two instances of ‘Failed to load module “nouveau” (module does not exist, 0)’, Xorg.0.log.old & Xorg.1.log. Also there are two instances of ‘Matched modesetting as autoconfigured driver 3’ but none of unloading it. What blocks its use I can’t tell. Does 10de1381 appear in /etc/X11/xorg_pci_ids/modesetting.ids? Maybe configuring it explicitly would work:

# /etc/X11/xorg.conf.d/50-device.conf
Section "Device"
    Identifier "DefaultDevice"
	Driver	"modesetting"
EndSection

Normally on a brand new installation, as long as xf86-video-nouveau is not installed, modesetting will automagically be used.

Not sure how to purge Nvidia installation.
That depends on following the instructions shipped with the driver, which are supposed to cover both removal and installation. AIUI, installation typically generates /etc/X11/xorg.conf and/or changes content of /etc/X11/xorg.conf.d/, changes possibly grub.cfg and /etc/default/grub/, rebuilds initrds, and possibly changes one or more standard libraries, besides adding the DDX software itself.

/etc/default/grub has some redundancies that show up on your kernel cmdline:


Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.12.14-lp150.12.48-default root=/dev/mapper/susevg-leaproot resume=/dev/susevg/suseswap splash=silent quiet showopts resume=/dev/susevg/suseswap splash=silent quiet showopts

You may want to clean it up when you think about it, but it shouldn’t be impacting your Xorg trouble. Showopts is totally inert, hasn’t been used since Grub Legacy Gfxboot.

I had similar problem with updating Nvidia proprietary driver from 390 to 410.
There was a conflict between Nvidia and Nouveau driver.

I solved a problem by these steps:

  1. Uninstall Nvidia driver
  2. Uninstall Nouveau driver
  3. Install Nvidia driver

Now I updated Nvidia proprietary driver from 410 to 418 without any issue.