LuxCoreRender / BlendLuxCore

Blender Integration for LuxCore
GNU General Public License v3.0
735 stars 91 forks source link

with new Nvidia driver render not start at all even on CPU backend #932

Open OmidGhotbi opened 4 months ago

OmidGhotbi commented 4 months ago

Steps to reproduce: with the new Nvidia driver render does not start at all even on the CPU backend and gives an error of OpenCl device not detected, although openCL 3.+ already is installed. just to mention other software can render and use OpenCL on my pc. image

Screenshots or rendered images: image

Error message from Blender console: OpenCL driver API error (code: -1, file:D:\a\1\Luxcore\src\luxrays\devices\ocldevice.cpp, line: 89): CL_DEVICE_NOT_FOUND

OS: Windows 11 Blender version: 3.6 and 4.1 LuxCore version: 2.7 and 28

odil24 commented 4 months ago

Hi. Are you tested BlendLuxCore v2.9alpha1 for v4.1+ also?

odil24 commented 2 months ago

@OmidGhotbi Are you find solution?

OmidGhotbi commented 2 months ago

I tested all new versions of luxcore render and Nvidia driver with new OpenCL in them, as far as I can see there is a DLL inside the installation folder and it should not search for OpenCL Dll in Windows at all but it needs specific OpenCL Dll in the system folder to be installed and in a few last Nvidia driver the name of it has been changed, so if you have an old driver and then update you will not notice that but if you install brand new windows (in my case) and install lastest nvidia driver, the problem will show up and you I have to find an older version of OpenCL add it to the system and register it, I do not know if it will cause any other issue with other software that they move to new version of OpenCL or not, but that's the process to make it run.

OmidGhotbi commented 2 months ago

i think luxcore is using OpenCL 1.1 and nvidia removed it from new drivers and stick with 3+ version after a few last updates and removed the older version from it, unless you go to https://developer.nvidia.com/opencl page and install it from nvidia Opencl page. Moving to OpenCl 3+ need code integration and i think it is not possible at the moment as we know about the development of luxcore so I'm not sure if it adding all Dll directly to luxcore folder can solve the issue or not. i will test it with another PC as well and let you know.

odil24 commented 2 months ago

You absolutely right. Microsoft removed support of an old OpenCL version due to the new features needed brand-new versions of redistributables like OpenCL 3.0+ or other linear redists. And yeah, me too join to your thoughts about upgrading all redists of LuxCore to newest one but with new RTX cards like 4xxx for more recent tests if it works on new and on older ones.

OmidGhotbi commented 2 months ago

You are absolutely right i forgot about the older version, maybe just pointing the luxcore to local OpenCL Dll is a better solution. In the end, luxcore is getting old slowly and it is unavoidable, without updates sooner or later it will be obsolete. especially with new light techniques and all the new changes in recent years.