Unable to get GUI working after update - NVIDIA Driver mismatch

Hi,

I hope someone can help me fix a problem. Yesterday, using kpackagekit, I updated the Nvidia driver on an openSuSE 11.4 box. After reboot the system does not load the usual graphical sign-on screen.

I’ve tried running startx manually as root and it comes up with the following error:

Error: API mismatch: the NVIDIA kernel module has version 295.49,
but this NVIDIA driver component has version 295.71. Please make
sure that the kernel module and all NVIDIA components
have the same version.

I guess I could worst-case re-install 11.4 but was hoping someone smarter than myself can walk me through a command line fix for this.

On 08/10/2012 03:26 PM, philipg27 wrote:
>
> Hi,
>
> I hope someone can help me fix a problem. Yesterday, using kpackagekit,

never use packagekit! always use YaST Online Update or “zypper patch” to
update (not “zypper dup” or “zypper up”)

> I updated

when you say ‘update’ what do you mean? i ask because in specific
openSUSE-speak an update is done via YaST Online Update or “zypper patch”…

> the Nvidia driver on an openSuSE 11.4 box.

and, i ask what you did (what you mean by ‘update’) because no update
will change any nvidia driver…

so, you must have done something wrong…used the wrong tool or
procedure or something…

> After reboot the
> system does not load the usual graphical sign-on screen.

not surprising…

> I’ve tried running startx manually as root and it comes up with the
> following error:

running X as root is a no-no, don’t do it…

> I guess I could worst-case re-install 11.4 but was hoping someone
> smarter than myself can walk me through a command line fix for this.

well, first we have to understand what you did before we can help you
undo it…this will help us know the next step: please show us the
terminal input/output from


zypper lr -d
uname -a
cat /etc/SuSE-release

copy/paste the in/output back to this thread using the instructions
here: http://goo.gl/i3wnr


dd http://tinyurl.com/DD-Caveat

Hi,

Thanks for helping. Here are the results you asked for

zypper lr -d


#  | Alias                             | Name                                    | Enabled | Refresh | Priority | Type   | URI                                                                         | Service
---+-----------------------------------+-----------------------------------------+---------+---------+----------+--------+-----------------------------------------------------------------------------+--------
 1 | Chromium_Fix                      | Chromium Fix                            | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/network:/chromium/openSUSE_11.4   | 
 2 | Packman Repository                | Packman Repository                      | Yes     | Yes     |   99     | rpm-md | http://packman.inode.at/suse/openSUSE_11.4/                                 | 
 3 | Updates-for-openSUSE-11.4-11.4-0  | Updates for openSUSE 11.4 11.4-0        | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/update/11.4/                                   | 
 4 | geflei                            | geflei                                  | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/home:/geflei/openSUSE_11.4/       |  
 5 | google-chrome                     | google-chrome                           | Yes     | Yes     |   99     | rpm-md | http://dl.google.com/linux/chrome/rp/stable/i386                            |        
 6 | libdvdcss repository              | libdvdcss repository                    | Yes     | Yes     |   99     | rpm-md | http://opensuse-guide.org/repo/11.4/                                        |        
 7 | nVidia Graphics Drivers           | nVidia Graphics Drivers                 | Yes     | Yes     |   99     | rpm-md | ftp://download.nvidia.com/opensuse/11.4/                                    |        
 8 | openSUSE-11.4-11.4-0              | openSUSE-11.4-11.4-0                    | Yes     | No      |   99     | yast2  | cd:///?devices=/dev/disk/by-id/ata-HL-DT-STDVD-RAM_GH22LS30,/dev/sr0        |        
 9 | openSUSE:11.4:Contrib             | openSUSE:11.4:Contrib                   | Yes     | Yes     |   99     | rpm-md | http://download.opensuse.org/repositories/openSUSE:/11.4:/Contrib/standard/ |        
10 | repo-debug                        | openSUSE-11.4-Debug                     | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/distribution/11.4/repo/oss/              |        
11 | repo-debug-update                 | openSUSE-11.4-Update-Debug              | No      | Yes     |   99     | NONE   | http://download.opensuse.org/debug/update/11.4/                             |        
12 | repo-non-oss                      | openSUSE-11.4-Non-Oss                   | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.4/repo/non-oss/                |        
13 | repo-oss                          | openSUSE-11.4-Oss                       | Yes     | Yes     |   99     | yast2  | http://download.opensuse.org/distribution/11.4/repo/oss/                    |        
14 | repo-source                       | openSUSE-11.4-Source                    | No      | Yes     |   99     | NONE   | http://download.opensuse.org/source/distribution/11.4/repo/oss/             |  

uname -a


Linux natalie 2.6.37.6-0.20-desktop #1 SMP PREEMPT 2011-12-19 23:39:38 +0100 i686 i686 i386 GNU/Linux

cat /etc/SuSE-release


openSUSE 11.4 (i586)
VERSION = 11.4
CODENAME = Celadon

I’m afraid that your advice on KPackageKit comes a little too late. Since it’s part of the standard desktop I rather rashly assumed it was something I should use it ! :frowning:

To clarify what I believe I did yesterday. I launched KPackageKit and rather stupidly selected the “update” “x11-video-nvidiaG02”. Looking at my other linux box I see that I probably missed the “nvidia-gfxG02-kmp-desktop” and “nvidia-computeG02” updates.

HTH

All you need is probably to update nvidia-gfxG02-kmp-desktop manually:


zypper update nvidia-gfxG02-kmp-desktop

See this post: http://forums.opensuse.org/english/get-technical-help-here/hardware/474525-nvidia-driver-295-40-15-1-crashes-my-system-7.html#post2465427

I don’t know why, this package sometimes doesn’t get updated.

On 08/10/2012 05:06 PM, philipg27 wrote:
>
> I’m afraid that your advice on KPackageKit comes a little too late.
> Since it’s part of the standard desktop I rather rashly assumed it was
> something I should use it ! :frowning:

i know…lots of folks assume it is a good thing to use, but it is
not…you can read hundreds of post (maybe thousands) in these fora say
to not use it–instead either right click and disable or use YaST to
delete it (i deleted it on my 11.4 as i installed 11.4 in Feb of last
year…and, when moving to 12.x i will elect to not install it)

if i had my way it wouldn’t be installed on openSUSE (since we have a
MUCH better system for us in YaST/zypper) but, it is not up to me.

> To clarify what I believe I did yesterday. I launched KPackageKit and
> rather stupidly selected the “update” “x11-video-nvidiaG02”. Looking at
> my other linux box I see that I probably missed the
> “nvidia-gfxG02-kmp-desktop” and “nvidia-computeG02” updates.

i’m not precisely sure how to fix this…

but, i do not believe it is just a matter of adding
“nvidia-gfxG02-kmp-desktop” and “nvidia-computeG02”…it may be that
but your error message said you have a mismatch of “NVIDIA kernel module
has version 295.49, but this NVIDIA driver component has version 295.71”
that error message didn’t say anything was missing but rather not
matching…

and looking at your list of repos, i recommend (after you get this
driver thing fixed) you read and follow the great advice in the
paragraph beginning with “IMPORTANT” in this note to new folks:
http://tinyurl.com/33qc9vu

and, you might note how my repos look on a day to day basis, here:
http://paste.opensuse.org/83273901 where you will note that i don’t give
the system the chance to ‘see’ a tiny step increase in a nvidia driver
(or anything else) and offer me the opportunity to pull the trigger and
kill my system with mismatched software without thinking…

on the other hand, if i am having trouble with my nvidia, and want to do
something about it i would review the various how-tos and on a temporary
basis enable the nvidia repos and carefully proceed, while thinking…

you might be able to get out of your current mess by doing just that,
begin here: http://tinyurl.com/37v9y7m

i think if you methodically work your way through the nvidia part of
that guide you can manage to get the best driver installed…

do NOT panic and wipe out your data (you have a good backup, right?)

and, if failsafe works then your system can work right again, once you
get the right driver back into it…

please post again if you need better help discovering which driver you
need, and how to get it installed…

and, no matter what–tend to those repos and let us know how you get on.


dd http://tinyurl.com/DD-Caveat

On 08/10/2012 05:46 PM, please try again wrote:
> zypper update nvidia-gfxG02-kmp-desktop

+1

note to philipg27: this “please try again” guy is a real guru and is
usually right on, so give his a try before wading into that driver
fixing link i gave you…

and, afterward his advice helps, fix your repos and disable packagekit
(and update regularly with YaST Online Update or “zypper patch”…)


dd

Thanks for your advice (I always wondered why I had KPackageKit and zypper as options to update !)Interestingly I’ve tried "please_try_again"s advice and it comes up with a message

Digest Verification failed for nvidia-gfxG02-kmp-desktop-295.71.k2.6.37.1_1.2-17.1.i586...- nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586.rpm has wrong checksum

so perhaps there is something wrong with the update. I’m going to drop out for the evening and then have a fresh look in the morning.

  • Remove that file from /var/cache/zypp/packages/nVidia*/i586 and /var/cache/zypper/RPMS (if it’s there)
  • Refresh the Nvidia repo (number 7 in your list)
zypper ref 7
  • Try again
zypper update nvidia-gfxG02-kmp-desktop

Hi,

I removed the rpm in /var/cache/zypp/packages/nVidia*/i586 and then ran the two commands

zypper ref 7
zypper update nvidia-gfxG02-kmp-desktop

Sadly I still have the same checksum error.

Any other thoughts ?

On 08/10/2012 09:36 PM, philipg27 wrote:
> Any other thoughts ?

http://tinyurl.com/37v9y7m


dd http://tinyurl.com/DD-Caveat

I downloaded this file and checked the md5 sum:


$ md5sum nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586.rpm 
0638de51fa701178eecf06dcdace7d55  nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586.rpm

Can you do the same with the file you have?

Hi

I’ve checked the file and came up with the same md5sum

md5sum nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586.rpm 0638de51fa701178eecf06dcdace7d55  nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586.rpm



Hmm…
Do a zypper refresh and make sure that all repos are up to date. Then try again.

If it doesn’t help, look for the directory /var/cache/zypp/solv/nVidia… something and delete it. Then refesh the repos metadata again.

# zypper refresh

If it still doesn’t work, it could me that this checksum is indeed bad after all. Try to reinstall x11-video-nvidiaG02 with the --force option:

# zypper --force x11-video-nvidiaG02

and see if it updates the kernel module this time.

Also show us which nvidia and kernel packages you have installed right now:

# rpm -qa | grep -e nvidia -e kernel

and which nvidia kernel modules are there:

# find /lib/modules -type f -name "nvidia*"

If nothing helps, you can still copy the rpm to your /tmp directory an manually install it from there with zypper in, zypper --force in or even rpm -i. You will get a vendor conflict warning at the next update, but it is solvable.

Hi, thanks for taking the time to help.

No joy so far. I’ve performed the following.

Delete /var/cache/zypp/solv/nVidia*, then

zypper refresh

zypper update nvidia-gfxG02-kmp-desktop

<snip>

Digest verification failed for nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586.rpm. Expected 7505d4304563aa905f8950de1a4c434a3ca2d7f9, found 0f272b49f1fccdbc1938aba02831dac9fb9f03d9. Continue? [yes/no] (no): yes
Package nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1 seems to be corrupted during transfer. Do you want to retry retrieval?

followed by this

zypper update --force x11-video-nvidiaG02
Loading repository data...                                                                 
Reading installed packages...                                                              
No update candidate for 'x11-video-nvidiaG02-295.71-18.1.i586'. The highest available version is already installed.                                                                   
Resolving package dependencies...

I also tried rpm to install the package:

cd /tmp/
natalie:/tmp # rpm -i nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586.rpm
        file /lib/modules/2.6.37.1-1.2-desktop/updates/nv-kernel.o from install of nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586 conflicts with file from package nvidia-gfxG02-kmp-desktop-295.49_k2.6.37.1_1.2-16.1.i586
        file /lib/modules/2.6.37.1-1.2-desktop/updates/nv-linux.o from install of nvidia-gfxG02-kmp-desktop-295.71_k2.6.37.1_1.2-17.1.i586 conflicts with file from package nvidia-gfxG02-kmp-desktop-295.49_k2.6.37.1_1.2-16.1.i586

finally to answer which versions I have right now:

rpm -qa | grep -e nvidia -e kernel
x11-video-nvidiaG02-295.71-18.1.i586
nvidia-gfxG02-kmp-desktop-295.49_k2.6.37.1_1.2-16.1.i586
nvidia-computeG02-295.71-18.1.i586
kernel-desktop-2.6.37.6-0.20.1.i586
natalie:/tmp # find /lib/modules/ -type f -name "nvidia*"
/lib/modules/2.6.37.1-1.2-desktop/updates/nvidia.ko
/lib/modules/2.6.37.6-0.20-desktop/kernel/drivers/video/nvidia/nvidiafb.ko

Yes, that’s a problem I’ve encountered before on several machines, and other people reported the same issue. Normally, manuall updating the kernel module - as I suggested in post #4 - would solve it. It didn’t work in you case because of this checksum mismatch.

You can uninstall x11-video-nvidiaG02 and make sure that the old nvidia-gfxG02-kmp-desktop is not in your cache (/var/cache/zypp/packages/nVida… and /var/cache/zypper/RPMS). Also uninstall the others if necessary:


# zypper rm x11-video-nvidiaG02
# zypper rm nvidia-computeG02
# zypper rm nvidia-gfxG02-kmp-desktop

Then reinstall x11-video-nvidiaG02


# zypper in x11-video-nvidiaG02

It’s impossible that it installs the wrong kernel module because this package is not in the repo anymore. What could happens is that it doesn’t install it at all, but this time, you will be able to install it manually, because the older one will be gone.

THANKS pta - Problem solved.

removed nvidia driver as suggested:

zypper rm x11-video-nvidiaG02Retrieving repository 'Packman Repository' metadata [done]
Building repository 'Packman Repository' cache [done]
Loading repository data...
Reading installed packages...
Resolving package dependencies...


The following package is going to be REMOVED:
  x11-video-nvidiaG02 


1 package to remove.
After the operation, 75.2 MiB will be freed.
Continue? [y/n/?] (y): y
Removing x11-video-nvidiaG02-295.71-18.1 [done]
Additional rpm output:
------------------------------------------------------------------------
Switching the use of "nvidia" driver of NVIDIA to "nv" driver of X.Org
------------------------------------------------------------------------


Patching /etc/X11/xorg.conf ... sed: can't read /etc/X11/xorg.conf: No such file or directory
done




There are some running programs that use files deleted by recent upgrade. You may wish to restart some of them. Run 'zypper ps' to list these programs.
natalie:~ # zypper rm nvidia-computeG02
Loading repository data...
Reading installed packages...
Resolving package dependencies...


The following package is going to be REMOVED:
  nvidia-computeG02 


1 package to remove.
After the operation, 8.0 MiB will be freed.
Continue? [y/n/?] (y): y
Removing nvidia-computeG02-295.71-18.1 [done]
There are some running programs that use files deleted by recent upgrade. You may wish to restart some of them. Run 'zypper ps' to list these programs.                               
natalie:~ # zypper rm nvidia-gfxG02-kmp-desktop
Loading repository data...                                                                 
Reading installed packages...                                                              
Resolving package dependencies...                                                          
                                                                                           
The following package is going to be REMOVED:                                              
  nvidia-gfxG02-kmp-desktop                                                                
                                                                                           
1 package to remove.                                                                       
After the operation, 29.1 MiB will be freed.
Continue? [y/n/?] (y): y
Removing nvidia-gfxG02-kmp-desktop-295.49_k2.6.37.1_1.2-16.1 [done]
There are some running programs that use files deleted by recent upgrade. You may wish to restart some of them. Run 'zypper ps' to list these programs. 

Then re-installed the nvidia driver

 zypper in x11-video-nvidiaG02
Loading repository data...
Reading installed packages...
Resolving package dependencies...


The following NEW packages are going to be installed:
  kernel-default nvidia-computeG02 nvidia-gfxG02-kmp-default preload-kmp-default 
  x11-video-nvidiaG02 


The following recommended package was automatically selected:
  x11-video-nvidiaG02 


5 new packages to install.
Overall download size: 57.2 MiB. After the operation, additional 219.7 MiB will be used.
Continue? [y/n/?] (y): y
Retrieving package kernel-default-2.6.37.6-0.20.1.i586 (1/5), 34.2 MiB (107.3 MiB unpacked)
Retrieving: kernel-default-2.6.37.6-0.20.1.i586.rpm [done (691.1 KiB/s)]
Retrieving package nvidia-gfxG02-kmp-default-295.71_k2.6.37.1_1.2-17.1.i586 (2/5), 3.8 MiB (29.1 MiB unpacked)
<snip>
Retrieving: nvidia-gfxG02-kmp-default-295.71_k2.6.37.1_1.2-17.1.i586.rpm [done (419.7 KiB/s)]
Retrieving package preload-kmp-default-1.2_k2.6.37.6_0.20-6.17.1.i586 (3/5), 40.0 KiB (93.0 KiB unpacked)
Retrieving: preload-kmp-default-1.2_k2.6.37.6_0.20-6.17.1.i586.rpm [done]
Retrieving package nvidia-computeG02-295.71-18.1.i586 (4/5), 2.8 MiB (8.0 MiB unpacked)
Retrieving: nvidia-computeG02-295.71-18.1.i586.rpm [done (351.6 KiB/s)]
Retrieving package x11-video-nvidiaG02-295.71-18.1.i586 (5/5), 16.3 MiB (75.2 MiB unpacked)
Retrieving: x11-video-nvidiaG02-295.71-18.1.i586.rpm [done (406.5 KiB/s)]
Installing: kernel-default-2.6.37.6-0.20.1 [done]
Additional rpm output:


Kernel image:   /boot/vmlinuz-2.6.37.6-0.20-default
Initrd image:   /boot/initrd-2.6.37.6-0.20-default
Root device:    /dev/disk/by-id/ata-WDC_WD15EARS-00MVWB0_WD-WMAZA3979135-part5 (/dev/sda5) (mounted on / as ext4)
Kernel Modules: libata pata_jmicron ata_piix ata_generic hwmon thermal_sys thermal processor fan rtc-lib rtc-core rtc-cmos crc16 jbd2 ext4 usbcore ohci-hcd ehci-hcd uhci-hcd hid usbhid 
Features:       block usb resume.userspace resume.kernel
Bootsplash:     openSUSE (1280x1024)
47256 blocks




Installing: nvidia-gfxG02-kmp-default-295.71_k2.6.37.1_1.2-17.1 [done]
Installing: preload-kmp-default-1.2_k2.6.37.6_0.20-6.17.1 [done]
Installing: nvidia-computeG02-295.71-18.1 [done]
Installing: x11-video-nvidiaG02-295.71-18.1 [done]
Additional rpm output:
------------------------------------------------------------------------
Switching the use of "nv" driver of X.Org to "nvidia" driver of NVIDIA
------------------------------------------------------------------------


head: cannot open `/etc/X11/xorg.conf' for reading: No such file or directory
SaX2 generated xorg.conf not available!
grep: etc/X11/xorg.conf: No such file or directory
Warning! MD5DIR is not set: you probably called this script outside SuSEconfig...!
Using MD5DIR="/var/adm/SuSEconfig/md5"...
No changes for /etc/X11/xdm/Xservers
No changes for /etc/X11/xdm/xdm-config

The only co-lateral damage is that I’ve 2 new entries in the grub, which I can fix…

Once again thanks for taking the time to help.

Well … That nvidia package is kind of buggy, I’d say. As you might have noticed, It installed kernel-default. You had kernel-desktop before. Now you have the two kernels and the nvidia module for only one of them.

You can still try to intall nvidia-gfxG02-kmp-desktop from the rpm file (If you try from the repo you might get this checksum error again).

Once it works as expected - and if you’re not after the latest nvidia driver - you could disable the nvidia repo. Then it won’t get refreshed and the driver won’t get updated.

 zypper mr -d ... followed by repo name, alias or number (obtained from zypper lr)

If you want to re-enable it, because you heard that the latest nvidia driver is the best of all time, you can use

 zypper mr -e ... followed by repo name, alias or number (obtained from zypper lr)

But it’s kind of unneeded, and you don’t find the latest nvidia driver in this repo anyway.