Ubuntu 18.04/GeForce Titan X/Nvidia Driver 4.30.50/Cuda 10.1.243 (driver/cuda library mismatch)

The title says it all.

My goal is to install the latest Nvidia Driver and CUDA for Ubuntu 18.04 that will work with Tensorflow 2.0
Tensorflow 2.0 says it supports CUDA 10 and CUDA 10 requires Nvidia Driver 410.x or later https://www.tensorflow.org/install/gpu

I installed Nvidia Driver using ppa:

sudo add-apt-repository ppa:graphics-drivers/ppa

start->software and updates → additional drivers (gui menu)
checkmark ‘Using Nvidia driver metapackage from nvidia-driver-430 (open source)’
hit apply, software starts updating, when its done hit close, reboot computer

I installed CUDA using package manager instructions found here:

When I run


I get:

Failed to initialize NVML: Driver/library version mismatch

According to the table here: https://docs.nvidia.com/deploy/cuda-compatibility/index.html
Cuda 10.1 should work with versions greater than 418.39, but there’s nothing newer than 10.1.105 and 418.39 mentioned, so this table is probably out of date.

My question is what driver and CUDA library combinations are recommended? Is there a more up to date driver/library compatibility table?

Prompt replies are appreciated. Thank you!

When you installed cuda, you probably installed the bundled driver over the already installed driver so now you have a mixup.

  • purge anything nvidia/cuda to have a clean slate
  • install the driver from repo (sudo apt install nvidia-driver-430)
  • download the cuda .deb
  • add the repo to your system (first three steps from install instructions on download page)
  • don’t install cuda
  • instead, run sudo apt install cuda-toolkit-10-1
  • set PATH variable if necessary

Thanks generix that’s helpful. Is there a safe way to remove CUDA and NVIDIA without damaging my system? Last attempt I tried to purge NVIDIA and CUDA drivers and my machine stopped booting so I had to do a clean reinstall.

Nothing besides sudo apt remove “nvidia*” “cuda”, you could boot to runlevel 3 to avoid X startup loop when the driver is removed.