The issue I encountered...
I always appreciate using Blender in Linux for performance and productivity. Being on OpenSUSE's Tumbleweed branch, I upgrade my system often. Suddenly, I fire up Blender and find that it won't recognize my CUDA cores at all! (Preferences > "No Compatible GPU found for path tracing" )
Relevant SpecsOpenSuse Tumbleweed version 20201129
Linux Kernel 5.9.10-1.
NVIDIA GTX 970 graphics card.
What's causing this?
The latest NVIDIA Repository drivers at the time of this posting were of the 450 branch. After lots of digging, I came across this announcement (Image below in case the link breaks.)
We advise customers updating to Linux Kernel 5.9+ to use the latest NVIDIA Linux GPU driver R455 that will be available for download from NVIDIA website and repositories, starting today . Linux Kernel 5.9+ contained changes that were incompatible with NVIDIA’s Linux GPU drivers released so far, as a result, these drivers were not supported on Kernel 5.9+. Hence, in order to have a fully functioning driver on Linux Kernel 5.9+, we require customers to update their NVIDIA Linux GPU driver to R455. NVIDIA is aware of the impact and inconvenience this will have on our customers, and we request your utmost support.
Fun fact: The R455 drivers are not in the official Tumbleweed repository.
What's the solution?
1. Getting the driver.First, you'll need to get the 455 drivers from Nvidia's website. https://www.nvidia.com/Download/
Note: You might need to use their "advanced search" to look for beta drivers.
This is going to download as a “.run” file. I’ve learned that .run, not being an actual file-type, is simply a signal to you, the user, that it’s meant to be run as an executable. I just stuck it in my Home/Downloads folder.
2. Installing the driver (This is where things got bumpy for me personally)
Usually, this is just a matter of doing something like
sudo ./NVIDIA_Driver_File_Name and calling it a day. But it’s not that easy.
A couple of things need to be done first:
- Potentially, the existing 450 branch NVIDIA drivers should probably be uninstalled. If you do it “the easy way” with your package manager, this shouldn’t be too difficult.
- Next, Linux is going to want to fall back on the Nouveau drivers. You’ll need to disable those or the install is going to gripe about it! Allegedly, the script can take care of this for you, but it didn’t quite work for me…So I had to…
Boot Without Nouveau
A great guide to this can be found here, your distro’s procedures may vary.
Once you log into the terminal, go ahead and navigate to that .run file, in my case:
It seemed to install well from there. The above link on “NVIDIA the hard way” is a great guide for this, and hopefully we can return to just using the repository soon.
Finally, run Blender, you should see your GPU under CUDA devices, and do a victory-render of the default cube! :)
I hope this helps in case anybody else runs into this issue. I’m not a Linux expert by any means (Learning more every day! Usually by breaking things…), but I couldn’t just keep this to myself!
Good luck and happy blending!