GPU fails to render (Linux Mint 18.2)

EDIT:

The issue is now solved!!! I can now render with the GPU, there are no lags in the view-port, everything is smooth and now I can say the switch from Windows to Linux is a success - at least from the point of view of a Blender Artist :).

Now… where did things go wrong? I guess there were multiple wrong decisions taken by me.

I’m still a novice when it comes to Linux, but for the fellow artists trying to make a similar switch I think you might find the following useful:

  1. Make sure the “Compute capacity” of your GPU card is at least 2.0 …I had an old card - the GeForce series but it was luckily above 2.0 . You can check yours here.

  2. One thing I forgot to mention in the original post was the edition. It was Linux Mint 18.2 Cinnamon. Which is supposedly, as I found out from other people online, not really fit for Blender GPU rendering (and Blender in general). I might be wrong but after I switched to Xfce things worked and are now apparently faster.

  3. 32-bit just doesn’t work. So I switched to a 64-bit Mint installation and that may be one of the reasons things started working (as jensverwiebe and YAFU mentioned, thnx :)). I have a legit explanation as far as my knowledge goes - the CUDA Toolkit is no more available for Linux 32-bit installations. Since nVidia users CUDA extensively, things should not work naturally.

  4. Finally, make sure you are using the recommended drivers for your card, because by default Linux selects the open source drivers (which I don’t have much knowledge about) which may result in some bugs. You can change this in the Driver Manager.

A little side note:

And a little tip for Mint Xfce users, who are having trouble using the <Alt> key for Blender functions, go to Settings>Window Manager Tweaks in Linux and in the Accessibility tab you can simply change the "Key used to grab and move windows: " to anything other than <Alt>… for example: <Super>. This is the simplest solution and works for Xfce users but I’m not sure about other editions. I had a hard time getting this to work, so I hope it helps some of the users out there [ especially those who have broken the middle-mouse-button like me :)].

Thanks to all those who contributed in this discussion. Without your suggestions, I would have got frustrated and switched back to Windows agian. Thanks once again!:smiley:

------------- THE INITIAL ISSUE ------------
Hello,

I have been using Blender for a long time now. But I recently moved to Linux Mint 18.2 from Windows 7. I have a pretty old graphics card: GeForce GT 610

I installed the latest drivers compatible with my card using a *.run file. It seemed to have installed fine.
I enabled GPU in blender 2.79 RC 2 and I could see my card in the list. Everything was fine till this point.

But when I try to render using GPU, the render gets cancelled and I get this error: CUDA error at cuModuleLoad: Invalid kernel image

I know some other people also had this issue but I couldn’t find any good solutions for me so far.
Please let me know if you know any way to get this thing to work. I really want to get back to creating artworks with Blender.

OS: Linux Mint 18.2
Blender:2.79 RC 2
Card: GeForce GT 610
Error: CUDA error at cuModuleLoad: Invalid kernel image

Thanks in advance,
-Sayan :wink:

Hi
First of all: you would not have to install a runfile, Linux mint comes with a package base ( ubuntu 16.0x in your case ) which allows to easily install the drivers from the systemsettings/driver. Additionally you need to use the application installer to install cuda. Thats all ootb. and from a gui ( not terminal fiddling ).

But 'am not sure if your gpu is supported still by our so called cubins aka cuda kernels. Is this a fermi generation card ? We must check this and can then judge if it should work. Nor sure about this atm. , would have to investigate this.
The lowest included kernel is sm_20 btw.

Jens

EDIT: Seems Fermi gen, but be aware its so old and has only 1GB memory, its not worth the hazzle to get it work.
Also sm_20/21 support is deprecated and removed in upcoming cuda9. Personally would look out for a better gpu
with at least 4GB and Maxwell gen. and up.
It may be more efficient for you to render on cpu right now ( but dunno your full specs, so just guessing here ).

Hi,

Yeah I guess you’re right. I was not sure whether it’s at all possible to render with NVidia GPU on Linux 32-bit, coz it worked fine with Windows.

Thanks for the feedback. I too think it’s time to upgrade to a new GPU. But I’m just curious what kind of card would be the best for the upcoming cuda9, keeping in mind it would be running on Linux. Any suggestions?

It worked on windows with this gpu ? Really ?
If so it will work on Linux too, no reason it should not. BUT: the limitations and deprecations persist.

From what i saw with a fast glance you just need the desired driver/cuda as a 32bit version then ( i would suggest 64bit if possible anyway ).

In Mint 18 driver setup choose NVidia propietäry one, not Nouveau ! Install Cuda 8.0.xxxx. Make sure your Blender build comes with the desired Fermi cubin ( sm_20/21 ).

BTW: Blender Linux with Cuda also allows for “Adaptive Kernels” which means you compile the needed part at runtime.This might be the better choice for low spec gpu ( cuts not used resources away kinda ).

You can try this in debug mode 256 and cuda setting “adaptive”

Jens

Hi thanks for the help. But I think there is no more support for Linux 32-bit (x86) in CUDA 8.0, at least that’s what it seems. Would you take a look and verify if I’m right?

CUDA 8.0

You are right unfortunately, CUDA toolkit dropped 32bit support at some point.
Last 32bit is in 6.5 from what i see, but an inconvenient run-file and will not work with blender conditionally on-the-fly kernelcompiles anymore.

Thats why i proposed to go 64bit generally ( if possible ). If not, your environment is really old, any cpu since
core2duo can do 64bit. I migrated to 64bit so long ago, cannot even remember when exactly ( around 2006 )

Though running blender deliverd cuda kernels only need the driver, which is still available for 32bit afaik.

Jens

Hi.
Official Blender includes precompiled CUDA kernels, that is for GPU render you do not need to install CUDA Toolkit on Linux if you use official tar.bz2 Blender. So my question is regarding Blender version for Linux 32 bits. If CUDA 8 does not support 32-bit platforms, then I assume that precompiled Kernels included in Blender for 32 bits have been compiled using CUDA 7 and this should work anyway?

Yes, forgot to mention for running cuda the gfx driver should be enough and just checked 32bit support is still there for GT 610 in the latest drivers. Toolkit is only needed if you wanna try adaptive ( or later split- ) kernels.

Jens

OK, thanks jensverwiebe.

@Sayan_Mondal, as jensverwiebe had told you, it is not advisable to install nvidia driver from .run file. Did you follow some tutorial to install the driver? What I would do is try to uninstall the driver, you look for instructions to try to uninstall the .run driver successfully, and do not forget to enable/restore nouveau driver if installing tutorial recommended blacklist it or some Grub configuration. Then install suggested nvidia driver from Mint driver manager/repositories, it does not matter that they are not the latest drivers.
If you are experimenting with distros, I would suggest testing with Xubuntu. I’m not sure if you chose 32 bit system because CPU incompatibility, little RAM amount available or whatever. But as already suggested to you, you’d better install 64-bit OS if possible.

And always use official Blender tar.bz2 file, at least for initial testing.

Thanks for looking into this matter. Initially I had installed the drivers the way you suggested but that resulted in the same issue. So I decided to use .run file. But there is no difference in the error. So I guess the issue is not with the drivers because Blender can still detect it fine and either way the error shows up. What do you think?

Yeah, i get the feeling you had a bad build eventually ?
Try to sort this out by using the now distributed official Blender 2.79 release.
Running out of ideas else what could give you that trouble.
It could also be the low 1GB memory on your gpu error out with a too big scene but giving wrong errorcode ? Can happen sometimes …
I try to fond something still.

EDIT: CUDA error at cuModuleLoad: Invalid kernel image really means that the kernel was improperly done.
So best bet atm after trying to pin driver issues down is to try other Blender.
As not much ppl use 32bit anymore, perhaps the issue slipped through an can be verified also by other users.
I know sm_2x is a bit unreliable when compiling these days ( deprecated warning in cuda8 also )

Jens

Ok, thanks for the help. I guess I need to switch to 64-bit and get a new GPU coz it’s not worth the pain right now. I guess it’s better for me to stick to CPU for now.

-Sayan

I do not know, this should work. I think that card is not that old anyway.

Could you share here what you get from the Linux terminal with each of the following commands? (Copy one line. Open terminal and paste it there. Then press enter key. Repeat with the other lines. In terminal paste using right mouse button options)

cat /proc/driver/nvidia/version
dpkg -l | grep -i nvidia
ls ~/.cache/cycles/kernels/

cat /proc/driver/nvidia/version

NVRM version: NVIDIA UNIX x86 Kernel Module 384.69 Wed Aug 16 18:20:44 PDT 2017
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

dpkg -l | grep -i nvidia

ii bbswitch-dkms 0.8-3ubuntu1 i386 Interface for toggling the power on NVIDIA Optimus video cards

ls ~/.cache/cycles/kernels/

ls: cannot access ‘/home/sayan/.cache/cycles/kernels/’: No such file or directory

**sayan is the name of one of the directories :stuck_out_tongue_winking_eye:

Well, apparently you did correct installation of nvidia .run file, which is not often the case with new Linux users :slight_smile:
And indeed you seem to have been using official Blender package with precompiled CUDA kernel. So, is this perhaps a problem with precompiled Kernel in Blender 2.79?
Have you tried with previous official versions of blender 2.77a or 2.78c?
https://download.blender.org/release/Blender2.77/
https://download.blender.org/release/Blender2.78/

I haven’t tried with other versions. Lemme check and I’ll get back to you.

Still fails to render with the same error, on 2.77 and 2.78.

So then as previously stated, 64-bit OS seems to be the solution.

I really do not understand why the problem occurs. I wonder if installing CUDA Toolkit 7 you would be able to compile the kernel successfully. In case you install it (I’m not sure about version available in Mint repositories), you should remove precompiled Kernel from “/2.79/scripts/addons/cycles/lib/” folder if you use official build.

Edit:
And just in case. You do not download blender into a Windows partition (fat32, ntfs). Download and use Blender inside Linux partition on disk, for example in your /home/YOUR_USER

Thanks for the help everyone. I guess the issue would be solved when I switch over to a 64-bit OS. I’ll get back with an answer when I’ll reformat my OS. Till then, I’d like to thank everyone again. @YAFU and @jensverwiebe thanks for your time.

Thanks everyone, it’s now working 100%. Check the EDIT in the first post to read the details. :slight_smile:

-Sayan