xopher

Revision 4 as of 2006-11-20 01:44:37

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 [ NVIDIA-Linux-x86-1.0-9742-pkg1.run NVIDIA-Linux-x86_64-1.0-9742-pkg2.run ] to the archive.

Editing the .diff file

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''' @@

You can of course replace my name and email with your own.

Save the file. Then rename the file to linux-restricted-modules-2.6.17_2.6.17.6-1.2.diff and gzip it.

Making some final touches (the .dsc file)

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 MD5SUM's (and sizes) 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 the .dsc file

mv linux-restricted-modules-2.6.17_2.6.17.6-1.1.dsc linux-restricted-modules-2.6.17_2.6.17.6-1.'''2'''.dsc

Building it

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 extracted to and run

dpkg-buildpackage -rfakeroot

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

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