Joined: 29 Oct 2003
Location: Cornell University
|Posted: Mon Feb 03, 2014 7:34 pm Post subject: nvidia-drivers 331.38
|I had a problem with X11 after upgrading from 319.76 to 331.38. I saw in dmesg:
NVRM: API mismatch: the client has the version 331.38, but
NVRM: this kernel module has the version 331.20. Please
NVRM: make sure that this kernel module and all NVIDIA driver
NVRM: components have the same version.
I guess I had previously installed 331.20 and later masked out that build.
Either way, this was fixed by deleting the old module and adding a symlink to the new one. I have some questions remaining but so far it's working for me.
|# find /lib/modules/3.10.17-gentoo/ -name nvidia* -ls
4718683 14240 -rw-r--r-- 1 root root 14581590 Jan 4 21:01 /lib/modules/3.10.17-gentoo/kernel/drivers/video/nvidia.ko
4718720 44 -rw-r--r-- 1 root root 43772 Jan 4 21:01 /lib/modules/3.10.17-gentoo/kernel/drivers/video/nvidia-uvm.ko
8680943 14316 -rw-r--r-- 1 root root 14657514 Feb 3 11:49 /lib/modules/3.10.17-gentoo/video/nvidia.ko
The last module here was 331.38, but the other two were 331.20.
|# strings /lib/modules/3.10.17-gentoo/video/nvidia.ko | grep 331
nvidia id: NVIDIA UNIX x86_64 Kernel Module 331.38 Wed Jan 8 19:32:30 PST 2014
With "equery files nvidia-drivers" I saw .../video/nvidia.ko but not .../kernel/drivers/video/nvidia.ko listed. I also did not see nvidia-uvm.ko anywhere.
After an rmmod and deleting the old files, modprobe would not work:
|# modprobe nvidia
modprobe: ERROR: could not insert 'nvidia': Unknown symbol in module, or unknown parameter (see dmesg)
But no new messages were in dmesg.
After creating symlinks, it worked fine for me:
|ln -s /lib/modules/3.10.17-gentoo/video/nvidia.ko /lib/modules/3.10.17-gentoo/kernel/drivers/video/nvidia.ko |
I don't know why the old drivers remained, and why they did not interfere with 319.76 when I had that installed. I don't know why I don't have nvidia-uvm.ko (their Unified Memory kernel module) anymore, and I don't know why I had to create that symlink. Maybe the old driver location was cached somehow?
Anyway this seems to work for me, and hopefully this information dump may help some other poor Gentoo user.