[CentOS] Nvidia error

Mon Nov 6 16:43:40 UTC 2017
Pete Biggs <pete at biggs.org.uk>

On Mon, 2017-11-06 at 11:32 -0500, Jerry Geis wrote:
> I am getting this error on CentOS 7.4
> kernel: NVRM: API mismatch: the client has the version 384.98, but#012NVRM:
> this kernel module has the version 384.90.  Please#012NVRM: make sure that
> this kernel module and all NVIDIA driver#012NVRM: components have the same
> version
> nvidia-detect -v
> Probing for supported NVIDIA devices...
> [10de:1288] NVIDIA Corporation GK208 [GeForce GT 720]
> This device requires the current 384.98 NVIDIA driver kmod-nvidia
> I have installed elrepo:
> yum-plugin-nvidia-1.0.2-1.el7.elrepo.noarch
> elrepo-release-7.0-3.el7.elrepo.noarch
> kmod-nvidia-384.98-1.el7_4.elrepo.x86_64
> nvidia-x11-drv-384.98-1.el7.elrepo.x86_64
> nvidia-detect-384.98-1.el7.elrepo.x86_64
> How do I resolve that ?
> I have uninstalled the above and reinstalled. Same issue.

Easiest thing: reboot your machine.

If you can't do that, unload the nvidia module and then reload it:

 rmmod nvidia
 modprobe nvidia

The underlying issue is that you have upgraded the nvidia kernel module
rpm, but the loaded version was still the old one so the nvidia driver
(in nvidia-x11-drv) was detecting the wrong version. Rebooting will
solve that problem, especially if there has been a new kernel

BTW, the clue is really in the error message from the kernel, it
basically tells you what needs to happen without explicitly telling you
the steps to do it.