nvidia glx on kernel 2.6.21 and xorg 1.3


Eureka! I finally got nvidia-glx working after my upgrade to xorg-xserver-core-1.3.0 and the kernel-image-2.6.21-686 which broke my x configuration: the nvidia_drv.o provided by nvidia-glx refused to load. See bug 420177: seems there’s an incompatibility. The upgrade had resulted in the “nv” driver being loaded which is slow and doesn’t do OpenGL :-(.

So I removed nvidia-glx-1.0.9755-1, nvidia-kernel-2.6.18-4-686 and old kernel sources. Since I’d got kernel 2.6.21 running I downloaded the Debian sources into /usr/src and made a custom kernel (you need kernel-package). The important config seems to be:

# CONFIG_PARAVIRT is not set
# CONFIG_FB_RIVA is not set

the Riva module apparently causes problems. I built and installed a new kernel with:

make-kpkg --revision=custom=x.x --initrd kernel_image
dpkg -i ../linux-image-2.6.21_custom.x.x.i686.deb

I know there’s a way of using fakeroot but I haven’t figured it out yet, so I just su and do it as root.

After booting the new kernel and checking that the nvidia module would load I went on to building the nvidia-glx-sources. Had a bit of trouble last night with a weird error – see bug 425692

LD [M] /usr/src/modules/fglrx/fglrx.o
Building modules, stage 2.
MODPOST 1 modules
FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'paravirt_ops'

but with CONFIG_PARAVIRT off in my kernel config I had no problems. I installed nvidia-kernel-source, nvidia-glx and nvidia-common. The source file installs to /usr/src, I choose to build it there:

cd /usr/src
tar xzf nvidia-kernel-source.tar.gz
cd linux *link to linux-source-2.6.21
make-kpkg modules_image
cd ..
dpkg -i nvidia-kernel-2.6.21*.deb

and that done the only thing left was to change xorg.conf to use the ‘new’ driver. I replaced Driver “nv” with Driver “nvidia” did a reboot and X started fine. Much faster now I’m back to the nvidia driver – phew! :)

I also found this page in the Debian wiki useful.


One Response to “nvidia glx on kernel 2.6.21 and xorg 1.3”

  1. 1 Jose Luis


    This configuration was over 32 bits kernel or 64 ?


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: