3
$\begingroup$

Using a NVIDIA GeForce 1060 with Blender 2.8 worked fine until upgrading recently to Debian 10 and Blender 2.9, but now Blender 2.9 does not recognize my NVIDIA GPU in Preferences -> System -> Cycles Render Devices.

Troubleshooting online says to "update drivers" [ cite1, cite2, cite3, cite4 ], so I updated the drivers, to no avail.

Steps taken:

All of these were able to get NVIDIA installed and CUDA working fine, no issues with nvidia-smi, but Blender would not recognize a GPU.

Thinking it a Blender issue, I removed Blender 2.92 and tried using Blender versions 2.91, 2.90, 2.83, and 2.79, none of them pick up my GPU anymore.

Thinking it a Debian issue, I did a fresh install of the OS system and installed all software, drivers, and headers, fresh.. to no avail.

At wits' end, curious to know if there's a way to manually "point" Blender's Cycle Render Devices to my GPU, and how to do that, if it's even possible. If not, what steps are left to be taken when the only advice is "update your headers" and the headers have been updated a dozen different times?

$\endgroup$
1
$\begingroup$

It was a CUDA issue. Blender needs nvidia-cuda-toolkit to find & connect your GPU. The Debian Wiki directions for installing CUDA didn't work for me, so I needed to download the most recent CUDA version and manually install it.

To start from scratch:

  • Uninstall NVIDIA & CUDA:
    $ apt purge nvidia*
    $ apt purge cuda*
  • Download proper NVIDIA drivers
  • Download proper CUDA toolkit for your system (I used deb[local])
  • Before installing drivers, you must obtain the proper kernel headers for the NVIDIA driver to build with.
    From Debian Wiki:
    $ apt install -t buster-backports linux-headers-amd64
    $ apt install -t buster-backports linux-image-amd64 #installs the kernel from backports to match
  • Now it gets tricky: Disable the default nouveau driver
    $ echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf
  • Reboot to multi-user runlevel. #This will disable the GUI user after reboot
    $ systemctl set-default multi-user.target
    $ systemctl reboot

NOTE WELL: When you restart your computer, your screen won't work. Everything you do will be from the command line.


  • From command line (or Safe Mode), navigate to directory with NVIDIA run file:
    $ bash NVIDIA-Linux-x86_64-your.version#.run
  • During installation, you'll be asked questions, say YES to everything and install NVIDIA driver. After reboot, SCREEN SHOULD START UP USING YOUR GRAPHICS CARD.
  • Remind your computer to use the GUI every time it starts up:
    $ systemctl set-default graphical.target

NVIDIA is good to go, but Blender still won't recognize your GPU because CUDA needs to be downloaded with nvidia-cuda-toolkit.
  • Download/Install CUDA Debian Installer from CUDA docs remembering to modify the PATH and LD_LIBRARY_PATH variables.
  • Make sure FILEPATH has been changed correctly.
  • From Debian Wiki, install nvidia-cuda-toolkit picking up any missing pieces:
    $ apt install nvidia-cuda-dev nvidia-cuda-toolkit
  • Update everything with $ sudo apt update
  • Reboot computer: $ systemctl reboot
  • Open Blender, check Edit --> Preferences --> System, and GPU's alive and well
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.