[Bug 43748] New: Dead or Alive Last Round ntdll crash on Wine newer than 1.8.7 under Linux , but not in OS X
https://bugs.winehq.org/show_bug.cgi?id=43748 Bug ID: 43748 Summary: Dead or Alive Last Round ntdll crash on Wine newer than 1.8.7 under Linux, but not in OS X Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs(a)winehq.org Reporter: tod.jackson(a)gmail.com Distribution: --- Created attachment 59244 --> https://bugs.winehq.org/attachment.cgi?id=59244 staging-2.17 console/debug output I got Dead or Alive Last Round (free on Steam) working without issues under OS X, with multiple Wine versions tested: 2.0.2, 2.13, 2.16-staging. However, under Linux, no version of Wine newer than 1.8.7 even proceeds beyond a brief white window. I attached a log with the default debug settings, please let me know what further to enable as I'm not sure what the issue is. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #1 from Tod Jackson <tod.jackson(a)gmail.com> --- A notable difference from the working Wine version appears that Wine didn't recognize my GPU yet (an Intel HD 4000):err:d3d:init_driver_info No driver version info found for device 8086:0166, driver model 0x2. I gathered that the next stable release added more device info. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 Austin English <austinenglish(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Version|unspecified |2.0.2 --- Comment #2 from Austin English <austinenglish(a)gmail.com> --- Could you run a regression test? https://wiki.winehq.org/Regression_Testing -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #3 from Tod Jackson <tod.jackson(a)gmail.com> --- Yeah, working on it. :) The game works on Wine 1.9.1 (commit 91dd155e9bc13c1bc1be860cd67fe3e48c20feae in master) as well. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 Tod Jackson <tod.jackson(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |b1429f931e816feee2f7b7fe065 | |a393c4caa7960 Component|ntdll |directx-d3d --- Comment #4 from Tod Jackson <tod.jackson(a)gmail.com> --- The offending commit is: commit b1429f931e816feee2f7b7fe065a393c4caa7960 Author: Matteo Bruni <mbruni(a)codeweavers.com> Date: Thu Jan 28 00:15:43 2016 +0100 wined3d: Add a real implementation of wined3d_check_device_multisample_type(). Signed-off-by: Matteo Bruni <mbruni(a)codeweavers.com> Signed-off-by: Henri Verbeet <hverbeet(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> winetricks multisampling=enabled or multisampling=disabled doesn't help. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #5 from Tod Jackson <tod.jackson(a)gmail.com> --- Mesa bug? MESA_EXTENSION_MAX_YEAR=2010 allows the game to start on Wine-staging. Hooray! -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #6 from Tod Jackson <tod.jackson(a)gmail.com> --- Well, after further reading I think this is a duplicate of bug 25362 (OpenGL extension string truncation/overflow), and the 'offending' commit added more available extensions. Also, it works on OS X because their OpenGL version has fewer extensions. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 Matteo Bruni <matteo.mystral(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|Dead or Alive Last Round |Dead or Alive Last Round |ntdll crash on Wine newer |crashes on Wine newer than |than 1.8.7 under Linux, but |1.8.7 under Linux, but not |not in OS X |in OS X --- Comment #7 from Matteo Bruni <matteo.mystral(a)gmail.com> --- (In reply to Tod Jackson from comment #6)
Well, after further reading I think this is a duplicate of bug 25362 (OpenGL extension string truncation/overflow), and the 'offending' commit added more available extensions. Also, it works on OS X because their OpenGL version has fewer extensions.
No, that only makes sense for some old OpenGL games while this is a d3d9 game. I can't reproduce the issue here, can you please attach a +tid,d3d9,d3d,d3d_shader log? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #8 from Tod Jackson <tod.jackson(a)gmail.com> --- Created attachment 59260 --> https://bugs.winehq.org/attachment.cgi?id=59260 +tid,d3d9,d3d,d3d_shader failing -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 Matteo Bruni <matteo.mystral(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Version|2.0.2 |1.9.3 --- Comment #9 from Matteo Bruni <matteo.mystral(a)gmail.com> --- (In reply to Tod Jackson from comment #8)
Created attachment 59260 [details] +tid,d3d9,d3d,d3d_shader failing
Thanks, that helped. It looks like the game checks for 2x multisampling and then proceeds to crash on a NULL dereference if it's not supported. I managed to reproduce your crash by hacking wined3d_check_device_multisample_type() to return WINED3DERR_NOTAVAILABLE for 2x multisampling. I don't know if it's true that your GPU doesn't support 2x multisampling but I seem to recall some kind of limitation in Mesa Intel drivers with specifically 2x multisampling. I have no idea if that changes in any way with a newer kernel / Mesa. I'd say this is an application bug but we might want to add some workaround if it turns out that there are more applications "surprised" by this specific behavior. BTW, there was this in the log:
0009:trace:d3d:init_driver_info GPU override ffff:ffff.
Do you really need that? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #10 from Tod Jackson <tod.jackson(a)gmail.com> --- When I saw it was a multisampling issue this came to mind, something I've always seen in chrome://gpu: Multisampling is buggy in Intel IvyBridge: 116370 Applied Workarounds: disable_chromium_framebuffer_multisample http://crbug.com/116370 Sorry, what's this GPU override mean? I probably didn't do it on purpose. Also, any clue why the game works with MESA_EXTENSION_MAX_YEAR=2010? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #11 from Matteo Bruni <matteo.mystral(a)gmail.com> --- (In reply to Tod Jackson from comment #10)
When I saw it was a multisampling issue this came to mind, something I've always seen in chrome://gpu: Multisampling is buggy in Intel IvyBridge: 116370 Applied Workarounds: disable_chromium_framebuffer_multisample http://crbug.com/116370
Unclear but probably not related.
Sorry, what's this GPU override mean? I probably didn't do it on purpose.
I looked that up again in the older Wine sources and it looks like, contrarily to what I thought previously, that trace was always printed at the time. Nothing to see here, sorry for the noise.
Also, any clue why the game works with MESA_EXTENSION_MAX_YEAR=2010?
Right, I forgot about that part. The patch causing this regression essentially started asking the driver for detailed per-format, per-sample-count multisampling support. For that it uses the ARB_internalformat_query extension which is marked in the Mesa sources with the 2011 year. So by setting the environment variable you're practically disabling the new "detailed" codepath and falling back to the previous behavior, which is to advertise all the multisample levels up to MAX_SAMPLES. If the game later on wants to create a texture with sample count 2, which is apparently unsupported by your GPU, that is automatically "upgraded" to the lowest supported count (probably 4) and everything SHOULD keep working. So good catch and probably a good workaround for this bug. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #12 from Henri Verbeet <hverbeet(a)gmail.com> --- So, NOTOURBUG? Or is there something we should do about this? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #13 from Matteo Bruni <matteo.mystral(a)gmail.com> --- (In reply to Henri Verbeet from comment #12)
So, NOTOURBUG? Or is there something we should do about this?
I'm not sure. AFAIU it's a specific combination of: - GPU driver advertising 4x+ multisampling but not 2x multisampling - game expecting 2x multisampling once 4x is supported I guess closing this bug (either NOTOURBUG or INVALID, depending on who you fault more between the driver and the game :P) is fine. It seems like we haven't seen other instances of this bug yet so it's probably not worthwhile to do anything on our part at this point. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 Józef Kucia <joseph.kucia(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |joseph.kucia(a)gmail.com --- Comment #14 from Józef Kucia <joseph.kucia(a)gmail.com> --- (In reply to Matteo Bruni from comment #13)
I'm not sure. AFAIU it's a specific combination of:
- GPU driver advertising 4x+ multisampling but not 2x multisampling - game expecting 2x multisampling once 4x is supported
If Windows drivers support 2x multisampling once 4x is supported, then one could argue that it's our bug. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #15 from Henri Verbeet <hverbeet(a)gmail.com> --- Yeah, I guess. I'd be curious what the Windows driver for that hardware does. I'm inclined to mostly blame this on the application, but wouldn't necessarily be opposed to some kind of quirk for 2xMSAA. At the same time, such a quirk would somewhat defeat the point of having a per sample count query, as opposed to just a maximum like classic GL. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #16 from Tod Jackson <tod.jackson(a)gmail.com> --- I'm on Windows at the moment. Under Steam, going to Help > System Information indicates that 2x MSAA is supported: Primary Bus Type Not Detected Primary VRAM: -1984 MB Supported MSAA Modes: 2x 4x 8x Under Wine, 2x is not listed. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #17 from Tod Jackson <tod.jackson(a)gmail.com> --- I should clarify, with Mesa specifically, Steam doesn't show 2x. https://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/drivers/dri/i965/intel_... The Intel HD 4000 is Ivybridge (generation 3), but I don't know what genX_modes that actually corresponds to above. It seems clear that Mesa doesn't support 2x for this hardware though. "A speciality of the Ivy Bridge GPUs is that 4x MSAA is supported in hardware now. However, 2x is only supported through software. The algorithm to support 2x is going through the 4x pipeline with a software algorithm, so performance is similar to 4x MSAA." https://www.notebookcheck.net/Intel-HD-Graphics-4000.69168.0.html Whatever you guys decide to do, I indicated the MESA_EXTENSION_MAX_YEAR=2010 workaround on the AppDB and have never personally seen this issue anywhere else under Wine. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #18 from Henri Verbeet <hverbeet(a)gmail.com> --- (In reply to Tod Jackson from comment #17)
Whatever you guys decide to do, I indicated the MESA_EXTENSION_MAX_YEAR=2010 workaround on the AppDB and have never personally seen this issue anywhere else under Wine. For what it's worth, I think MESA_EXTENSION_OVERRIDE=-GL_ARB_internalformat_query should also work as a workaround, and is a little more targeted.
-- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 --- Comment #19 from Tod Jackson <tod.jackson(a)gmail.com> --- (In reply to Henri Verbeet from comment #18)
(In reply to Tod Jackson from comment #17)
Whatever you guys decide to do, I indicated the MESA_EXTENSION_MAX_YEAR=2010 workaround on the AppDB and have never personally seen this issue anywhere else under Wine. For what it's worth, I think MESA_EXTENSION_OVERRIDE=-GL_ARB_internalformat_query should also work as a workaround, and is a little more targeted.
Gotcha, thanks. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 Henri Verbeet <hverbeet(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |INVALID --- Comment #20 from Henri Verbeet <hverbeet(a)gmail.com> --- I'm going to blame this on the application. It wouldn't be hard to put in a workaround, but I don't think that would add much over the MESA_EXTENSION_OVERRIDE workaround. We can certainly revisit that if this issue turns out to be more widespread. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=43748 André H. <nerv(a)dawncrow.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED CC| |nerv(a)dawncrow.de --- Comment #21 from André H. <nerv(a)dawncrow.de> --- closing invalid -- 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.
participants (1)
-
wine-bugs@winehq.org