Blender Cycles GPU render not working, CUDA toolkit insufficient, Python 3.5 not found.

I am using nVidia GTX680 with latest drivers from the nVidia repo.

After installing latest Blender from Packman repo I noticed that the GPU render is not available as an option. This was the case also in openSUSE 13.2 and earlier Blender versions. I remember I have seen some threads here recommending to as in a Blender community. So I asked in a FB group and someone explained that I need CUDA Toolkit. So I visited https://developer.nvidia.com/cuda-toolkit -> Download -> Linux -> x86_64 ->OpenSUSE -> 13.2 (the only available) -> and tried both the ‘rpm (network)’ and ‘rpm (local)’. With both I got this error when installing:

warning: cuda-repo-opensuse132-7-5-local-7.5-18.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 5c37d3be: NOKEY

I also tried downloading the .run version but:

# cuda_7.5.18_linux.run --help
...
--driver
Install the CUDA Driver.


--uninstall (deprecated)
Uninstall the CUDA Driver.


--toolkit
Install the CUDA Toolkit.
...

I am a little concerned about that “deprecated”. I surely don’t want software which I cannot uninstall if I decide to.

Trying to install CUDA toolkit from the repo of home:scorot gave errors too:

Software installation
Installation was only partially successful.
The following packages could not be installed
nvidia-cuda-toolkit

So after some googling around I found this repo which is for 13.2 but installing cuda-toolkit-7-5 from there worked.

Then I ran blender again and now I have the option for GPU Compute. However when I pick it and try to render I am getting an error message:

CUDA kernel compilation failed, see console for details.

Then I ran:

blender --debug-all

and tried to render with GPU again. Now the console output says:


CUDA version 7.5 detected, build may succeed but only CUDA 6.5 is officially supported.
Compiling CUDA kernel ...
"/usr/local/cuda/bin/nvcc" -arch=sm_30 -m64 --cubin "/usr/share/blender/2.76/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu" -o "/home/<myusername>/.config/blender/2.76/cache/cycles_kernel_sm30_FB69D64D805490B9166178E9BD37954E.cubin" --ptxas-options="-v" --use_fast_math -I"/usr/share/blender/2.76/scripts/addons/cycles/kernel" -DNVCC -D__KERNEL_CUDA_VERSION__=75
/usr/share/blender/2.76/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu:19:38: fatal error: ../../kernel_compat_cuda.h: No such file or directory
 #include "../../kernel_compat_cuda.h"
                                      ^
compilation terminated.
CUDA kernel compilation failed, see console for details.


Refer to the Cycles GPU rendering documentation for possible solutions:
http://www.blender.org/manual/render/cycles/gpu_rendering.html

I have no idea why this happens but it seems merely installing CUDA Toolkit didn’t help.

So I decided to uninstall blender, download its source and build it myself as I see that in the source code the missing header file is present. So following the documentation I downloaded from git, installed the dependencies which in my case seem to be:

ffmpeg-devel
libSDL-devel
openal-soft-devel
openexr-devel
python3-devel
cmake

and then I am getting another error:

http://paste.opensuse.org/58b9e7eb

Then after paying more attention I saw that building blender requires Python 3.5 which I can’t find on any repo. And honestly if I also have to build python from source that would be a bit too much for my taste :slight_smile:

Has anyone else ran into this and possibly solved it with less travail?

The easy way with instant gpu cycle support is in this link.
https://www.blender.org/download/

No need of compiling, just unpack the tarball and
you’re good.

Works! Thanks :slight_smile:

I know this can be done in home but where is it generally correct to unpack? /usr/local/bin ?

Hi see this.
http://wiki.blender.org/index.php/Doc:2.4/Manual/Introduction/Installing_Blender/Linux

But in my case, I dual boot my machine with Leap and tumbleweed, I put
blender in a directory where both tumbleweed and leap can share/run it.:wink:

Thanks. It says /usr/local/bin :slight_smile: I guess that’s it.