[Bug 35860] Multiple games using CryEngine 3.x report ' Unsupported GPU configuration' with 'Video memory: 0 MB' via WMI on startup (Crysis 2, Batman: Arkham Asylum, MechWarrior Online)( CryEngine 3.x bug)

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Oct 19 09:31:31 CDT 2018


https://bugs.winehq.org/show_bug.cgi?id=35860

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Crysis 2 reports            |Multiple games using
                   |'Unsupported GPU            |CryEngine 3.x report
                   |configuration' on startup   |'Unsupported GPU
                   |(crysis engine bug)         |configuration' with 'Video
                   |                            |memory: 0 MB' via WMI on
                   |                            |startup (Crysis 2, Batman:
                   |                            |Arkham Asylum, MechWarrior
                   |                            |Online)(CryEngine 3.x bug)
                URL|                            |https://mwomercs.com/game/d
                   |                            |ownload
           Keywords|                            |download

--- Comment #8 from Anastasius Focht <focht at gmx.net> ---
Hello folks,

refining summary to collect dupes.

Also encountered with MechWarrior Online (MWO) from Piranha games which uses a
modified Crysis 3.5.x engine.

Download: https://mwomercs.com/game/download

--- snip ---
$ pwd
/home/focht/wine-games/wineprefix64-mwo/drive_c/Program Files (x86)/Piranha
Games/MechWarrior Online/Bin64

$ file *
crashrpt_lang.ini:    Little-endian UTF-16 Unicode text, with CRLF line
terminators
CrashSender1402.exe:  PE32+ executable (GUI) x86-64, for MS Windows
CryRenderD3D11.dll:   PE32+ executable (DLL) (GUI) x86-64, for MS Windows
CryRenderD3D9.dll:    PE32+ executable (DLL) (GUI) x86-64, for MS Windows
D3DCompiler_43.dll:   PE32+ executable (DLL) (console) x86-64, for MS Windows
d3dx11_43.dll:        PE32+ executable (DLL) (console) x86-64, for MS Windows
d3dx9_43.dll:         PE32+ executable (DLL) (GUI) x86-64, for MS Windows
fmod_event64.dll:     PE32+ executable (DLL) (GUI) x86-64, for MS Windows
fmod_event_net64.dll: PE32+ executable (DLL) (GUI) x86-64, for MS Windows
fmodex64.dll:         PE32+ executable (DLL) (GUI) x86-64, for MS Windows
msvcp100.dll:         PE32+ executable (DLL) (GUI) x86-64, for MS Windows
msvcr100.dll:         PE32+ executable (DLL) (GUI) x86-64, for MS Windows
MWOClient.exe:        PE32+ executable (GUI) x86-64, for MS Windows
nvDXTLibrary.dll:     PE32+ executable (DLL) (GUI) x86-64, for MS Windows
soundbackends:        directory
steam_api64.dll:      PE32+ executable (DLL) (GUI) x86-64, for MS Windows
ts3client_win64.dll:  PE32+ executable (DLL) (GUI) x86-64, for MS Windows
Txaa.win64.dll:       PE32+ executable (DLL) (GUI) x86-64, for MS Windows
xinput1_3.dll:        PE32+ executable (DLL) (GUI) x86-64, for MS Windows

$ WINEDEBUG=+seh,+loaddll,+process,+dxgi,+d3d11,+wbemprox,+msgbox wine
./MWOClient.exe >>log.txt 2>&1
...
0037:trace:loaddll:load_builtin_dll Loaded
L"C:\\windows\\system32\\wbemprox.dll" at 0x7fd8bc120000: builtin
0037:trace:wbemprox:DllGetClassObject {4590f811-1d3a-11d0-891f-00aa004b2e24}
{00000001-0000-0000-c000-000000000046} 0x23dcb8
0037:trace:wbemprox:wbemprox_cf_CreateInstance (nil)
{dc12a687-737f-11cf-884d-00aa004b2e24} 0x23dcb0
0037:trace:wbemprox:WbemLocator_create (0x23db98)
0037:trace:wbemprox:WbemLocator_create returning iface 0xae320
0037:trace:wbemprox:wbem_locator_QueryInterface 0xae320
{dc12a687-737f-11cf-884d-00aa004b2e24} 0x23dcb0
0037:trace:wbemprox:wbem_locator_ConnectServer 0xae320, L"\\\\.\\root\\cimv2",
(null), (null), (null), 0x00000000, (null), (nil), 0x23e1e0)
0037:trace:wbemprox:WbemServices_create (0x23e1e0)
0037:trace:wbemprox:WbemServices_create returning iface 0xb5060
0037:trace:wbemprox:wbem_services_QueryInterface 0xb5060
{0000013d-0000-0000-c000-000000000046} 0x23de08
0037:fixme:wbemprox:client_security_SetBlanket 0x7fd8bc156240, 0xb5060, 10, 0,
(null), 3, 3, (nil), 0x00000000
0037:fixme:wbemprox:client_security_Release 0x7fd8bc156240
0037:trace:wbemprox:wbem_services_CreateInstanceEnum 0xb5060,
L"Win32_VideoController", 000000000, (nil), 0x23e1e8
0037:trace:wbemprox:grab_table returning 0x7fd8bc156150
0037:trace:wbemprox:parse_query wql_parse returned 0
0037:trace:dxgi:CreateDXGIFactory iid {7b7166ec-21c7-44ae-b21a-c9ae321ae369},
factory 0x23db70.
0037:fixme:win:EnumDisplayDevicesW ((null),0,0x23d550,0x00000000), stub!
0037:trace:dxgi:dxgi_factory_create Created factory 0xb5350.
0037:trace:dxgi:dxgi_factory_QueryInterface iface 0xb5350, iid
{7b7166ec-21c7-44ae-b21a-c9ae321ae369}, out 0x23db70.
0037:trace:dxgi:dxgi_factory_AddRef 0xb5350 increasing refcount to 2.
0037:trace:dxgi:dxgi_factory_Release 0xb5350 decreasing refcount to 1.
0037:trace:dxgi:dxgi_factory_EnumAdapters iface 0xb5350, adapter_idx 0, adapter
0x23db78.
0037:trace:dxgi:dxgi_factory_EnumAdapters1 iface 0xb5350, adapter_idx 0,
adapter 0x23db78.
0037:trace:dxgi:dxgi_factory_AddRef 0xb5350 increasing refcount to 2.
0037:trace:dxgi:dxgi_factory_EnumAdapters1 Returning adapter 0xb4cd0.
0037:trace:dxgi:dxgi_adapter_GetDesc iface 0xb4cd0, desc 0x23dbe0.
0037:trace:dxgi:dxgi_adapter_GetDesc1 iface 0xb4cd0, desc 0x23d910.
0037:trace:wbemprox:fill_videocontroller created 1 rows
0037:trace:dxgi:dxgi_adapter_Release 0xb4cd0 decreasing refcount to 0.
0037:trace:dxgi:dxgi_factory_Release 0xb5350 decreasing refcount to 1.
0037:trace:dxgi:dxgi_factory_Release 0xb5350 decreasing refcount to 0.
0037:trace:wbemprox:EnumWbemClassObject_create 0x23e1e8
0037:trace:wbemprox:EnumWbemClassObject_create returning iface 0xb4cd0
0037:trace:wbemprox:enum_class_object_Reset 0xb4cd0
0037:trace:wbemprox:enum_class_object_Next 0xb4cd0, 5000, 10, 0x23df60,
0x23e1d8
0037:fixme:wbemprox:enum_class_object_Next timeout not supported
0037:trace:wbemprox:create_class_object L"Win32_VideoController", 0x23df60
0037:trace:wbemprox:create_class_object returning iface 0xb5130
0037:trace:wbemprox:class_object_Get 0xb5130, L"PNPDeviceID", 00000000,
0x23dfb0, (nil), (nil)
...
0037:trace:msgbox:MSGBOX_OnInit L"Unsupported video card detected! Continuing
to run might lead to unexpected results or crashes. Please check the manual for
further information on hardware requirements.\n\n\"Intel(R) HD Graphics 4600\"
[vendor id = 0x8086, device id = 0x0416]" 
--- snip ---

With optirun (switch to discrete NVIDIA gpu):

--- snip ---
$ WINEDEBUG=+seh,+loaddll,+process,+dxgi,+d3d11,+wbemprox,+msgbox optirun wine
./MWOClient.exe >>log.txt 2>&1
...
005a:trace:wbemprox:DllGetClassObject {4590f811-1d3a-11d0-891f-00aa004b2e24}
{00000001-0000-0000-c000-000000000046} 0x23dcb8
005a:trace:wbemprox:wbemprox_cf_CreateInstance (nil)
{dc12a687-737f-11cf-884d-00aa004b2e24} 0x23dcb0
005a:trace:wbemprox:WbemLocator_create (0x23db98)
005a:trace:wbemprox:WbemLocator_create returning iface 0xb00a0
005a:trace:wbemprox:wbem_locator_QueryInterface 0xb00a0
{dc12a687-737f-11cf-884d-00aa004b2e24} 0x23dcb0
005a:trace:wbemprox:wbem_locator_ConnectServer 0xb00a0, L"\\\\.\\root\\cimv2",
(null), (null), (null), 0x00000000, (null), (nil), 0x23e1e0)
005a:trace:wbemprox:WbemServices_create (0x23e1e0)
005a:trace:wbemprox:WbemServices_create returning iface 0xb6de0
005a:trace:wbemprox:wbem_services_QueryInterface 0xb6de0
{0000013d-0000-0000-c000-000000000046} 0x23de08
005a:fixme:wbemprox:client_security_SetBlanket 0x7fcf09ba8240, 0xb6de0, 10, 0,
(null), 3, 3, (nil), 0x00000000
005a:fixme:wbemprox:client_security_Release 0x7fcf09ba8240
005a:trace:wbemprox:wbem_services_CreateInstanceEnum 0xb6de0,
L"Win32_VideoController", 000000000, (nil), 0x23e1e8
005a:trace:wbemprox:grab_table returning 0x7fcf09ba8150
005a:trace:wbemprox:parse_query wql_parse returned 0
005a:trace:dxgi:CreateDXGIFactory iid {7b7166ec-21c7-44ae-b21a-c9ae321ae369},
factory 0x23db70.
005a:fixme:win:EnumDisplayDevicesW ((null),0,0x23d550,0x00000000), stub!
005a:trace:dxgi:dxgi_factory_create Created factory 0xb70d0.
005a:trace:dxgi:dxgi_factory_QueryInterface iface 0xb70d0, iid
{7b7166ec-21c7-44ae-b21a-c9ae321ae369}, out 0x23db70.
005a:trace:dxgi:dxgi_factory_AddRef 0xb70d0 increasing refcount to 2.
005a:trace:dxgi:dxgi_factory_Release 0xb70d0 decreasing refcount to 1.
005a:trace:dxgi:dxgi_factory_EnumAdapters iface 0xb70d0, adapter_idx 0, adapter
0x23db78.
005a:trace:dxgi:dxgi_factory_EnumAdapters1 iface 0xb70d0, adapter_idx 0,
adapter 0x23db78.
005a:trace:dxgi:dxgi_factory_AddRef 0xb70d0 increasing refcount to 2.
005a:trace:dxgi:dxgi_factory_EnumAdapters1 Returning adapter 0xb6a50.
005a:trace:dxgi:dxgi_adapter_GetDesc iface 0xb6a50, desc 0x23dbe0.
005a:trace:dxgi:dxgi_adapter_GetDesc1 iface 0xb6a50, desc 0x23d910.
005a:trace:wbemprox:fill_videocontroller created 1 rows
005a:trace:dxgi:dxgi_adapter_Release 0xb6a50 decreasing refcount to 0.
005a:trace:dxgi:dxgi_factory_Release 0xb70d0 decreasing refcount to 1.
005a:trace:dxgi:dxgi_factory_Release 0xb70d0 decreasing refcount to 0.
005a:trace:wbemprox:EnumWbemClassObject_create 0x23e1e8
005a:trace:wbemprox:EnumWbemClassObject_create returning iface 0xb6a50
005a:trace:wbemprox:enum_class_object_Reset 0xb6a50
005a:trace:wbemprox:enum_class_object_Next 0xb6a50, 5000, 10, 0x23df60,
0x23e1d8
005a:fixme:wbemprox:enum_class_object_Next timeout not supported
005a:trace:wbemprox:create_class_object L"Win32_VideoController", 0x23df60
005a:trace:wbemprox:create_class_object returning iface 0xb6eb0
005a:trace:wbemprox:class_object_Get 0xb6eb0, L"PNPDeviceID", 00000000,
0x23dfb0, (nil), (nil)
...
005a:trace:msgbox:MSGBOX_OnInit L"Unsupported video card detected! Continuing
to run might lead to unexpected results or crashes. Please check the manual for
further information on hardware requirements.\n\n\"NVIDIA GeForce GTX 850M\"
[vendor id = 0x10de, device id = 0x1391]" 
--- snip ---

Both GPUs/drivers are not listed in their "whitelist" database, see my earlier
explanation in comment #5 hence the warning is triggered.

The adapter 'Video memory: 0 MB' via WMI bug:

--- snip ---
...
; [rbp-48]:L"PCI\\VEN_8086&DEV_0416&SUBSYS_00000000&REV_00\\0&DEADBEEF&0&DEAD"
0000000037E00BC0 | mov rcx,qword ptr ss:[rbp-48]
; rdx:L"PCI\\VEN_0000&DEV_0000", rdi:L"PCI\\VEN_0000&DEV_0000"
0000000037E00BC4 | mov rdx,rdi                                                  
0000000037E00BC7 | call qword ptr ds:[38DAFAA0]
...
--- snip ---

'~/wine-games/wineprefix64-mwo/drive_c/users/focht/Saved Games/MechWarrior
Online/Logs/Omicron.log'

--- snip ---
BackupNameAttachment=" Build(0) 19 Oct 18 (16 13 12)"  -- used by backup system
Log Started at 10/19/18 16:13:12
Running 64 bit version
Executable: C:\Program Files (x86)\Piranha Games\MechWarrior
Online\Bin64\MWOClient.exe
BuildInfo: Stage-186:281095
FileVersion: 1.4.186.0
ProductVersion: 1.4.186.0
Using STLport C++ Standard Library implementation
Added MOD directory <engine> to CryPak
Executable Command Line: "C:\Program Files (x86)\Piranha Games\MechWarrior
Online\Bin64\MWOClient.exe"

Total number of logical processors: 8
Number of available logical processors: 8
Total number of system cores: 4
Number of cores available to process: 4
...
<16:13:13> Windows 7 64 bit SP 1 (build 6.1.7601)
<16:13:13> System language: English
<16:13:13> Windows Directory: "C:\windows"
<16:13:13> Prerequisites...
<16:13:13> * Installation of KB940105 hotfix required: no! (either not needed
or already installed)
<16:13:13> Local time is 16:13:13 10/19/18, system running for 197 minutes
<16:13:13> 15923MB physical memory installed, 13587MB available, 134217727MB
virtual memory installed, 14 percent of memory in use
<16:13:13> PageFile usage: 71MB, Working Set: 92MB, Peak PageFile usage: 71MB,
<16:13:13> Current display mode is 1920x1080x32, (Unknown graphics card)
<16:13:13> IBM enhanced (101/102-key) keyboard and 3+ button mouse installed
<16:13:13>
--------------------------------------------------------------------------------
<16:13:13> Stream Engine Initialization
<16:13:13> GameName: MechWarrior Online (64 bit)
<16:13:13> BuildTime: Oct 16 2018 11:23:50
<16:13:13> Logging video adapters:
<16:13:13> - NVIDIA GeForce GTX 850M (vendor = 0x10de, device = 0x1391)
<16:13:13>   - Adapter index: 0
<16:13:13>   - Dedicated video memory: 2048 MB
<16:13:13>   - Feature level: DX11 (SM 5.0)
<16:13:13>   - Displays connected: yes
<16:13:13>   - Suitable rendering device: yes
...
<16:13:13> Renderer initialization
<16:13:13> Unsupported GPU configuration!
- NVIDIA GeForce GTX 850M (vendor = 0x10de, device = 0x1391)
- Video memory: 0 MB
- Minimum SM 3.0 support: yes
- Rating: 0
<16:13:13> Asking user if they wish to continue...
...
--- snip ---

The offending code that additionally uses WMI must have been removed somewhere
in CryEngine 3.6-4.x. It's not present in CryEngine V which is open-source:

https://github.com/CRYTEK/CRYENGINE/blob/5.1.0/Code/CryEngine/CrySystem/AutoDetectSpec.cpp

You can avoid the warning/message box on startup by passing '-noprompt -anygpu'
to the games. Example:

--- snip ---
$ wine ./MWOClient.exe -noprompt -anygpu
...
--- snip ---

$ sha1sum MWOPortalInstaller.exe 
2e243479cb476e7295ce6f825e6916c3dafea535  MWOPortalInstaller.exe

$ du -sh MWOPortalInstaller.exe 
68M    MWOPortalInstaller.exe

$ wine --version
wine-3.18-114-g417e94f199

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list