openSUSE 12.3 - nVidia graphics driver fails to load after update to 340.32_31.1

OS: Linux 3.7.10-1.40-desktop x86_64 System: openSUSE 12.3 (x86_64) KDE: 4.10.5 “release 1”

Following zypper update today this system is unable to load installed nVidia graphics drivers: nvidia-computeG03 340.32-31.1; nvidia-gfxG03-kmp-desktop 340.32_k3.7.10_1.1-31.1; nvidia-glG03 340.32-31.1; nvidia-uvm-gfxG03-kmp-desktop 340.32_k3.7.10_1.1-31.1; x11-video-nvidiaG03 340.32-31.1.

During update zypper reported multiple error warnings during post installation KBUILD processing of nVidia drivers. Zypp/history.log includes 100’s of related warning lines. Most groups of warnings conclude with statements like this:

Warning: /lib/modules/3.7.10-1.40-desktop is inconsistent

Warning: weak-updates symlinks might not be created

This is an old system that has been upgraded (zypper dup) at least twice, so may contain ‘unique’ errors that have contributed to this problem.

What other information is required to assist expert assessment of this problem?

Is it possible to revert to a previous nVidia driver set? (I see no previous versions listed under YaST Software nVidia Graphics Drivers repository.)

Thanks for assistance.

Update

Seems this system had both kernel-default and kernel-desktop installed and that caused errors in post installation processing. Deleted kernel-default, deleted nvidia drivers, rebooted with nouveau driver. System useable for now.

Thanks

Yes there is a bit of a problem with odd things being pulled in by update around the NVIDIA packages. Apparently not everyone sees it but it does happen to some. Keep an eye on any kernel/NVIDIA updates for a while you may have too interline manually to do a proper update and not drag in extraneous stuff. This apparently has something to do with a Yast blacklist. which I really don’t understand why it was added. As I understand this “feature” has been removed in 13.2

As I told you in a different thread already, updating the nvidia packages can not pull in kernel-default (none of them depend on kernel-default in any way) or other “odd things”.

This apparently has something to do with a Yast blacklist. which I really don’t understand why it was added. As I understand this “feature” has been removed in 13.2

That’s libzypp’s “SoftLocks” feature.
It can cause the wrong kmp packages to be installed (not only in the case of nvidia, but all other kmp packages as well, like virtualbox-host-kmp-xxx).

That feature is there I think to prevent the automatic reinstallation of recommend packages that you uninstall manually.
And yes, this has been removed in Factory a few months ago, as it can cause unexpected behavior.

But this should cause no problem on updates, as you obviously wouldn’t have uninstalled the nvidia kmp packages.

I would suggest to install the 5 packages manually with YaST/zypper again, the driver should work:
nvidia-computeG03 340.32-31.1; nvidia-gfxG03-kmp-desktop 340.32_k3.7.10_1.1-31.1; nvidia-glG03 340.32-31.1; nvidia-uvm-gfxG03-kmp-desktop 340.32_k3.7.10_1.1-31.1; x11-video-nvidiaG03 340.32-31.1
If you install the packages manually, there cannot be a problem with the “SoftLocks” feature, as that only applies when YaST/zypper automatically selects packages.

There does seem to be one problem with the nvidia packages at the moment though: the driver apparently doesn’t work (on some systems at least) on the first boot after the installation/update. Just rebooting should “fix” it.

Thanks for kind advice, G & W. This seems the most likely cause of the problem that occured on this openSUSE 12.3 system.
After removing the kernel-default and kernel-default-devel packages and the nVidia packages I did try reinstalling nVidia as instructed in SBS:NVIDIA by only selecting x11-video-nvidiaG03, however when I saw that kernel-default package was automatically selected (and could not be deselected) I aborted the process. Reguarding this suggested solution from wolfi323:

I would suggest to install the 5 packages manually with YaST/zypper again, the driver should work:
[FONT=Lucida Grande]nvidia-computeG03 340.32-31.1; nvidia-gfxG03-kmp-desktop 340.32_k3.7.10_1.1-31.1; nvidia-glG03 340.32-31.1; nvidia-uvm-gfxG03-kmp-desktop 340.32_k3.7.10_1.1-31.1; x11-video-nvidiaG03 340.32-31.1[/FONT]
If you install the packages manually, there cannot be a problem with the “SoftLocks” feature, as that only applies when YaST/zypper automatically selects packages.

Should this be done at the command line using zypper install? If so I am unsure of the syntax (ie. which separator to use to create a list?).

Well Wolfi and I have been having this conversation for a while.LOL

Lets put it this way you say it can not happen but we have had several examples recently of it happening including to me. I suspect that the NVIDIA kernel default packages are for some reason coming in and dragging the default kernel in with them. But my point has always been that people that are not geeks like us should not need to worry or even know about this kind of stuff. I caught it at the update so I had no bad experience. But if you don’t pay attention or know what those packages are in update details you could be in a world of hurt. Something is broken and under some condition, yet to be determined, the update pulls in bogus packages.

Now on to see if we can find some communality

In my case I did a new install of 13.1 so it is not caused by old system configurations. I did install via the one click and as I recall there was some problems but I did not write them down since I was not chasing a bug Also I played a bit with different O# versions because I had a new card and wanted to see what worked and what did not The NVIDA 230 card did not work with 02 drivers which I tried as a test. Manualy changing the drivers may have triggered the Yast black list thing but I don’t see why that would drag the wrong kernel flavor in but then agian I really don’t understand the rationality for the feature any way. BTW does any know where these list are kept maybe I need to purge them.

You can do it in zypper or I find it easier too understand by doing it in Yast

You can do it in YaST as well.
If you only select x11-video-nvidiaG03 the wrong kmp packages will be selected automatically, because you explicitely uninstalled nvidia-gfxG03-kmp-desktop already, so YaST prefers to install nvidia-gfxG03-kmp-default (or any other). x11-video-nvidiaG03 requires any nvidia-gfxG03-kmp package, otherwise you would have different x11-video-nvidiaG03 packages for each kernel flavor, although it’s actually unrelated to the kernel anyway.
Just select the correct nvidia-gfxG03-kmp-desktop package for installation and all should be well. (the nvidia-gfxG03-kmp-default should be automatically deselected then). But check that the other necessary packages are installed too. Especially nvidia-glG03, this is only recommended (It might make sense to not install it on Optimus systems, as it breaks the intel driver. Without it, you don’t get 3D support, i.e. GL, but you can still use the nvidia GPU for CUDA), so will not be selected automatically if you already uninstalled it once.

Or use the corresponding zypper line:

sudo zypper in nvidia-computeG03 nvidia-gfxG03-kmp-desktop nvidia-glG03 nvidia-uvm-gfxG03-kmp-desktop x11-video-nvidiaG03

(it’s not necessary to specifiy the version numbers)

Well, that’s the point. You suspect that, and mainly because I suggested that it might have been the case, I think.
But, as I noticed in the meantime, the nvidia driver packages do not have any dependency on kernel-default (or any specific kernel-xxx), so this cannot be the reason.
Just have a look at the dependencies in YaST if you don’t believe me.
Or try to mark nvidia-gfxG03-kmp-default for installation in YaST. You’ll see that YaST WILL NOT select kernel-default as well, only kernel-default-devel which is of course required to build the kernel module for kernel-default.

But my point has always been that people that are not geeks like us should not need to worry or even know about this kind of stuff.

I fully agree with that.
That’s why I file bug reports about such problems (and try to find solutions/improvements), and try to explain it again and again.

I caught it at the update so I had no bad experience. But if you don’t pay attention or know what those packages are in update details you could be in a world of hurt. Something is broken and under some condition, yet to be determined, the update pulls in bogus packages.

I wouldn’t really call it “bogus” packages. It’ perfectly fine to use kernel-default if you have all corresponding kmp packages installed.
But the question is what update caused kernel-default to be installed. You originally said it happened with the kernel update, but I didn’t experience this at all on a few systems, including two with the nvidia driver.

As a side-note, any other packages (especially kmp packages) might require a specific kernel. Not just the nvidia driver.

The NVIDA 230 card did not work with 02 drivers which I tried as a test.

Hm. It’s listed as supported by the G02 driver.

Manualy changing the drivers may have triggered the Yast black list thing but I don’t see why that would drag the wrong kernel flavor in but then agian I really don’t understand the rationality for the feature any way.

Well, it’s not that difficult to comprehend.
I’ll try to explain it again:
The nvidia driver requires the nvidia kernel module to work.
The kernel module is split out into a subpackage, a specifc one for each different kernel flavor (nvidia-gfxG03-kmp-default, nvidia-gfxG03-kmp-desktop, and so on). You need to install the matching one for your kernel of course.
Now, x11-video-nvidiaG03 (the actual X driver), does only require any kmp package via package dependencies. There would have to be a different package for each kernel flavor otherwise, which would eradicate the point of splitting out the kmp packages completely.

If you uninstalled nvidia-gfxG03-kmp-desktop (or any other package) manually, YaST/zypper treats it as “unwanted”, so it will not install it automatically any more. In this case of nvidia-gfxG03-kmp packages, there is another one that fulfills the requirement, nvidia-gfxG03-kmp-default. So it will install that instead, because “the user said that he/she doesn’t want nvidia-gfxG03-kmp-desktop on this system”.

Btw, this “SoftLocks” feature is nothing new. It was in there at least in 12.3, I don’t remember exactly when it was introduced though.

BTW does any know where these list are kept maybe I need to purge them.

/var/lib/zypp/SoftLocks
This is a text file, so you can take a look inside. Just remove it, and no packages are treated as unwanted any more.
Note that this might cause some/a lot packages to be installed automatically, when you next enter YaST->Software Management or use “zypper in”.

I did not have these problems in 12.3 and I played with (installing and uninstalling different) NVIDIA packages several times. Never had default (kernel or NVIDIA packages) pulled in. So something is different in 13.1. If it were just me I’d surge it off. I can deal with it, but others that may not be able to. Some find their way here others may stop using openSUSE or go back to (shudder) Windows.

BTW it is a bogus package if it is not supposed to be part of an update. Pretty sure the maintainers did not intend for the default stuff to come in.

In any case it is tough to replicate so I guess I’ll wait until the next NVIDIA or Kernel update and document any problems more closely. It does look like my system is setup to show the problem LOL

Thanks. I used YaST, as suggested. No other packages were ‘auto-selected’ initially, so I selected them all manually. Are they all needed?
The install log shows the following warning statement five times (at least): WARNING: could not find /usr/src/kernel-modules/nvidia-340.32-desktop/.nv-kernel.o.cmd for /usr/src/kernel-modules/nvidia-340.32-desktop/nv-kernel.o
I can paste the full log if that is required.
Rebooted and system is now running with nVidia display drivers. Desktop seems a bit slow but otherwise OK so far. Will test further.

Depends on what you need.
There’s a reason why the driver is split into 5 packages.

You do absolutely need x11-video-nvidiaG03 (the actual X driver) and nvidia-gfxG03-kmp-xxx (the nvidia kernel module, without that the X driver won’t work at all).

nvidia-glG03 contains the OpenGL/GLX stuff and is needed for hardware 3D acceleration. This has been split out because it might make sense on an Optimus system to not install it as it breaks the intel driver (and all other Mesa drivers). You might still use the nvidia GPU for e.g. rendering (CUDA) without it.

And then there’s nvidia-uvm-gfxG03-kmp-xxx and nvidia-computeG03. Those are needed for CUDA, i.e. using the nvidia GPU for calculations. If you don’t want to use that, you can uninstall those two packages (In theory at least. In practice you cannot uninstall the latter one, as x11-video-nvidiaG03 has a hard requirement on it on a package level. You can uninstall the kernel module though, nvidia-uvm-gfxG03-kmp-xxx, if you don’t want to use CUDA)

The install log shows the following warning statement five times (at least): WARNING: could not find /usr/src/kernel-modules/nvidia-340.32-desktop/.nv-kernel.o.cmd for /usr/src/kernel-modules/nvidia-340.32-desktop/nv-kernel.o

Hm. No idea at the moment.
But if the driver is working, you can safely ignore that.

Rebooted and system is now running with nVidia display drivers. Desktop seems a bit slow but otherwise OK so far. Will test further.

Install the package “Mesa-demo-x” if it isn’t already, and post the output of:

glxinfo | grep render

This will show whether the driver is fully working, including hardware 3D support.

And check in KDE’s settings (Desktop Effects->Advanced) that the “composite type” is set to OpenGL, and “Qt graphicssystem” should be set to “Raster” for full performance. Especially if the driver is not working, KDE might switch back to safe but slower settings automatically.

Thanks. This has been a very helpful conversation.

Output of glxinfo:

user@linux:~> glxinfo | grep render
direct rendering: Yes
OpenGL renderer string: GeForce GTX 560/PCIe/SSE2
    GL_NV_blend_square, GL_NV_compute_program5, GL_NV_conditional_render, 
    GL_NV_path_rendering, GL_NV_pixel_data_range, GL_NV_point_sprite, 
    GL_NVX_conditional_render, GL_NVX_gpu_memory_info,

These settings were ‘Xrender’ and ‘Native’ respectively. Changed as suggested. They seem to have stuck. Same output with glxinfo | grep render.

Well, those settings have no influence on the output of glxinfo… :wink:
They only change how KDE (kwin) renders the display. And certain desktop effects are quite slow with XRender, while with OpenGL they fully use your gfx card’s hardware 3D acceleration.

Your glxinfo output is fine, btw.
KDE should run fluent now again, right?

Desktop is running well again. Thank-you for your kind assistance. It has been a useful learning experiance for me.