CAD program doesn't see graphics card.

Open forum for end-user questions about Wine. Before asking questions, check out the Wiki as a first step.
Forum Rules
Locked
maxwellfire
Newbie
Newbie
Posts: 3
Joined: Sun Aug 01, 2021 5:35 pm

CAD program doesn't see graphics card.

Post by maxwellfire »

Hey, I'm trying to get Creo Parametric to work better with Wine.

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
The line that jumps out at me as relevant is:

Code: Select all

0108:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
Is this possibly the missing/unimplemented windows API call that gives the requested info?

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
wavexx
Newbie
Newbie
Posts: 2
Joined: Sat Aug 14, 2021 10:31 am

Re: CAD program doesn't see graphics card.

Post by wavexx »

Hi maxwellfire. Can I ask how did you manage to install Creo Parametric? Which version of wine, and/or which extra stuff is required?

I'm currently simply trying to install the 8.0.0.0 30 day trial version just to see if it does work at all, but I cannot get past the horrible "cloudplay installer".
maxwellfire
Newbie
Newbie
Posts: 3
Joined: Sun Aug 01, 2021 5:35 pm

Re: CAD program doesn't see graphics card.

Post by maxwellfire »

Hi wavexx,

I just tried to install 8.0.0.0 student edition, and it looks like it worked fine for me (as well as 7.0 works). I have no idea what "cloudplay installer you are taking about". That doesn't sound like something involved with PTC or creo at all. An internet search implies that is a video storage service?
maxwellfire
Newbie
Newbie
Posts: 3
Joined: Sun Aug 01, 2021 5:35 pm

Re: CAD program doesn't see graphics card.

Post by maxwellfire »

Based on the information found here: https://www.geoffchappell.com/studies/w ... rmance.htm it doesn't seem that the SYSTEM_PERFORMANCE_INFORMATION call could possibly give any information about the GPU. If so, I'm back to square one trying to figure out which debug streams are helpful, and what the graphics info request could be.
Locked