Nvidia Linux driver 100.14.11 and Linux kernel 2.6.23

Well, they're not working together. Unless you're not willing to tweak it a little bit. So, out of the box, you won't be able to test brand new Linux CFS scheduler, merged in the 2.6.23-rc1 release, if you drive your Nvidia card with the proprietary driver. I guess that's what we get for running binary drivers.

Fortunately, the driver needs only few simple fixes to compile properly. I'm attaching them in the patch form below. What you need to do is:

% NVIDIA-Linux-x86-100.14.11-pkg1.run -x
Creating directory NVIDIA-Linux-x86-100.14.11-pkg1
Verifying archive integrity... OK
Uncompressing NVIDIA Accelerated Graphics Driver for Linux-x86 100.14.11.....
% cd NVIDIA-Linux-x86-100.14.11-pkg1
% patch -p1 < nvidia-fix.patch
patching file usr/src/nv/nv-linux.h
patching file usr/src/nv/nv.c
% ./nvidia-installer

In other words, unpack the archive, patch it and only then run the installer. Otherwise you won't be able to compile the kernel module because of two changes in the kernel ABI. kmem_cache_create() doesn't accept parameter for cache deconstructor anymore, and unregister_chrdev() now returns void. Those two changes together produce the following error (unless the driver is patched) in /var/log/nvidia-installer.log:

/root/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv/nv.c: In function 'nvidia_init_module':
/root/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv/nv.c:1326: error: too many arguments to function 'kmem_cache_create'
/root/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv/nv.c:1435: error: too many arguments to function 'kmem_cache_create'
/root/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv/nv.c:1569: error: void value not ignored as it ought to be
/root/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv/nv.c: In function 'nvidia_exit_module':
/root/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv/nv.c:1601: error: void value not ignored as it ought to be
make[4]: *** [/root/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv/nv.o] Error 1
make[3]: *** [_module_/root/NVIDIA-Linux-x86-100.14.11-pkg1/usr/src/nv] Error 2
make[2]: *** [modules] Error 2
nvidia.ko failed to build!
make[1]: *** [module] Error 1
make: *** [module] Error 2
-> Error.
ERROR: Unable to build the NVIDIA kernel module.

Finally, my personal opinion about the new scheduler (still in heavy development) and 3D display performance. Well, one thing's for sure, desktop (compiz) is snappier. Simple tests of cube rotation while the kernel is compiling (on both cores) show that CFS is much better than the old scheduler, cube rotation is much smoother than before.

3D game (tremulous) performance on the other hand really is somewhat suspicious, the game seems a little bit jerky when run on the new kernel, but I think it needs more testing before I can claim that for sure. Whatever the result of testing is, I'm quite sure Ingo Molnar will do everything in his powers to improve the scheduler in the coming months, such that 3D games run better, too (if there are problems now).

File nvidia-fix.patch1.62 KB


This is the patch for `NVIDIA-Linux-x86-1.0-9639-pkg1.run'.
The procedure to follow is the same.


The uptime of the above server is very low. Read here instead.

does anyone know how to patch the nvidia driver for X86_64? I followed these instructions and the kernel module built, but I still couldn't get into a GUI. I opened the patch and changed all instances of "NVIDIA-Linux-x86-100.14.11-pkg1" to "NVIDIA-Linux-x86_64-100.14.11-pkg2", re-ran the patch, and re-ran the installer, and the module failed to build.

(...which, I probably should have known would happen, but it was worth a shot... any help from someone more experienced would be appreciated.)

From what I see, the patch applies absolutely cleanly even to the X86_64 archive. You don't need to change a single line in it. But, I can't compile it here on i386 architecture, so I can't be 100% sure this patch is everything that's needed on X86_64.

It would be helpful if you could provide the exact error messages you got when the module failed to build. Check /var/log/nvidia-installer.log for more info.

this patch seems to already be applied to pkg2 of the nvidia installer

I cannot access your patch file. Can you publish it here?

It has been published here.

I have a patch for 9755 with 2.6.23 at


-- the new 100.x driver doesn't restore my screen correctly, so I'm blacked out when I finish the X session. Good old 9755 works jes' fine when patched.


God I hate having to patch my NVidia driver so often.

Could'nt patch my to benefit the suspend2 patch.

2.6.23 integrates natively that support but NVidia drivers cannot compile any more !

Argh !!!

Thank you for your patch, It works perfectly for me