I want to enable GPU rendering, but there is no option in User Preferences > System:
Why is this? How can I get cycles to render using my GPU?
I want to enable GPU rendering, but there is no option in User Preferences > System:
Why is this? How can I get cycles to render using my GPU?
First you should make sure that you have supported Graphics cards for GPU rendering. Currently Cycles supports:
CUDA or Optix on Nvidia devices
Cycles only supports CUDA GPUs with a CUDA compute ability of 3.0 or higher. To use CUDA, check to make sure your GPU is on this list of CUDA capable GPUs and has a ranking of at least 3.0.
If you are running an older NVIDIA card, ie the Geforce series, support is extremely limited and these are not officially supported, see How to enable GPU rendering on older Nvidia GPUs?
Experimental support for OpenCL devices as of 2.75 (added in .B7f447
). If you are using an AMD/ATI graphics card, see the OpenCL section below
As of Blender 3.0 Cycles X was introduced, and with it rendering with OpenCL on AMD GPUs has been deprecated. If you have an AMD Radeon RX 5000 Series, AMD Radeon RX 6000 Series, or AMD Radeon Pro W6000 Series, you can use the new HIP device.
As of Blender 3.3 LTS initial support for Cycles GPU acceleration on new Intel Arc dedicated line of Graphics cards has been introduced for Windows and Linux using the new OneAPI
If your GPU has a CUDA compute ability greater than or equal to 3.0 and you still don't have the option to enable GPU rendering, you can check a couple more things:
Ensure you are using the proprietary drivers distributed by Nvidia and that your GPU drivers are up to date.
If you are compiling Blender from source, ensure you have the CUDA development toolkit installed.
Below are instructions for various operating systems. If you are still having issues after trying all the steps listed in this post, try asking for support on BlenderArtists.
This site is not well suited to localized troubleshooting discussions often needed to untangle unusual hardware/driver issues.
Run as root
Due to an issue with some versions of the nvidia drivers, you must run blender (or any other program which uses cuda) as root before you can use any cuda features as a normal user. See this thread for more detail.
You can also use the terminal to install the latest stable driver.
$ sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
$ sudo apt-get update
$ sudo apt-get install nvidia-current
For linux Mint, Ubuntu and Debian variants (and maybe other distributions) you will need to install the package nvidia-modprobe which will detect your nvidia CUDA device and make it available for blender. Read this answer for further instructions
Please note that these instructions were put together in June 2015 on Debian Jesse. Although Debian is a very stable distribution, it isn't unlikely that this will be out of date on Debian Stretch. If you have more up to date information, please feel free to edit this.
Before we can install the drivers, we will need to install the kernel headers from the contrib nonfree
repository. If this repository hasn't been added already, open /etc/apt/sources.list
with nano:
$ sudo nano /etc/apt/sources.list
And add:
deb http://http.debian.net/debian/ jessie main contrib non-free
For Debian to recognize the repository, we will need to refresh the package list:
$ sudo apt-get update
Once this is done, the headers can be installed:
$ sudo apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') nvidia-kernel-dkms
With some sed
magic, this will install the correct headers for your version of the kernel.
Now we need to blacklist (disable) the open source nouveau driver. To do this, we will create an Xorg configuration file:
$ sudo mkdir /etc/X11/xorg.conf.d
$ sudo echo -e 'Section "Device"\n\tIdentifier "My GPU"\n\tDriver "nvidia"\nEndSection' > /etc/X11/xorg.conf.d/20-nvidia.conf
And reboot the computer.
$ reboot
All that is required afterwards, is to install cuda:
$ sudo apt-get install nvidia-cuda-toolkit
For more in depth information, please see https://wiki.debian.org/NvidiaGraphicsDrivers (only covers the drivers, not cuda). If you are running a GTX 970 or 980 you will need a special build of cuda available here.
Identifying your GPU:
From the Arch wiki:
If you don't know what GPU you have, you can find out by running:
$ lspci -k | grep -A 2 -i "VGA"
Drivers and CUDA:
For Arch Linux, installing proprietary Nvidia drivers for your GPU can be as simple as installing the nvidia package and then rebooting:
# pacman -S nvidia
# systemctl reboot
If you are compiling Blender from source, you will also need the CUDA toolkit. You can get it by installing the cuda package:
# pacman -S cuda
#Windows 7
cmd
in the start menu) and run wmic os get osarchitecture
.Alternatively, you can get this information from a GUI by going to Start -> Control Panel -> System and Security -> System or by using the keyboard shortcut Windows KeyPause.
Nvidia Optimus:
If you're running Blender on a notebook with Nvidia Optimus, make sure it uses the dedicated GPU. Either configure Blender to always use the dedicated over the integrated GPU in the Nvidia Control Panel, or right-click Blender.exe
(or a shortcut to Blender) and select the Nvidia GPU in the the Run with graphics processor menu:
Install the latest Nvidia Driver for you graphics card. You can download them from the Nvidia website.
Finally after you have installed your drivers:
Restart your computer
Start Blender.
There should now be an option in the Blender's settings allowing you to select CUDA and your GPU:
As of blender 2.75, AMD HD 7xxx+ GPUs are officially supported. Other OpenCL devices may work, and can be tested by force-enabling OpenCL with an environment variable:
CYCLES_OPENCL_SPLIT_KERNEL_TEST=1
Also see Is it possible to do OpenCL rendering on Intel processors?
##Ubuntu/Debian
On Ubuntu/debian you may need to install ocl-icd-opencl-dev package
Nvidia OpenCL
To get OpenCL working for nvidia GPUs, ensure that the opencl-nvidia
package is installed:
# pacman -S opencl-nvidia
Then run blender with the environment variable set to 1:
CYCLES_OPENCL_SPLIT_KERNEL_TEST=1 blender
In the User Preferences > System there should now be an OpenCL option:
If it's selected, rendering on the GPU will now use opencl. Note that the first time you try to render, blender will have to first compile the necessary kernels which may some time.
Also note that you need to change 2 settings to enable GPU rendering. The obvious one is in the User Preferences, System. You also need to set it for the blender file (scene) by clicking on the camera icon (on the left) in the Properties window and under the Render section is a setting for Device.
Sharing my recent experience with 2.8
If both, the CPU and the GPU are checked, in the "Preferences / System", Blender will prioritaze the CPU and the render will be slower.
When I unchecked the CPU, I only could see 1 "processing square" in the render time, but really fast, 1/6 of the old render total time.
I hope this help someone.