https://bugs.winehq.org/show_bug.cgi?id=41318
Bug ID: 41318 Summary: Sins of a Solar Empire crashes on start Product: Wine Version: 1.9.18 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3dx9 Assignee: wine-bugs@winehq.org Reporter: blog@pozimski.eu Distribution: ---
Created attachment 55653 --> https://bugs.winehq.org/attachment.cgi?id=55653 output of wine when running the game with WINEDBG=+all
With the current wine version, Sins of a Solar Empire: Rebellion (GOG version) does no longer start, instead it crashes with an error message and tries to write a dump. I believe this issue is related to Direct3D since the last message written before the dump is created is:
fixme:d3dx:D3DXLoadSurfaceFromMemory Unhandled filter 0x80004.
A git bisect reveals:
dfe3f26b6ddd5f280f61e15a8507e727947b99a3 is the first bad commit commit dfe3f26b6ddd5f280f61e15a8507e727947b99a3 Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Wed Jun 22 06:01:50 2016 +0000
d3dx9_43: Share the source with d3dx9_36.
Signed-off-by: Alistair Leslie-Hughes leslie_alistair@hotmail.com Signed-off-by: Matteo Bruni mbruni@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
:040000 040000 9d549ce0939762a55adcd576b150bfaad5338e04 0c6ab47a8dc5cd8ed8da2ad996fa02019b8af64f M dlls :040000 040000 0b852d0a91f39d0e3db8340e46b5b59547a5e7f0 1e9e55d7d1a3a8d7b4f132ecfebc87dcfb4aba1e M tools
I have attached the full log of the wine process just to be sure.
https://bugs.winehq.org/show_bug.cgi?id=41318
blog@pozimski.eu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |blog@pozimski.eu, | |leslie_alistair@hotmail.com Distribution|--- |Debian Regression SHA1| |dfe3f26b6ddd5f280f61e15a850 | |7e727947b99a3
https://bugs.winehq.org/show_bug.cgi?id=41318
blog@pozimski.eu changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Sins of a Solar Empire |Sins of a Solar Empire: |crashes on start |Rebellion crashes on start
https://bugs.winehq.org/show_bug.cgi?id=41318
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1|dfe3f26b6ddd5f280f61e15a850 | |7e727947b99a3 | Summary|Sins of a Solar Empire: |Sins of a Solar Empire: |Rebellion crashes on start |Rebellion requires binormal | |vectors support in | |D3DXComputeTangentFrameEx
--- Comment #1 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Unlikely this commit would of caused the error.
Firstly, set d3dcompiler to native. (without it you wont get far).
Once using native d3dcompiler, the crash is caused by missing support in D3DXComputeTangentFrameEx for binormal vectors.
Last lines of a +d3dx log.
trace:d3dx:D3DXComputeTangentFrameEx mesh 0x1f8c98, texture_in_semantic 5, texture_in_index 0, u_partial_out_semantic 4294967295, u_partial_out_index 0, v_partial_out_semantic 6, v_partial_out_index 0, normal_out_semantic 3, normal_out_index 0, options 0x200, adjacency 0x66ab33c8, partial_edge_threshold 0.010000, singular_point_threshold 0.250000, normal_edge_threshold 0.010000, mesh_out 0x32f6d4, vertex_mapping (nil) fixme:d3dx:D3DXComputeTangentFrameEx binormal vectors computation is not supported trace:d3dx:d3dx9_mesh_Release 0x1f8c98 decreasing refcount to 0. trace:d3dx:d3dx9_mesh_Release 0x1f8370 decreasing refcount to 0.
https://bugs.winehq.org/show_bug.cgi?id=41318
--- Comment #2 from blog@pozimski.eu --- Sorry if I drew the wrong conclusions from the behaviour and error messages I got from the game and wine itself. I have to rely on git bisect here which pointed me to the commit I mentioned in the initial report.
There are a few things I don't quite understand yet. If I understand your reply right, "binormal vectors" is a feature that simply isn't implemented in wine yet which would make this a missing feature rather than a regression. However the game worked just fine with wine versions back to 1.8.x (maybe even earlier versions, didn't try any older ones) without installing any additional dlls which led me to believe I encountered a classical regression. Was the the feature present in these versions and removed later or was the functionality implemented in the earlier versions "different" in a way that the missing feature didn't matter and the game was rendered properly anyway?
https://bugs.winehq.org/show_bug.cgi?id=41318
Józef Kucia joseph.kucia@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia@gmail.com
--- Comment #3 from Józef Kucia joseph.kucia@gmail.com --- (In reply to blog from comment #0)
A git bisect reveals:
dfe3f26b6ddd5f280f61e15a8507e727947b99a3 is the first bad commit commit dfe3f26b6ddd5f280f61e15a8507e727947b99a3 Author: Alistair Leslie-Hughes leslie_alistair@hotmail.com Date: Wed Jun 22 06:01:50 2016 +0000
d3dx9_43: Share the source with d3dx9_36. Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com> Signed-off-by: Matteo Bruni <mbruni@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
:040000 040000 9d549ce0939762a55adcd576b150bfaad5338e04 0c6ab47a8dc5cd8ed8da2ad996fa02019b8af64f M dlls :040000 040000 0b852d0a91f39d0e3db8340e46b5b59547a5e7f0 1e9e55d7d1a3a8d7b4f132ecfebc87dcfb4aba1e M tools
I have attached the full log of the wine process just to be sure.
Before this commit d3dx9_43 was forwarding all exported functions to d3dx9_36. Hypothetically, if you've had installed native d3dx9_36.dll in your wineprefix and Sins of a Solar Empire uses d3dx9_43.dll everything could work with built-in d3dx9_43.dll before this commit. However, after this commit d3dx9_43.dll doesn't forward exported functions to d3dx9_36.dll and this can be a reason why the game doesn't work anymore.
In order to confirm if this is the case you should provide a "WINEDEBUG=+loaddll" log generated by running the game in a working wine version (i.e. before the commit dfe3f26b6ddd5f280f61e15a8507e727947b99a3).
https://bugs.winehq.org/show_bug.cgi?id=41318
--- Comment #4 from blog@pozimski.eu --- Created attachment 55680 --> https://bugs.winehq.org/attachment.cgi?id=55680 Sins of a Solar Empire: Rebellion launched with wine 1.8.4
Thanks, that indeed seems to be the case. The game ships a copy of the native d3dx9_36.dll which is loaded with wine 1.8.4 from Debian backports. I attached the full log run with "WINEDEBUG=+loaddll".
https://bugs.winehq.org/show_bug.cgi?id=41318
Jeff MacLoue jeff@macloue.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeff@macloue.com
--- Comment #5 from Jeff MacLoue jeff@macloue.com --- *** Bug 41936 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=41318
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com
--- Comment #6 from Vijay Kamuju infyquest@gmail.com --- The staging patch will rot there, will may never be mainlined.
https://bugs.winehq.org/show_bug.cgi?id=41318
--- Comment #7 from Vijay Kamuju infyquest@gmail.com --- oops wrong comment.
https://bugs.winehq.org/show_bug.cgi?id=41318
Linards linards.liepins@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |linards.liepins@gmail.com
--- Comment #8 from Linards linards.liepins@gmail.com --- I have not seen such crashes recently.
I suggest to close this bug as linked one is already close with FIXED status.
App info:
SoSE: Rebellion Ultimate Edition v1.94 + All DLCs
System info:
$ cat /etc/fedora-release Fedora release 33 (Thirty Three)
$ wine --version wine-6.7 (Staging)
$ inxi -Gxxx Graphics: Device-1: AMD Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] vendor: XFX Pine driver: amdgpu v: kernel bus-ID: 01:00.0 chip-ID: 1002:67df class-ID: 0300 Display: x11 server: Fedora Project X.org 1.20.11 compositor: gnome-shell v: 3.38.4 driver: loaded: ati,modesetting unloaded: fbdev,vesa alternate: amdgpu resolution: 1920x1080 s-dpi: 96 OpenGL: renderer: Radeon RX 580 Series (POLARIS10 DRM 3.40.0 5.11.14-200.fc33.x86_64 LLVM 11.0.0) v: 4.6 Mesa 20.3.5 direct render: Yes
$ sudo lshw -short | egrep -v '(volume|disk|bus)' H/W path Device Class Description ================================================================= system System Product Name (SKU) /0/0 memory 64KiB BIOS /0/4 processor Intel(R) Core(TM) i7-3770S CPU @ 3.10GHz /0/4/5 memory 256KiB L1 cache /0/4/6 memory 1MiB L2 cache /0/4/7 memory 8MiB L3 cache /0/5e memory 16GiB System Memory /0/5e/0 memory 4GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns) /0/5e/1 memory 4GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns) /0/5e/2 memory 4GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns) /0/5e/3 memory 4GiB DIMM DDR3 Synchronous 1333 MHz (0.8 ns) /0/100 bridge Xeon E3-1200 v2/3rd Gen Core processor DRAM Controller /0/100/1 bridge Xeon E3-1200 v2/3rd Gen Core processor PCI Express Root Port /0/100/1/0 display Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] /0/100/1/0.1 multimedia Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] /0/100/16 communication 6 Series/C200 Series Chipset Family MEI Controller #1 /0/100/19 eno1 network 82579V Gigabit Network Connection /0/100/1a/1/1/2 scsi10 storage Mass Storage Device /0/100/1a/1/1/3 scsi11 storage LaCie DVDRW USB /0/100/1a/1/1/5 input Logitech Illuminated Keyboard /0/100/1a/1/1/6 scsi12 storage USB Mass Storage Device /0/100/1b multimedia 6 Series/C200 Series Chipset Family High Definition Audio Controller /0/100/1c bridge 6 Series/C200 Series Chipset Family PCI Express Root Port 1 /0/100/1c.1 bridge 6 Series/C200 Series Chipset Family PCI Express Root Port 2 /0/100/1c.3 bridge 6 Series/C200 Series Chipset Family PCI Express Root Port 4 /0/100/1c.3/0 storage JMB362 SATA Controller /0/100/1c.4 bridge 6 Series/C200 Series Chipset Family PCI Express Root Port 5 /0/100/1c.6 bridge 82801 PCI Bridge /0/100/1c.6/0 bridge ASM1083/1085 PCIe to PCI Bridge /0/100/1c.6/0/0 multimedia CMI8788 [Oxygen HD Audio] /0/100/1c.7 bridge 6 Series/C200 Series Chipset Family PCI Express Root Port 8 /0/100/1c.7/0 storage 88SE9172 SATA 6Gb/s Controller /0/100/1d/1/1/2 input Positive Gaming Impact USB pad /0/100/1d/1/1/4/1 input VoIP USB Dual RF Receiver /0/100/1d/1/1/4/2 multimedia Logitech EasyCall Speakerphone /0/100/1d/1/1/8 input Corsair M65 Gaming Mouse /0/100/1f bridge P67 Express Chipset LPC Controller /0/100/1f.2 scsi1 storage 6 Series/C200 Series Chipset Family 6 port Desktop SATA AHCI Controller /0/1 system PnP device PNP0c01 /0/2 system PnP device PNP0c02 /0/3 system PnP device PNP0b00 /0/5 generic PnP device INT3f0d /0/6 system PnP device PNP0c02 /0/7 system PnP device PNP0c02 /0/8 communication PnP device PNP0501 /0/9 system PnP device PNP0c02 /1 power To Be Filled By O.E.M. /2 power To Be Filled By O.E.M.
https://bugs.winehq.org/show_bug.cgi?id=41318
blog@pozimski.eu changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #9 from blog@pozimski.eu --- I agree. I don't know which wine version exactly did the trick but I am able to play the game without issues for some time now.
https://bugs.winehq.org/show_bug.cgi?id=41318
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #10 from Zebediah Figura z.figura12@gmail.com --- If you installed native d3dx9_43, that would cause the game to work. Are you sure you don't have native d3dx9_43 in your prefix?
https://bugs.winehq.org/show_bug.cgi?id=41318
--- Comment #11 from blog@pozimski.eu --- I have no additional dlls installed in my prefix and not native overrides configured. The game ships its own copy of d3dx9_43.dll so I am not sure if this is used or not. However since the starting point of this issue was that the game didn't work even though the native dll was available, I regard it as fixed.
https://bugs.winehq.org/show_bug.cgi?id=41318
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.8.