Nvidia...again

openSUSE 12.3 64bit KDE 4.10.5

I just performed a zypper “update” and now when I boot I get a text login (level 3). If I boot the grub “failsafe” choice I get a graphic window and KDE starts. I assumed I now have an Nvidia problem, and went through the SDB:NVIDIA drivers zypper installation as follows.

# zypper ar -f ftp://download.nvidia.com/opensuse/12.3/ nvidia

# lspci | grep VGA

# zypper install x11-video-nvidiaG02

Zypper reported…

'x11-video-nvidiaG02' is already installed.
No update candidate for 'x11-video-nvidiaG02-304.119-31.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...

Nothing to do.

Nothing changed. Any suggestions would be appreciated.

If you are getting good video in failsafe mode, then the nvidia driver should be there.

Try adding “nomodeset” to the boot command line (at the grub menu).

I tried that already and it made no difference. I was surprised. But I think this a bigger problem as suddenly smplayer won’t play any videos. White blank screens. Is there a way to revert to my system prior to the “update”?

You can try booting with the previous kernel. It should be one of the advanced boot options.

Another surprise. That made no difference.

How much was updated in your most recent updates?

There was an update a while back, that included some xorg libraries. But these are libraries for which the nvidia driver has its own versions. If you are back to the non-nvidia versions of those libraries, that would cause problems.

Check in “/usr/lib” (for 32-bit) or “/usr/lib64” (for 64-bit). Check the output of:


ls -l libGL*

On my box with nvidia, I get:


lrwxrwxrwx 1 root users     10 Feb  8 11:16 libGL.so -> libGL.so.1
lrwxrwxrwx 1 root users     16 Feb  8 11:16 libGL.so.1 -> libGL.so.304.117

plus other lines of output. I’m using nvidia driver 304.117. You can see that the library in an nvidia provided library.

You probably have a different driver. But, as far as I know, nvidia uses a fairly consistent naming scheme so you will be able to recognize whether you are ending up in an nvidia provided library.

On 2014-03-02 02:06, nrickert wrote:

> On my box with nvidia, I get:
>
> Code:
> --------------------
>
> lrwxrwxrwx 1 root users 10 Feb 8 11:16 libGL.so → libGL.so.1
> lrwxrwxrwx 1 root users 16 Feb 8 11:16 libGL.so.1 → libGL.so.304.117
>
> --------------------

Now, that is curious. I don’t, on two installs using the proprietary
nvidia driver.


> cer@Telcontar:~> ls -l /other/Elessar/usr/lib64/libGL.so.1
> lrwxrwxrwx 1 root root 14 Dec 20 17:49 /other/Elessar/usr/lib64/libGL.so.1 -> libGL.so.1.2.0
>
> cer@Telcontar:~> ls -l /usr/lib64/libGL.so.1
> lrwxrwxrwx 1 root root 14 Feb 26 09:15 /usr/lib64/libGL.so.1 -> libGL.so.1.2.0

And, apparently, Nvidia is working correctly on both, at least on X.

However, I do have:


/usr/X11R6/lib/libGL.so.331.49
/usr/X11R6/lib64/libGL.so.331.49

(confused and sleepy).

Mmm… got it, I think - the links are on a different directory:


> cer@Telcontar:~> l /usr/X11R6/lib/libGL*
> -rw-r--r-- 1 root root     652 Feb 25 13:47 /usr/X11R6/lib/libGL.la
> lrwxrwxrwx 1 root root      10 Mar  1 12:03 /usr/X11R6/lib/libGL.so -> libGL.so.1*
> lrwxrwxrwx 1 root root      15 Mar  1 12:03 /usr/X11R6/lib/libGL.so.1 -> libGL.so.331.49*
> -rwxr-xr-x 1 root root 1001752 Feb 25 13:47 /usr/X11R6/lib/libGL.so.331.49*
> lrwxrwxrwx 1 root root      22 Mar  1 12:03 /usr/X11R6/lib/libGLESv1_CM.so.1 -> libGLESv1_CM.so.331.49*
> -rwxr-xr-x 1 root root   55312 Feb 25 13:47 /usr/X11R6/lib/libGLESv1_CM.so.331.49*
> lrwxrwxrwx 1 root root      19 Mar  1 12:03 /usr/X11R6/lib/libGLESv2.so.2 -> libGLESv2.so.331.49*
> -rwxr-xr-x 1 root root   52208 Feb 25 13:47 /usr/X11R6/lib/libGLESv2.so.331.49*
> cer@Telcontar:~>


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

This is because you installed it from the repo, installing it the “hard way” is different, and actually overwrites xorg’s original file in /usr/lib or /usr/lib64,. and it’s not recreated if you uninstall the driver. To get OpenGL back for nouveau one can reinstall xorg-x11-server.

My /usr/lib64 had no nvidia provided libraries in it. So I decided to start from scratch. Using Yast2 I deleted all nvidia references. I checked that nouveau was installed and rebooted. Then I used the one-click nvidia install from https://en.opensuse.org/SDB:NVIDIA_drivers. When I rebooted neither nouveau nor nv, nor nvidia were present when I invoked lsmod. One module called i2c_nforce2 (nforce being an nvidia word) looks highly suspicious. I get to a graphic screen but none of my media players work.

So it looks to me that the one-click method either failed altogether or introduced the i2c_nforce2 module. I would like to avoid a re-install of 12.3. It’s too reminiscent of Windows 3.1 re-installs and one of the reasons I joined the Linux camp. Any further suggestions would be much apprediated.

Go to Yast and be sure you have the NVIDIA repos active. Search for NVIDIA and be sure you have the correct versions of the files for you card and kernel. I don’t fully trust the one click

On 2014-03-02 15:26, hank se wrote:
> This is because you installed it from the repo, installing it the “hard
> way” is different, and actually overwrites xorg’s original file in
> /usr/lib or /usr/lib64,. and it’s not recreated if you uninstall the
> driver. To get OpenGL back for nouveau one can reinstall
> xorg-x11-server.

I see.


Cheers / Saludos,

Carlos E. R.
(from 13.1 x86_64 “Bottle” at Telcontar)

The solution turned to be using none of the SDB : Nvidia methods. I browsed to the Nvidia home page, downloaded the specific installation file (*.run) for the 6150 card, made it executable, and ran it as root from a level 3 boot. A reboot brought me back to where I was before the zypper update. I’m going to be a little more cautious next time I update.

Thanks for all the suggestions.