Render on a video card is not available after build Blender

Hi. My problem is quite specific and my skills aren’t enough to google it myself, can you help me out?

Following the instructions (https://wiki.blender.org/wiki/Building_Blender/Windows) I compiled my Blender, but for some reason it doesn’t have the ability to render on the video card. Although my blender installed in the official way has access to the video card.

Why did this happen?
Did i compile it wrong somehow?

Check the bottom of that page, links to here
https://wiki.blender.org/wiki/Building_Blender/GPU_Binaries
Make note of the optix version, newer probably won’t work. If you are doing a nobuild and sending to Visual Studio you’re probably going to need to resend it after you get everything installed and in PATH

2 Likes

Cool. I downloaded and installed CUDA Toolkit 11.3.1, but I forgot to include WITH_CYCLES_CUDA_BINARIES=ON in my CMakeCache.txt. After compiling Blender the video card option was available, but when I enabled render mode I got an error:

.

I found cl.exe in the path ..\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe and added it to my environment variables. After that, the message about compiling the kernel appeared,

lrk
and after ~4 minutes I saw my image rendered on the video card.

I have no idea what happened, but it works!

Note that your solution only works if you keep using exactly that Visual Studio version. As soon as you update Visual Studio the 14.29.30133 in ..\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64\cl.exe will change to a different number and you’ll have to add the updated path to you %PATH% variable.
compile form within Visual Studio or use rebuild.cmd?
Usually if you use rebuild.cmd it will compile the GPU binaries with the rest of the code without you needing to ad cl.exe to your %PATH% variable.

If you have everything installed, be sure to add to PATH. Then remake the solution, it should do everything for you automatically. Watch your command prompt when you do something like make release nobuild it will say things like optix found or that it was not found if something isnt correct.