[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: nvidia building from source (2.6.15)



Sebastian Haase wrote:

On Wednesday 05 April 2006 23:43, Jo Shields wrote:
Sebastian Haase wrote:
<snip>
Thanks (I'm back ...)
- Sebastian Haase
Build one. Add a normal 32-bit mirror's deb-src to /etc/apt/sources.list
(e.g. "deb-src http://mirror.ox.ac.uk/debian unstable non-free").
Install some building-related bits & bobs ("apt-get build-dep
nvidia-glx"). Download the package source ("apt-get source nvidia-glx").
Change to that folder ("cd nvidia*"). If building >7174 on Sarge, tweak
debian.binary/rules (change DH_COMPAT to some smaller number like 3 or
2). Run "dpkg-buildpackage". Change down a folder ("cd .."). Install the
kernel source package ("dpkg -i nvidia-kernel-source_*_amd64.deb").
Install module-assistant and build-essential - and an appropriate GCC if
not using your standard system gcc for kernels (e.g. on Sarge, you must
install gcc-3.4 here or you'll get misleading rivafb errors - use "cat
/proc/version" to check; "aptitude install module-assistant
build-essential"). Compile & install the kernel module ("m-a a-i
nvidia"). Load the module (If you've an older module loaded, then run
"modprobe -r nvidia" first. Then, "modprobe nvidia && echo nvidia >>
/etc/modules"). Install the driver packages ("dpkg -i nvidia-glx*").
Tell X to use nvidia instead of nv ("dpkg-reconfigure
xserver-(xfree86|xorg)"). Restart X ("/etc/init.d/*dm restart").

Building non-free packages isn't automatic, especially on unofficial
architectures, which is why this sort of thing becomes neccessary.

--Jo Shields

Thanks Jo, for the details.
OK - I found "nvidia-installer --uninstall"
You remind(claim?) that nvidia only works (well) when built with gcc-3.4 !?
But just /installing/ gcc-3.4 would not be enough ! How and at what step can I tell the build-chain to really use 3.4 ??

It doesn't really matter what GCC you use, as long as the compiler used for the kernel (as detailed by cat /proc/version) is installed. All Sarge kernels on AMD64 use GCC 3.4 - however, due to a bug in rdonald's build scripts, if you don't have the right compiler installed, you are given a useless error message (telling you that rivafb is compiled into your kernel). You merely need to have it INSTALLED - the build script automatically selects & uses the correct version.

Also: your line "modprobe nvidia && echo nvidia >> /etc/modules" suprises me: In the past I never needed this for nvidia ! It just gets auto-loaded when X starts ! (I thought it was not according to debian policy to change /etc/modules anyway ;-) )

The module is auto-loaded when something tries to play with /dev/nvidia* - however, the /dev/nvidia* device nodes, on a modern udev-based system, are only created when there are nvidia-related entries in /sys. nvidia stuff only appears in /sys AFTER the module is already loaded.

--Jo Shields



Reply to: