https://bugs.winehq.org/show_bug.cgi?id=52342
--- Comment #15 from Sveinar Søpler cybermax@dexter.no --- (In reply to Moté from comment #14)
CUDA module initialization failed. cudaRuntimeGetVersion returned with error 'initialization error'
I really think this is an issue with cudart and not nvcuda. Would mean that we’d need to do exactly the same for cudart than for nvcuda.
I do not think "cudart" is a driver library like nvcuda is. Now i do not understand much, but cudart64.dll is included with DAZStudio - as something the vendors include to do cuda functions... Much the same way games include stuff like nvngx_dlss.dll when using dlss with games. "WE" dont need to implement nvngx_dlss.dll cos this is the api that "talks to" nvngx.dll.
Developers can i think use cudart64.dll to call various cuda functions FROM nvcuda.. somewhat in the same manner games uses nvngx_dlss.dll to call various dlss functions from the driver (via nvngx.dll)
Atleast i think this is how it works, but feel free to correct me if i am totally off tho.
I will continue to do some tests here, and hack away at some functions to see what comes up. This looks a bit weird in the DAZ log: 2022-01-05 22:04:45.278 NVIDIA Iray GPUs: 2022-01-05 22:04:45.278 GPU: 1 - 2022-01-05 22:04:45.278 Memory Size: -1 bytes 2022-01-05 22:04:45.278 Clock Rate: -1 kHz 2022-01-05 22:04:45.278 Multi Processor Count: -1 2022-01-05 22:04:45.278 CUDA Device ID: -1 2022-01-05 22:04:45.278 CUDA Compute Capability: NA 2022-01-05 22:04:45.278 PCI Bus ID: 6488169 2022-01-05 22:04:45.278 PCI Device ID: 2097253 2022-01-05 22:04:45.278 TCC Mode: disabled 2022-01-05 22:04:45.278 Display: attached
And the GPU name that shows up in DAZ is also weird, as it seems to just be a pointer to something rather than the actual name.. But NvAPI_GPU_GetFullName is being called, so that SHOULD get the name. Perhaps it tries to pick the GPU info for all of this from nvcuda? Seems weird, since the logs does not seem to indicate cuDeviceGetName being called. Maybe it is a new (cuda 11+) function for name of adapter and various info that has been implemented?