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: left KBUILD.
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).

AttachmentSize
nvidia-fix.patch1.62 KB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Thanks, it works and 2.6.23 solves pb I had on 2.6.22.9

Could'nt patch my 2.6.22.9 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

Regards,

Sylvain

Here I come ATI

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

New kernel, old NV driver

I have a patch for 9755 with 2.6.23 at

http://home.hiwaay.net/~craigg/linux/NV_patch.html

-- 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.

Craig

Nvidia Linux driver 1.0-9639 and Linux kernel 2.6.23

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

http://www.sci.unipr.it/studenti/stefano.soffia/nvidia-9639-fix.patch

I cannot access your patch

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

It has been published here.

It has been published here.

X86_64

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.

this patch seems to already

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

Patch should be fine even for X86_64

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.

*

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

The uptime of the above

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