TLDR: Would like help figuring out what calls need to be implemented for Creo to see/use the NVidia GPU I have
Longer: Currently almost everything in Creo except the GPU rendering support works well. The program still works as is, but defaults to CPU rendering which is really slow.
I believe that Creo uses OpenGL and CUDA for its graphics processing (and requires an NVidia gpu). I'm more interested in getting OpenGL to work than CUDA.
It looks like Creo thinks that there isn't a compatible GPU, and so maybe isn't even trying to use the GPU? The thing I would like help with is figuring out where Creo is getting its information about what GPU I have, and how I can convince it that I have the the correct one so it makes the proper OpenGL calls (which I assume wine will then handle appropriately).
The smallest program that I'm using to test this can be found here: https://www.ptc.com/-/media/Files/creo/ ... ck-2.exe
I assume that this requests info about the GPU in the same way as the much larger Creo itself (and that executable is standalone and public facing so much easier to test with).
When I look at the default Wine debug output running that program, I see:
Code: Select all
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0034:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
005c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
005c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0064:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0064:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
006c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
006c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
MESA-INTEL: warning: Performance support disabled, consider sysctl dev.i915.perf_stream_paranoid=0
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
002c:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0024:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
00f8:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
00f8:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
00fc:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0024:fixme:exec:SHELL_execute flags ignored: 0x00000100
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:font:get_name_record_codepage encoding 20 not handled, platform 1.
0108:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
0108:fixme:heap:RtlSetHeapInformation 00000000009E0000 0 000000000021FD40 4 stub
0108:fixme:heap:RtlSetHeapInformation 0000000000AF0000 0 000000000021FD40 4 stub
0108:fixme:heap:RtlSetHeapInformation 0000000000C00000 0 000000000021FD40 4 stub
0108:fixme:heap:RtlSetHeapInformation 0000000000D10000 0 000000000021FD40 4 stub
0108:fixme:font:get_nearest_charset TCI failing on 20000000
0108:fixme:font:get_nearest_charset returning DEFAULT_CHARSET face->fs.fsCsb[0] = 20000000 file = L"Z:\\usr\\share\\fonts\\truetype\\fonts-gujr-extra\\aakar-medium.ttf"
0108:fixme:font:freetype_set_outline_text_metrics failed to read full_nameW for font L"Ani"!
0108:err:module:import_dll Library nvcuda.dll (which is needed by L"C:\\users\\max\\Temp\\7zS020898A7\\device_api.dll") not found
0108:err:module:import_dll Library nvcuda.dll (which is needed by L"C:\\users\\max\\Temp\\7zS020898A7\\device_api.dll") not found
0108:fixme:font:freetype_get_unicode_ranges encoding "\x00\x00\x00\x00" not supported
0108:fixme:font:freetype_get_unicode_ranges encoding "\x00\x00\x00\x00" not supported
0108:fixme:font:freetype_get_unicode_ranges encoding "\x00\x00\x00\x00" not supported
0108:fixme:font:freetype_get_unicode_ranges encoding "\x00\x00\x00\x00" not supported
0108:fixme:font:freetype_get_unicode_ranges encoding "\x00\x00\x00\x00" not supported
0108:fixme:font:freetype_get_unicode_ranges encoding "\x00\x00\x00\x00" not supported
0108:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 000000000021FD70
Code: Select all
0108:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
I have access to a windows partition on this same machine where Creo runs correctly. Is there any way that I can snoop on the compatibility checker there and see what the result of its API calls or registry access or whatever is?
I assume the lines trying to load nvcuda.dll are the CUDA specific checks and aren't a problem if I don't plan on using CUDA?
I'm willing/maybe capable of putting in the work trying to debug and fix this, but I'm not really familiar enough with the windows API or wine enough to know where to start.
I've tried turning on more debug print channels, but there are a lot of them and I'm not sure what I'm looking for. Maybe direction on that would be a good first step?
Any help or direction would be appreciated! Also, I tried asking some questions on the users IRC, but it seemed pretty dead. Is there a better place than the forum to ask questions like this or is here where it's at?
Thanks in advance!
~Max