https://bugs.winehq.org/show_bug.cgi?id=40803
Bug ID: 40803 Summary: Hard Reset Redux fails to launch ("DirectX 10 device not found!") Product: Wine Version: 1.9.12 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: fjfrackiewicz@gmail.com Distribution: ---
Created attachment 54734 --> https://bugs.winehq.org/attachment.cgi?id=54734 Terminal output in Wine 1.9.12 Windows 7 32-bit prefix
When trying to run the 32-bit version of Hard Reset Redux in a Windows 7 mode prefix I get greeted with the error message "DirectX 10 device not found!"
This message occurs when I try to run the game via its 32-bit executable (hr.Win32.exe) and the game's launcher (launcher.exe).
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #1 from fjfrackiewicz@gmail.com --- Same issue in Wine 1.9.12 Staging, with or without CSMT enabled.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #2 from fjfrackiewicz@gmail.com --- Created attachment 54871 --> https://bugs.winehq.org/attachment.cgi?id=54871 Terminal output Wine 1.9.13 Windows 7
Still an issue in Wine 1.9.13.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #3 from fjfrackiewicz@gmail.com --- I googled the initial error message ("Direct X 10 device not found!") and it looks like Windows users may encounter this issue as well:
Steam version: http://steamcommunity.com/app/407810/discussions/0/350532795339471868/
GOG version: https://www.gog.com/forum/hard_reset_redux/direct_x_10_device_not_found
I've updated the game to version 1.1.1.0 and this bug did not go away. Perhaps this is a NOTOURBUG or INVALID, then?
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #4 from fjfrackiewicz@gmail.com --- I also tried various DLL overrides to the best of my ability and I could not convince the game that I have a DX10 device.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #5 from Matteo Bruni matteo.mystral@gmail.com --- If you use Mesa drivers, have you tried setting the MaxVersionGL registry key? See https://wiki.winehq.org/Useful_Registry_Keys for a quick description.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #6 from fjfrackiewicz@gmail.com --- (In reply to Matteo Bruni from comment #5)
If you use Mesa drivers, have you tried setting the MaxVersionGL registry key? See https://wiki.winehq.org/Useful_Registry_Keys for a quick description.
Hi Mateo,
I use the proprietary Nvidia drivers (latest version 367.27, GLX version 4.5.0) and my video card is an Nvidia GTX 970.
I can try the registry setting but it's rather odd that this game doesn't see that I have a DX10-compatible card...
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #7 from fjfrackiewicz@gmail.com --- Still an issue when using an Nvidia 970 GTX with the official 367.35 drivers in Wine 1.9.16 Staging.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #8 from fjfrackiewicz@gmail.com --- Still an issue in Wine 1.9.17 even with newer Nvidia drivers (370.23).
https://bugs.winehq.org/show_bug.cgi?id=40803
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com
--- Comment #9 from Józef Kucia joseph.kucia@gmail.com --- (In reply to fjfrackiewicz from comment #8)
Still an issue in Wine 1.9.17 even with newer Nvidia drivers (370.23).
Please attach "WINEDEBUG=+dxgi,+d3d,+d3d11" log.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #10 from fjfrackiewicz@gmail.com --- Created attachment 55475 --> https://bugs.winehq.org/attachment.cgi?id=55475 WINEDEBUG=+dxgi,+d3d,+d3d11 log Wine 1.9.17
Attached log as requested.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #11 from fjfrackiewicz@gmail.com --- (In reply to Matteo Bruni from comment #5)
If you use Mesa drivers, have you tried setting the MaxVersionGL registry key? See https://wiki.winehq.org/Useful_Registry_Keys for a quick description.
Hi Mateo,
I've followed the directions in this AppDB entry https://appdb.winehq.org/objectManager.php?sClass=version&iId=33252 comment by Guillaume Charifi to set the MaxVersionGL registry to OpenGL 4.5 and I still get the original reported error message.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #12 from fjfrackiewicz@gmail.com --- Issue is still present in Wine 1.9.21.
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #13 from fjfrackiewicz@gmail.com --- Issue still present in Wine 2.0-rc1.
https://bugs.winehq.org/show_bug.cgi?id=40803
Artur punk0x29a@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |punk0x29a@gmail.com
--- Comment #14 from Artur punk0x29a@gmail.com --- Still present in wine-2.0-rc5
https://bugs.winehq.org/show_bug.cgi?id=40803
--- Comment #15 from fjfrackiewicz@gmail.com --- Still an issue in Wine 2.1.
https://bugs.winehq.org/show_bug.cgi?id=40803
GreenCopper greencoppermine@yandex.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |greencoppermine@yandex.com
--- Comment #16 from GreenCopper greencoppermine@yandex.com --- This is still an issue in Wine 2.6 running with NVIDIA driver version 375.39
https://bugs.winehq.org/show_bug.cgi?id=40803
Laszlo Monda laci@monda.hu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |laci@monda.hu
https://bugs.winehq.org/show_bug.cgi?id=40803
AZ b.wine.6883@indigo.re changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |b.wine.6883@indigo.re
--- Comment #17 from AZ b.wine.6883@indigo.re --- Same problem in Wine 3.0 and 3.2.
https://bugs.winehq.org/show_bug.cgi?id=40803
petrushkinsn@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |petrushkinsn@gmail.com
--- Comment #18 from petrushkinsn@gmail.com --- I had that issue with older versions of wine. With wine-3.17-62-gadf4512798 game runs ok.
https://bugs.winehq.org/show_bug.cgi?id=40803
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Ever confirmed|0 |1 Summary|Hard Reset Redux fails to |Hard Reset Redux fails to |launch ("DirectX 10 device |launch ("DirectX 10 device |not found!") |not | |found!")(DXGI_ADAPTER_DESC1 | |'DedicatedSystemMemory' or | |'SharedSystemMemory' member | |must be non-null) Status|UNCONFIRMED |NEW Component|-unknown |directx-d3d
--- Comment #19 from Anastasius Focht focht@gmx.net --- Hello folks,
found a distributed "backup", confirming.
--- snip --- $ pwd /home/focht/.wine/drive_c/GOG Games/Hard Reset Redux
$ WINEDEBUG=+seh,+loaddll,+process,+dxgi,+d3d,+d3d11,+msgbox wine ./hr.Win32.exe >>log.txt 2>&1 ... <same as other logs attached to ticket> --- snip ---
Took some hours to debug that out as the game copies adapter values/caps/limits around in internal data structures, without preserving original data structure which makes it harder to track what kind of value corresponds to which adapter/driver value. Even worse when various values are zero.
The game gfx engine init code does various checks on adapter/driver caps to validate the system is really able to run the game. The culprits are 'DedicatedSystemMemory' and 'SharedSystemMemory' members of 'DXGI_ADAPTER_DESC1' structure. At least one of them has to be non-null, otherwise it game will terminate with that error message.
Wine source:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/dxgi/adapter.c#l149
--- snip --- 149 static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetDesc1(IWineDXGIAdapter *iface, DXGI_ADAPTER_DESC1 *desc) 150 { 151 struct dxgi_adapter *adapter = impl_from_IWineDXGIAdapter(iface); 152 struct wined3d_adapter_identifier adapter_id; 153 char description[128]; 154 HRESULT hr; 155 156 TRACE("iface %p, desc %p.\n", iface, desc); 157 158 if (!desc) 159 return E_INVALIDARG; 160 161 adapter_id.driver_size = 0; 162 adapter_id.description = description; 163 adapter_id.description_size = sizeof(description); 164 adapter_id.device_name_size = 0; 165 166 wined3d_mutex_lock(); 167 hr = wined3d_get_adapter_identifier(adapter->factory->wined3d, adapter->ordinal, 0, &adapter_id); 168 wined3d_mutex_unlock(); 169 170 if (FAILED(hr)) 171 return hr; 172 173 if (!MultiByteToWideChar(CP_ACP, 0, description, -1, desc->Description, 128)) 174 { 175 DWORD err = GetLastError(); 176 ERR("Failed to translate description %s (%#x).\n", debugstr_a(description), err); 177 hr = E_FAIL; 178 } 179 180 desc->VendorId = adapter_id.vendor_id; 181 desc->DeviceId = adapter_id.device_id; 182 desc->SubSysId = adapter_id.subsystem_id; 183 desc->Revision = adapter_id.revision; 184 desc->DedicatedVideoMemory = adapter_id.video_memory; 185 desc->DedicatedSystemMemory = 0; /* FIXME */ 186 desc->SharedSystemMemory = 0; /* FIXME */ 187 desc->AdapterLuid = adapter_id.adapter_luid; 188 desc->Flags = 0; 189 190 return hr; 191 } --- snip ---
Dat FIXME seems legit ;-)
Microsoft Docs:
https://docs.microsoft.com/en-us/windows/desktop/api/dxgi/ns-dxgi-dxgi_adapt...
With that change in place the game starts fine with my dual GPU setup (Bumblebee) on both GPUs. Tested with 32-bit 'hr.Win32.exe' and 64-bit 'hr.x64.exe'.
--- snip --- $ optirun glxinfo | grep -i opengl OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 850M/PCIe/SSE2 OpenGL core profile version string: 4.6.0 NVIDIA 396.54 OpenGL core profile shading language version string: 4.60 NVIDIA OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.6.0 NVIDIA 396.54 OpenGL shading language version string: 4.60 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: --- snip ---
--- snip --- $ glxinfo | grep -i opengl OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.5 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 18.0.5 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.5 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 OpenGL ES profile extensions: --- snip ---
There is a crash on exit but that's a different issue.
$ sha1sum * f355e7a8fe0e8478bf3b17f5c35e82e3bc6e0cf1 setup_hard_reset_redux_2.0.0.2-1.bin 6b0137751cd0ef4f5cf18f7789ec05444e842d3d setup_hard_reset_redux_2.0.0.2-2.bin e3a7b9a142de3896de82e444bdaf14fdabda276e setup_hard_reset_redux_2.0.0.2.exe
$ du -shL * 4.0G setup_hard_reset_redux_2.0.0.2-1.bin 1.3G setup_hard_reset_redux_2.0.0.2-2.bin 33M setup_hard_reset_redux_2.0.0.2.exe
$ wine --version wine-3.18
Regards
https://bugs.winehq.org/show_bug.cgi?id=40803
Laszlo Monda laci@monda.hu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|laci@monda.hu |
https://bugs.winehq.org/show_bug.cgi?id=40803
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |45993
https://bugs.winehq.org/show_bug.cgi?id=40803
zzzzzyzz@hacari.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzzzzyzz@hacari.org
https://bugs.winehq.org/show_bug.cgi?id=40803
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |a96f6f8bf5ac285e2ade2847b00 | |abcfa01c5f714
--- Comment #20 from Józef Kucia joseph.kucia@gmail.com --- Should be fixed by https://source.winehq.org/git/wine.git/?a=commit;h=a96f6f8bf5ac285e2ade2847b...
https://bugs.winehq.org/show_bug.cgi?id=40803
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #21 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.21.