xopher

Revision 3 as of 2006-11-20 01:35:08

Clear message

How to include a newer NVIDIA driver into the linux-restricted-modules package

Introduction

This page details how to make your own nvidia-glx integrated to the linux-restricted-modules package.

Setting up repositories

Add this source entry into your /etc/apt/sources.list

deb-src http://fi.archive.ubuntu.com/ubuntu edgy main restricted universe multiverse

Getting the source

Then cd to a directory where you want do to the compiling and get the source by issuing this commmand

apt-get source nvidia-glx

Now let's satisfy the build dependencies (If you're building with pbuilder you can skip this step)

sudo apt-get build-dep nvidia-glx

Download the driver packages

You need both of these packages for the linux-restricted-modules:

[http://us.download.nvidia.com/XFree86/Linux-x86/1.0-9742/NVIDIA-Linux-x86-1.0-9742-pkg1.run NVIDIA-Linux-x86-1.0-9742-pkg1.run] [http://us.download.nvidia.com/XFree86/Linux-x86_64/1.0-9742/NVIDIA-Linux-x86_64-1.0-9742-pkg2.run NVIDIA-Linux-x86_64-1.0-9742-pkg2.run]

Exchanging files from the archive

Open linux-restricted-modules-2.6.17_2.6.17.6.orig.tar.gz in e.g. file-roller. Go to /linux-restricted-modules-2.6.17-2.6.17.6.orig/nvidia/ (in fileroller) and delete the old (8776) driver, which you want to replace, still leaving the nvidia legacy drivers intact. After this, add the files you downloaded to the archive.

Editing the other files

Extract linux-restricted-modules-2.6.17_2.6.17.6-1.1.diff.gz and open the .diff file in your favorite text editor.

1. Find and replace all instances of 8776 with 9742 - The 8776 in the changelog section you can leave unchanged. 2. Find and replace:

$(nv_dirname)/usr/X11R6/lib/modules/drivers/'''nvidia_drv.o''' with
$(nv_dirname)/usr/X11R6/lib/modules/drivers/'''nvidia_drv.so'''

3. Find:

+linux-restricted-modules-2.6.17 (2.6.17.6-1.1) edgy-security; urgency=low

Add this section above that line (to bump the version number and update the changelog):

+linux-restricted-modules-2.6.17 (2.6.17.6-1.'''2''') edgy-security; urgency=low
+
+  * Updated the NVIDIA driver to version 9742.
+
+ -- Christoffer Karvonen <mail@yourhost.com>  Mon, 20 Nov 2006 02:46:43 +0200
+

As we have added six (6) lines to the file, the above line must be altered from: @@ -0,0 +1,1319 @@ to @@ -0,0 +1,1325 @@

Instead of my name and email you can of course put your own.

Allright, all the hard stuff is done. Save the file. Then rename the file to linux-restricted-modules-2.6.17_2.6.17.6-1.2.diff and gzip it.

Now all we have to do is edit linux-restricted-modules-2.6.17_2.6.17.6-1.1.dsc, again, open it with your favorite text editor.

Find and replace: Version: 2.6.17.6-1.1 with Version: 2.6.17.6-1.2 linux-restricted-modules-2.6.17_2.6.17.6-1.1.diff.gz with linux-restricted-modules-2.6.17_2.6.17.6-1.2.diff.gz

Now we need to replace the MD5SUM's and sizes in the .dsc with new one's. Commands to do this are: {{{ md5sum <filename> ls -lh <filename> }}}

Be sure you get the sums of the correct files; linux-restricted-modules-2.6.17_2.6.17.6.orig.tar.gz and linux-restricted-modules-2.6.17_2.6.17.6-1.2.diff.gz

Rename linux-restricted-modules-2.6.17_2.6.17.6-1.1.dsc to linux-restricted-modules-2.6.17_2.6.17.6-1.2.dsc and we're set to go.

To build it either with pbuilder:

 sudo pbuilder build linux-restricted-modules-2.6.17_2.6.17.6-1.1.dsc 

or without it:

&&& Extract the source with  dpkg-source -x , change to the directory it was exdtracted in and run  dpkg-buildpackage -rfakeroot 

It takes a while to compile, but eventually finishes Wink ;)

Enjoy your brand new l-r-m and nvidia-glx debs!