How to enable CUDA on Ubunutu 14.04 for a GTX 970? Yes, I've read this post already. But it didn't work. Now I'm looking for more information and ways to diagnose the problem... and perhaps find a solution.

The base system is an Ubuntu machine (14.04 LTS), 64 bit, and a GTX 970.

The GTX 970 is a "rather new" card and is not supported by the proprietary nvidia driver that "comes" with 14.04.  You have to install version 343.22 which is available via the xorg/edgers ppa repo.

Additionally, as mentioned here, the utility nvidia-moprobe has to be installed, to give non-root users access to CUDA.

Furthermore, they also recommend to install the newest development build from https://builder.blender.org/download/, as 2.72b does not support the GTX 970/980 (no idea why), and to install CUDA 6.5 from nvidia for the CUDA 6.5 toolkit.

I've done all this, but it's still not working. Along the way, I came across some conflicting information, which I hope some of you can clarify.

I've read on various sites, that the GTX 970/980 is only supported starting from nvidia driver 343.22, and CUDA 6.5. So I think this is a given fact.

Which means, that I can't use the CUDA library from the main Ubuntu repo, which is v5.5.

In some postings I've read that the builds from the buildbot contain a pre-compiled CUDA kernel and installing the CUDA toolkit is not necessary, in other places a CUDA update is recommended for better performance.

There is an Ubuntu bug report regarding the nvidia-modprobe, however I have no idea if this also relates to Blender.

Apparently the current Blender build (2240c26, Nov. 28, 2014) does not recognize the GTX 970 in the described configuration.

The nvidia-settings utility confirms that 343.22 is running on my system. And the GTX 970 is listed there.

My questions are:


Does the builderbot version come with a CUDA kernel and if so, is it 6.5 compatible? If not, is there a way to tell Blender to use the external toolkit (short of compiling from source)?
Which devices does Blender use under Linux to access CUDA? I.e. is  nvidida-modprobe necessary, and if so, how can I tell that it is working?
What does the developer build have, that 2.72b hasn't, that is needed here?
Are there any switches when starting blender, that might shed some light why it does not use CUDA?


Thank you for reading this far :) - any help is welcome.
I got it working, and I can at least partially answer my questions:

Problem #1: There are two CUDA 6.5 packages at nvidia, a "normal" one and one "with Support for GeForce GTX9xx GPUs" (here). Choose the later one.

Problem #2: I had already installed the nvidia 343.22 driver from xorg/edgers. The CUDA packages comes with its own 343.19 (as well as its own nivdia-modprobe).

FYI: I've used the .deb file (not the .run one). This drops a handful of other .deb files onto the system, but does not install them. After apt-get update-ing they can be installed using: apt-get install cuda

I needed to bring the system into a terminal-only state where no nvidia driver was running in order to remove the 343.22 one and install the cuda package.

Regarding to my questions:


Blender does use the (external) CUDA install.
2.42b produces a black screen and an error message in the terminal, i.e. there is a code change needed for the GTX 970 to work
nvidia-modprobe is part of the package - i.e. no need to install it separately.