[Solved] How to install Titan X Pascal driver on top of CUDA 8?

I installed CUDA 8.0 RC. I’m on Ubuntu 14.04.

However I have Titan X Pascal cards, which aren’t supported (CUDA 8 includes driver 361). Shaking. My. Head.

The website says Pascal owners “must re-install the latest driver after installing CUDA 8”. Fine.

I downloaded and ran the .run file:

sudo ./NVIDIA-Linux-x86_64-367.35.run

but that fails with “The distribution-provided pre-install script failed”.

What is the procedure for installing the latest driver, over CUDA 8, on Ubuntu? I do have the older driver loaded, but I am not running a desktop like lightdm. I sort of thought the .run would be smart enough to remove the older driver etc.

As usual, Nvidia, I am frustrated here. Spent a lot of money on Titan X (and embedded TX1 dev kits) only to find that the latest hardware is not supported by the latest toolkits.


Here is the log:

nvidia-installer command line:

Unable to load: nvidia-installer ncurses v6 user interface

Using: nvidia-installer ncurses user interface
-> Detected 12 CPUs online; setting concurrency level to 12.
-> License accepted.
-> Installing NVIDIA driver version 367.35.
-> Running distribution scripts
executing: ‘/usr/lib/nvidia/pre-install’…
-> done.
-> The distribution-provided pre-install script failed! Are you sure you want to continue? (Answer: Continue installation)
-> Would you like to register the kernel module sources with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later. (Answer: Yes)
-> Installing both new and classic TLS OpenGL libraries.
-> Installing both new and classic TLS 32bit OpenGL libraries.
-> Install NVIDIA’s 32-bit compatibility libraries? (Answer: Yes)
-> Will install GLVND GLX client libraries.
Looking for install checker script at ./libglvnd_install_checker/check-libglvnd-install.sh
executing: ‘/bin/sh ./libglvnd_install_checker/check-libglvnd-install.sh’…
Checking for libglvnd installation.
Checking libGLdispatch…
Checking libGLdispatch dispatch table
Checking call through libGLdispatch
All OK
libGLdispatch is OK
Checking for libGLX
libGLX is OK
Checking entrypoint library libOpenGL.so.0
Checking call through libGLdispatch
Checking call through library libOpenGL.so.0
All OK
Entrypoint library libOpenGL.so.0 is OK
Checking entrypoint library libGL.so.1
Checking call through libGLdispatch
Checking call through library libGL.so.1
All OK
Entrypoint library libGL.so.1 is OK
libglvnd appears to be installed.
Will not install libglvnd libraries.
-> Searching for conflicting files:
-> done.
-> Installing ‘NVIDIA Accelerated Graphics Driver for Linux-x86_64’ (367.35):
executing: ‘/sbin/ldconfig’…
-> done.
-> Driver file installation is complete.
-> Installing DKMS kernel module:
-> done.
ERROR: Unable to load the ‘nvidia-drm’ kernel module.

Tried booting into runlevel 3 (shouldn’t matter, this box has no X server / desktop).

Tried removing the previous driver, but that also wants to remove CUDA 8:

sudo apt-get remove nvidia-361

Tried install nvidia-367 using apt-get. It happily detects my Pascal cards, but it also removes CUDA 8. :-/

I’m not sure of the entire history of your machine, but you appear to be mixing runfile installer methods with package manager installer methods. That is a no-no for driver installs. This is covered in the linux installation guide for any recent CUDA toolkit. The CUDA 8RC installation guide is linked from the page you downloaded the CUDA 8RC toolkit from (at developer.nvidia.com). Read the section on “handling conflicting install methods”.

I would suggest:

  1. start over with a clean Ubuntu 14.04 install.

  2. Install the 367.35 driver using the (runfile installer) method you indicated first:

sudo ./NVIDIA-Linux-x86_64-367.35.run

  1. Install the CUDA 8 toolkit using the runfile installer that you downloaded from developer.nvidia.com When prompted to install the driver, select “no”.

If you don’t have lightdm or X running on the NVIDIA GPU, that should be sufficient. If you don’t like my step 1, then carefully read the installation guide section I mentioned (“handling conflicting install methods”) and use all methods to clean out both previous runfile driver installs as well as previous package manager driver installs. Then proceed with steps 2 and 3.

I’m omitting some steps that would be appropriate here for a clean Linux install, such as removal of nouveau, which is necessary when using the runfile installer methods. Therefore, I suggest you read the linux install guide carefully and follow the runfile installer path carefully there, if you start over with a clean ubuntu 14.04 install.

Thanks txbob (and jholloway)!

apt-get purge nvidia, followed by installing CUDA and driver from .run files worked. That makes sense.

It’s still kind of obnoxious that the .deb file doesn’t support Pascal. I’ve long since learned to mistrust .run files, because they don’t play nice with Ubuntu.

@SeanKelleher - I have been through the same experience on quite a few machines. I got it working quite by accident on two of them. Now, I see why. No more .deb for me.