http://bugs.winehq.org/show_bug.cgi?id=24276
Summary: Max Payne 2 - early crash when running with mesa driver Product: Wine Version: 1.3.2 Platform: x86-64 URL: http://www.rockstargames.com/maxpayne2/mp2_downloads.h tml OS/Version: Linux Status: UNCONFIRMED Severity: major Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: liquid.acid@gmx.net CC: hverbeet@gmail.com
Created an attachment (id=30574) --> (http://bugs.winehq.org/attachment.cgi?id=30574) i965 classic crash
Hi there,
like I already feared in bug #12051 the game 'Max Payne 2' never worked when wined3d runs on a mesa driver.
I somehow knew this problem, because back then when I still had my Intel i915 it wouldn't run as well. However I always blamed it on limited hardware support of the integrated Intel GPU. I'm now back with a i965-based GPU (Arrandale, IGP in a Core i5 M450) and this problem still occurs. The Arrandale has DX10 features, so something can't be right here.
Testing the game with swrast (both classic and gallium, powered by LLVM) yields exactly the same results.
What to do? Fetch the MP2 demo and launch it. Finish config (it shouldn't matter what gfx settings you select) and let the launcher start the game. After the short intro movie a loading screen appears. Shortly after the progress bar advances for the first time, the game crashes.
I'm going to attach some logs from the crashes: (i) i965 with classic driver (gallium doesn't work, crashes somewhere else but in mesa code) (ii) swrast gallium (iii) swrast classic
All segfault at the exact same position: Backtrace: 0x00370265: movl 0x8(%esi),%eax
Using winedbg and disasm yields this: 0x00370250: movl %ecx,0x00000000 0x00370256: addl $0xc8,%esp 0x0037025c: ret $0x24 0x0037025f: int $3 0x00370260 ??4P_TextureFormat@@QAEAAV0@ABV0@@Z in e2mfc: pushl %esi 0x00370261: movl 0x8(%esp),%esi 0x00370265: movl 0x8(%esi),%eax 0x00370268: movl %eax,0x8(%ecx) 0x0037026b: movl 0xc(%esi),%edx 0x0037026e: movl %edx,0xc(%ecx)
So there is some sort of texture format (checking?) function in e2mfc that freaks out when mesa is used. I suspect that wine doesn't advertise certain texture formats (that are _always_ available on native Windows) when running on a mesa driver, or the mesa driver doesn't advertise them - no idea?
Any idea how to procede with the debugging? I still have to check the game on my r700 card, also with mesa drivers (no fglrx installed, does this even work with the latest xserver?)
Adding Henri and Stefan because they likely know what to do next (especially Henri, since he's also working on mesa - great job anyway!)
Greets, Tobias
EDIT:
uname -a: Linux leena 2.6.35.4 #3 SMP PREEMPT Mon Aug 30 22:55:57 CEST 2010 x86_64 Intel(R) Core(TM) i5 CPU M 450 @ 2.40GHz GenuineIntel GNU/Linux
i965 and swrast gallium are built from git master, swrast classic is older. And yes, these are the 32bit compiles :)
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #1 from Tobias Jakobi liquid.acid@gmx.net 2010-09-05 07:59:40 CDT --- Created an attachment (id=30575) --> (http://bugs.winehq.org/attachment.cgi?id=30575) swrast gallium
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #2 from Tobias Jakobi liquid.acid@gmx.net 2010-09-05 07:59:56 CDT --- Created an attachment (id=30576) --> (http://bugs.winehq.org/attachment.cgi?id=30576) swrast classic crash
http://bugs.winehq.org/show_bug.cgi?id=24276
Tobias Jakobi liquid.acid@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #30575|swrast gallium |swrast gallium crash description| |
http://bugs.winehq.org/show_bug.cgi?id=24276
Tobias Jakobi liquid.acid@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download CC| |stefan@codeweavers.com
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #3 from Henri Verbeet hverbeet@gmail.com 2010-09-05 08:29:42 CDT --- (In reply to comment #0)
So there is some sort of texture format (checking?) function in e2mfc that freaks out when mesa is used. I suspect that wine doesn't advertise certain texture formats (that are _always_ available on native Windows) when running on a mesa driver, or the mesa driver doesn't advertise them - no idea?
Any idea how to procede with the debugging? I still have to check the game on my r700 card, also with mesa drivers (no fglrx installed, does this even work with the latest xserver?)
S3TC and floating point formats are typical suspects there, though floating point textures shouldn't be a problem for d3d8. +d3d_caps may give some insight in what formats the game queries for, as well as perhaps +d3d for possible failing calls to IWineD3DDeviceImpl_CreateSurface() and similar functions. Most of those should produce a WARN in the log when they fail.
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #4 from Tobias Jakobi liquid.acid@gmx.net 2010-09-05 08:52:09 CDT --- Amazing, right at first guess. It was indeed S3TC, it was disabled through driconf ("Enable S3TC texture compression even if software support is not available" was off). When forcing it on the crash is gone and the game works flawless :)
Maybe we could add some sort of warning when S3TC is disabled? Especially when an open-source driver is detected.
http://bugs.winehq.org/show_bug.cgi?id=24276
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |meizinteizi@hotmail.com
--- Comment #5 from Wylda wylda@volny.cz 2010-09-09 02:04:38 CDT --- *** Bug 13702 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #6 from Tobias Jakobi liquid.acid@gmx.net 2010-10-13 06:53:56 CDT --- Looks like Henri's patch was silently ignored: http://www.winehq.org/pipermail/wine-patches/2010-September/092984.html
Any reason for that?
http://bugs.winehq.org/show_bug.cgi?id=24276
Brandon Corujo haku08879@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |haku08879@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #7 from Ken Sharp kennybobs@o2.co.uk 2013-07-25 18:13:30 CDT --- Bump - nearly three years, is this still an issue?
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #8 from Tobias Jakobi liquid.acid@gmx.net 2013-07-25 18:37:53 CDT --- See comment #6, afaik this was never merged.
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #9 from Bruno Jesus 00cpxxx@gmail.com 2013-07-26 22:04:45 CDT --- I'm not sure what running in mesa means. If I set LIBGL_DRIVERS_PATH to an invalid path and run the game it will crash during the start.
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #10 from Henri Verbeet hverbeet@gmail.com 2013-07-27 02:55:53 CDT --- (In reply to comment #8)
See comment #6, afaik this was never merged.
It wasn't, but we do print a FIXME in surface_allocate_surface() about unsupported formats since commit 2907913fad3118800b675a8b52ae9dcaea191fdb. That makes this kind of issue much easier to detect, and I'd say this is fixed.
http://bugs.winehq.org/show_bug.cgi?id=24276
--- Comment #11 from Henri Verbeet hverbeet@gmail.com 2013-07-27 02:58:50 CDT --- (In reply to comment #9)
I'm not sure what running in mesa means. If I set LIBGL_DRIVERS_PATH to an invalid path and run the game it will crash during the start.
This bug was originally about crashing on Mesa without S3TC support. Around comment #4 it became about better diagnostics for that kind of issue.
http://bugs.winehq.org/show_bug.cgi?id=24276
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #12 from Austin English austinenglish@gmail.com 2013-07-29 17:26:24 CDT --- (In reply to comment #10)
(In reply to comment #8)
See comment #6, afaik this was never merged.
It wasn't, but we do print a FIXME in surface_allocate_surface() about unsupported formats since commit 2907913fad3118800b675a8b52ae9dcaea191fdb. That makes this kind of issue much easier to detect, and I'd say this is fixed.
Fine by me.
http://bugs.winehq.org/show_bug.cgi?id=24276
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |2907913fad3118800b675a8b52a | |e9dcaea191fdb
http://bugs.winehq.org/show_bug.cgi?id=24276
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org 2013-08-02 13:18:50 CDT --- Closing bugs fixed in 1.7.0.