Install the nVidia 8178 driver with linux kernel 2.6.16 and higher

From OoKoo.org

Jump to: navigation, search

Problem

On the new kernels (starting version 2.6.16), some functions (which were deprecated) were removed. This is a problem for the drivers which were still using those functions, like the nVidia graphic driver.

The changes which happened on the 2.6.16 and newer kernels which blocks nVidia driver are:

  • Function remap_page_range was removed
  • Function pci_find_class was renamed to pci_get_class
  • The struct struct rlimit was changed

This guide is for those who use a nVidia graphic card with a 2.6.16 kernel.

Guide

The first step is to locate the nVidia driver. Currently the last version is the 8178, and is not compatible with 2.6.16 kernels. NVidia will probably release a working driver soon, making this guide useless.

The last version driver can be downloaded from: http://www.nvidia.com/object/unix.html

Once you've checked there's no newer driver, type the bold commands in the following transcript:

Mori:/tmp/test$ wget http://download.nvidia.com/XFree86/Linux-x86/1.0-8178/NVIDIA-Linux-x86-1.0-8178-pkg1.run
(wget downloading the file)
Mori:/tmp/test$ sh NVIDIA-Linux-x86-1.0-8178-pkg1.run -x
Creating directory NVIDIA-Linux-x86-1.0-8178-pkg1
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 1.0-8178.....................................
Mori:/tmp/test$ cd NVIDIA-Linux-x86-1.0-8178-pkg1
Mori:/tmp/test/NVIDIA-Linux-x86-1.0-8178-pkg1$ curl -s http://ookoo.org/files/nvidia_8178_kernel_2.6.16_fix.diff | patch -p1
patching file usr/src/nv/nv-linux.h
patching file usr/src/nv/os-interface.c
Mori:/tmp/test/NVIDIA-Linux-x86-1.0-8178-pkg1$ ./nvidia-installer

Now, you have the usual nVidia installer. Just install the driver as usual (remember to shutdown your X server). The compilation process should not crash (at least not because of the kernel 2.6.16+).

Personal tools
In other languages