(Linux) CUDA rendering option missing despite following the instructions to enable it

I’m on elementaryOS Loki (Ubuntu 16.04-based) with an NVIDIA GeForce GT750M.

I want to render in Cycles with Blender 2.78b and CUDA, so I followed the Ubuntu instructions here to enable the GPU option.

I used the Additional Drivers screen to install NVIDIA driver 367.57.

(It’s definitely not the latest driver, but installing the latest one, 375.39, with the .run file downloaded from NVIDIA’s website keeps giving me a black screen after booting to the login screen, even when using the nomodeset GRUB menu fix.)

I also installed the nvidia-modprobe and nvidia-cuda-toolkit packages, as suggested here.

However, no matter how many time I run Blender as sudo, the CUDA option does not show up.

What else should I try? Feel free to ask for more specs if needed.

======================================================================================

SOLUTION: Remove nomodeset from your GRUB menu boot options. If this wasn’t the solution, start a new BlenderArtists post with your issue.

======================================================================================
======================================================================================

Are you compiling blender, downloading blender from some sort of package manager, or downloading blender from blenders website?

Yes, it is always recommended that you download official Blender:

Download tar.bz2 file, extract to a new folder. Enter to this folder and execute (double click) “blender” file.
Official Blender does not require to install CUDA Toolkit.
Anyway if it still does not work, you open a terminal and you share the result of the following commands:

lspci | grep -iE ‘vga|3D’

And:

cat /proc/driver/nvidia/version

Using the Steam version. Attempting this again with the direct download version gives me the same results.

lspci log:

00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK107M [GeForce GT 750M] (rev a1)

cat log:

NVRM version: NVIDIA UNIX x86_64 Kernel Module 367.57 Mon Oct 3 20:37:01 PDT 2016
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

Maybe it’s an Optimus thing related problem on your laptop.
You install “nvidia-prime” package from software center. Also try to install the newest driver from the following PPA (you read “Adding this PPA to your system” item):
https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

Then install “nvidia-378” package from Ubuntu driver manager or software center. Restart and run again the ‘cat /proc/driver/nvidia/version’ to see if driver is correctly installed. You try to configure your Optimus/Prime things from Nvidia Settings user interface

new cat log:

NVRM version: NVIDIA UNIX x86_64 Kernel Module 378.13 Tue Feb 7 20:10:06 PST 2017
GCC version: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

The CUDA option still doesn’t show up when running Blender as sudo, though.

Where can I find Optimus/Prime settings? (Or, moreover, more NVIDIA settings.)

The only NVIDIA program that’s in my Applications menu is something called NVIDIA X Server settings, which only lets me choose between toggling 5 checkboxes or creating these things called Application profiles.


Attachments



Clicking the + button in the second screen brings this up:

[ATTACH=CONFIG]473512[/ATTACH]

I’ve never used a laptop with Optimus technology, so I’m not sure exactly how it should be configured. But seeing your screenshots, I can guess that Intel iGPU is selected as the primary display on your machine. Just to be sure that this is a problem related to Optimus, you should try disabling Optimus, or from the BIOS by selecting nvidia (PCIe) as the primary display and disabling multi GPU (" lspci | grep -iE ‘vga|3D’ "’ should show you only the nvidia as output). So start the system with nvidia as the primary display and see if you have CUDA available in official Blender. So if this works, we can know that it is something related to Optimus and intel iGPU as primary display.

My BIOS won’t show me any display settings.

I can’t find a BIOS hack to unlock the settings to do so for my particular laptop either.

(I have a Lenovo IdeaPad Y410p, and all the hacks I could find only go up to version 3.05 of the BIOS and “should only be used with version 3.05 of the BIOS.” I have version 3.7.)

Is there a non-BIOS way to make NVIDIA the primary display option?

I really do not know, you try searching in google/youtube.
Does your BIOS show something like “Graphic Device Setting” to select “Discrete” like this video (min 2:30)?

for a “optimous” CHIP on a linux Laptop

The GPU shares the CPU with the os and hardware

you can NOT use the normal nvidia.run driver ( nor a deb )

you need to use the bumble bee driver for your OS
that is AFTER you remove or blacklist the already installed " Nouveau" nvidia driver ( installed by default)

also you need to have a CUDA 3 or above card to run blender . Most chips on a mobo are not ,but some are .

So nVidia still does not give proper support for optimus laptos in Linux? … Sad

http://us.download.nvidia.com/XFree86/Linux-x86/378.09/README/optimus.html

SOLVED!

Another tutorial for installng NVIDIA drivers (that happened to be depreciated, oops) told me to put in nomodeset as a GRUB menu option. I took it out and the CUDA option is now visible!

Thanks for your help YAFU, even though I kinda stumbled upon the answer by myself!

Good to know!
Could you share the tutorial or the steps that you followed? (In case this is useful for other users)

It was this: https://elementaryforums.com/index.php?threads/howto-install-latest-nvidia-driver-on-linux-without-getting-black-screen.7/

Should’ve read more carefully. I somehow missed the red text at the top that said the tutorial was depreciated.