Ubuntu 12.04 LTS - Black Screen at boot After changing Nvidia Driver

Solution 1:

i have same issue.

In /var/log/syslog i have found next lines:

[   13.834336] NVRM: API mismatch: the client has the version 319.32, but
[   13.834336] NVRM: this kernel module has the version 304.88.  Please
[   13.834336] NVRM: make sure that this kernel module and all NVIDIA driver
[   13.834336] NVRM: components have the same version.

It`s mean, that 2 kerenl modules installed.

In dkms i have seen 2 modules installed.

dkms status
nvidia-304-updates, 304.88, 3.5.0-39-generic, x86_64: installed
nvidia-319-updates, 319.32, 3.5.0-39-generic, x86_64: installed

Just delete previous module, and it work`s for me.

sudo apt-get purge nvidia-304 nvidia-304-updates

Solution 2:

after some tests I found that packages:

nvidia-current
nvidia-304
nvidia-settings
nvidia-settings-304

work for all kernels 3.2.0-* and 3.8.0-*,

while packages:

nvidia-current-updates
nvidia-experimental-304
nvidia-304-updates
nvidia-settings-updates
nvidia-settings-experimental-304
nvidia-settings-304-updates
nvidia-319
nvidia-experimental-310
nvidia-319-updates
nvidia-settings-319
nvidia-settings-experimental-310
nvidia-settings-319-updates

work for Kernel 3.8.0-* only.

Ubuntu jockey still Recommend 319 version also when kernel 3.2.0-* only are present. So a bug here.

Furthermore the commands:

$ sudo apt-get purge nvidia-current
$ sudo apt-get install nvidia-current

or

$ sudo dpkg-reconfigure nvidia-current

install the driver for only one version of kernel for each minor version, and remove it for all the others.

So, in my case that I have the following kernels installed:

3.8.0-32-generic
3.2.0-55-generic-pae
3.2.0-55-generic
3.2.0-54-generic-pae
3.2.0-54-generic
3.2.0-53-generic-pae
3.2.0-53-generic
3.2.0-52-generic-pae
3.2.0-52-generic
3.2.0-51-generic-pae
3.2.0-51-generic
3.2.0-49-generic-pae
3.2.0-49-generic

I got the driver only for:

3.8.0-32-generic
3.2.0-55-generic-pae

while booting with the other kernels, the driver results not installed.

Seems to me that somewhere in the package there is a wrong indication to build and install for some kernel only.

Anywhere, issuing the following command fix the situation:

$ sudo dkms install nvidia-304/304.88 -k 3.8.0-32-generic
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-55-generic
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-55-generic-pae
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-54-generic
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-54-generic-pae
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-53-generic
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-53-generic-pae
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-52-generic
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-52-generic-pae
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-51-generic
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-51-generic-pae
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-49-generic
$ sudo dkms install nvidia-304/304.88 -k 3.2.0-49-generic-pae

until the next apt-get install nvidia-current or reconfigure

Thread: Nvidia driver updated - mixed versions of 304.88 and 319.32 is related to the same, but I had no enough credit to post there.