Tuesday, March 3, 2009

Kernel upgrade removes NVIDIA module

Using YOU (YaST Online Update) on openSUSE, I upgraded to new kernel version and after restarting system, NVIDIA module cannot be found. I was back to runlevel 3.
To go back to runlevel 5 you have to edit your /etc/X11/xorg.conf and comment the line with # like this:
# driver "nvidia"

or change "nvidia" to "nv" so it looks like this
driver "nv"

Restart your system or try to start X server using:
$ startx

After you reached init 5, go to YaST and serach installed packages with NVIDIA search key. Remove that installed packages to remove old uncompatibile drivers.

From NVIDIA download page, download latest driver that fits your system:
http://www.nvidia.com/object/unix.html

If you are not sure wich driver is right for you, try using this link:
http://www.nvidia.com/Download/index.aspx

Prerequisites
* compiler gcc,
* program make and
* package kernel-source

If you don't have them installed you can do it using YaST.

Go to runlevel 3 by typing the following comand as root in one of the consoles (which you can access by pressing ctrl-alt-f1)
$ init 3

Now go to the directory containing the drivers.
$ cd /the/path/where/you/saved/the/drivers/from/nvidia/website

Now simply type the following and follow instructions
$ sh NVIDIA-Linux-x86_64-180.29-pkg2.run -q

Installer will try to compile nvidia module for your new version of kernel.

The next step is to configure the X.org to use the new nvidia drivers. To do this, type the following
$ sax2 -r -m 0=nvidia

To go back to runlevel 5 type:
$ init 5

After each kernel update you need to run
$ sh NVIDIA-Linux-x86_64-180.29-pkg2.run -K

1 comment:

zly said...

sax2 is abandoned in openSUSE from version 11.3 so use this after installer is done:

$ modprobe nvidia

Then:
$ rcxdm start

This starts the X server.