http://bugs.winehq.org/show_bug.cgi?id=27994
Summary: Duke Nukem Forever needs d3dx9 native DLLs Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3dx9 AssignedTo: wine-bugs@winehq.org ReportedBy: roland@mxchange.org CC: wine-bugs@winehq.org
Created an attachment (id=35833) --> (http://bugs.winehq.org/attachment.cgi?id=35833) default console log
The game doesn't run (starting it into the menu works, but not launching an actual game) without native DirectX 9 DLLs. I need the following native DLLs:
d3dx9 d3dx9_36 d3dx9_37
With the native version, the game is starting up but a lot flickers are all over the scene which renders many maps (including "Lady Killer") hard to play or nearly unplayable.
With WINE builtin DLLs, (forced with following code), the game crashes at starting a new campaign or loading an already existing campaign.
[Software\Wine\DllOverrides] 1312622391 "d3dcompiler_43"="builtin" "d3dx9"="builtin" "d3dx9_36"="builtin" "d3dx9_37"="builtin" "dinput8"="native" "xinput1_3"="native"
Attached is a default console log (no WINEDEBUG specified) with above DLL overrides.
http://bugs.winehq.org/show_bug.cgi?id=27994
Roland Haeder roland@mxchange.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |roland@mxchange.org Platform|x86 |x86-64 Version|unspecified |1.3.26
--- Comment #1 from Roland Haeder roland@mxchange.org 2011-08-06 05:54:25 CDT --- Sorry, I missed to set proper values. I use AMD64 and latest GIT.
http://bugs.winehq.org/show_bug.cgi?id=27994
Roland Haeder roland@mxchange.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #35833|default console log |default console log, first description| |crash not relevant, please | |look at second.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #2 from Austin English austinenglish@gmail.com 2011-08-08 14:33:39 CDT --- Looks like it wants: fixme:d3dx:ID3DXConstantTableImpl_GetConstantElement (0x27768720)->(0x1, 0): stub fixme:d3dx:ID3DXConstantTableImpl_GetConstantElement (0x27768720)->(0x1, 1): stub fixme:d3dx:ID3DXConstantTableImpl_GetConstantElement (0x27768720)->(0x1, 2): stub
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #3 from Roland Haeder roland@mxchange.org 2011-08-08 20:08:03 CDT --- I can create a +d3d9 logfile, if you need? And I have no longer the demo version.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #4 from Roland Haeder roland@mxchange.org 2011-08-20 18:17:52 CDT --- Uploaded a d3d9.log file: http://mxchange.org/downloads/dnf/d3d9.log.bz2
I have created it like this: $ WINEDEBUG=d3d9 WINEPREFIX=~/.wine-dnf/ wine Steam.exe 2>d3d9.log
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #5 from Roland Haeder roland@mxchange.org 2011-09-09 14:15:43 CDT --- Created an attachment (id=36298) --> (http://bugs.winehq.org/attachment.cgi?id=36298) +d3dx logfile
I have also created a +d3dx logfile, this might be interesting:
-------------------------------------------------- trace:d3dx:parse_ctab_constant_type class = 5, type = 0, rows = 1, columns = 1, elements = 40, struct_members = 4 fixme:d3dx:parse_ctab_constant_type Struct not supported yet --------------------------------------------------
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #6 from Roland Haeder roland@mxchange.org 2011-09-09 15:01:33 CDT --- In dlls/d3dx9_36/shader.c, around line 1151, the returned value E_NOTIMPL caused the "crash" of the game. If I replace only this value to D3D_OK (which is of course not correct because it is not implemented) the game runs stable but the scenery is not displayed, including all items in it and the duke-model himself (you only see some parts of the HUD and flickers are all over the scene).
So in case of the flickers, like you have with native DLLs, WINE does something wrong. So I think the flickers you get with native DLLs is WINE's "fault". E_NOTIMPL seems to be rude for this game.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #7 from Rico kgbricola@web.de 2011-10-10 05:00:43 CDT --- Created attachment 36801 --> http://bugs.winehq.org/attachment.cgi?id=36801 shaderdump
Could you please try the attached patch. It should only dump the shader. A log without any WINEDEBUG options set should show the complete ctab, which then could be analyzed.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #8 from Roland Haeder roland@mxchange.org 2011-10-24 06:45:53 CDT --- Created attachment 37106 --> http://bugs.winehq.org/attachment.cgi?id=37106 shader debug log
See attached logfile. Sorry it took me a little longer, I have been to the beautiful Philippines and now I'm back in my apartment. :)
http://bugs.winehq.org/show_bug.cgi?id=27994
sacrediou sacrediou@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sacrediou@yahoo.fr
http://bugs.winehq.org/show_bug.cgi?id=27994
Roland Haeder roland@mxchange.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #37106|0 |1 is obsolete| |
--- Comment #9 from Roland Haeder roland@mxchange.org 2011-11-09 18:05:51 CST --- Created attachment 37419 --> http://bugs.winehq.org/attachment.cgi?id=37419 shader debug log
Updated logfile to reflect latest GIT changes.
http://bugs.winehq.org/show_bug.cgi?id=27994
Roland Haeder roland@mxchange.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #37419|0 |1 is obsolete| |
--- Comment #10 from Roland Haeder roland@mxchange.org 2011-11-14 16:50:28 CST --- Created attachment 37496 --> http://bugs.winehq.org/attachment.cgi?id=37496 shader debug log
Yet updated again for latest changes.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #11 from Roland Haeder roland@mxchange.org 2011-12-08 17:54:24 CST --- Created attachment 37870 --> http://bugs.winehq.org/attachment.cgi?id=37870 hacked shader.c for making DNF not crashing
I have hacked dlls/d3dx9_36/shader.c a little to make DNF not crashing, it seems to badly want to have that what wine is not providing.
If I do so, the game starts with an almost blank scene (see screenshot I'm going to attach from a later mission).
Also the mentioned flickers are there so they are not related native DLLs (as I initially thought), but maybe to ddraw. I try to add a native DLLs to DNF's WINEPREFIX to test it, if I'm right.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #12 from Roland Haeder roland@mxchange.org 2011-12-08 17:55:06 CST --- Created attachment 37871 --> http://bugs.winehq.org/attachment.cgi?id=37871 almost dark scene with hacked shader.c
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #13 from Rico kgbricola@web.de 2011-12-25 17:40:20 CST --- For reference, Travis send some patches a while ago ( see http://www.winehq.org/pipermail/wine-patches/2011-July/104371.html ). Maybe you want to give it a try.
I think it won't fix the issue with ID3DXConstantTableImpl_GetConstantElement(), but it may help a bit. Though there are needed some test cases to verify the correct behavior.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #14 from Rico kgbricola@web.de 2011-12-26 04:38:41 CST --- Created attachment 38117 --> http://bugs.winehq.org/attachment.cgi?id=38117 hacky ID3DXConstantTable::GetConstantElement() implementation
Could you please try the attached patch (on top of git)?
Does the demo have the same problem and is wine able to get easily to that point? I saw a couple of other bugs for the demo ( bug 27426 , bug 27472 ) which might stop the demo from working.
http://bugs.winehq.org/show_bug.cgi?id=27994
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #15 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2011-12-26 11:05:31 CST --- (In reply to comment #14) Nope, doesn't work. Crashes right after splash screen. Instead of fixme:d3dx:ID3DXConstantTableImpl_GetConstantElement (0x11bb1960)->(0x1, 0): stub ... I'm getting: wine: Unhandled exception 0x80000003 at address 0x813be0b (thread 0060), starting debugger... Backtrace: =>0 0x0813be0b in d3ddrv9 (+0xbe0b) (0x05f0d2c8) 1 0x0813c167 in d3ddrv9 (+0xc166) (0x05f0d2e4)
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #16 from Rico kgbricola@web.de 2011-12-26 14:58:54 CST --- Please attach a +d3dx log with the patch applied.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #17 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2011-12-27 11:37:49 CST --- Created attachment 38132 --> http://bugs.winehq.org/attachment.cgi?id=38132 dnf_d3dx.log
Here you go.
http://bugs.winehq.org/show_bug.cgi?id=27994
Rico kgbricola@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #38117|0 |1 is obsolete| |
--- Comment #18 from Rico kgbricola@web.de 2011-12-27 17:35:12 CST --- Created attachment 38136 --> http://bugs.winehq.org/attachment.cgi?id=38136 hacky: handle DefaultValue=NULL + patch 38117
Attached is a new version of the patch. I found a couple of issues (e.g. desc.DefaultValue = NULL, variable names like "f[0][0]" are valid, f = f[0] if there are no elements).
If there are problems, please attach a +d3dx,+tid log.
http://bugs.winehq.org/show_bug.cgi?id=27994
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #38132|0 |1 is obsolete| |
--- Comment #19 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2011-12-28 12:40:35 CST --- Created attachment 38148 --> http://bugs.winehq.org/attachment.cgi?id=38148 dnf_d3dx.log
Here is the new log. Crash happens right after this line: 0051:fixme:d3dx:parse_ctab_constant_type Struct not supported yet
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #20 from Rico kgbricola@web.de 2011-12-28 13:26:16 CST --- Oh, I meant a log with patch http://bugs.winehq.org/attachment.cgi?id=38136 and +d3dx,+tid. Could you please attach one with the patch, if the app is still failing with it?
The last log is without the patch. The line FIXME("Struct not supported yet\n"); was removed in my hacky patch. "0051:fixme:d3dx:parse_ctab_constant_type Struct not supported yet"
http://bugs.winehq.org/show_bug.cgi?id=27994
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #38148|0 |1 is obsolete| |
--- Comment #21 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2011-12-29 11:35:27 CST --- Created attachment 38167 --> http://bugs.winehq.org/attachment.cgi?id=38167 dnf_d3dx.log
(In reply to comment #20) Sorry about that, patch failed to apply and I didn't notice it. Log of your last patch applied against latest GIT.
http://bugs.winehq.org/show_bug.cgi?id=27994
Rico kgbricola@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #36801|0 |1 is obsolete| | Attachment #38136|0 |1 is obsolete| |
--- Comment #22 from Rico kgbricola@web.de 2011-12-30 19:33:19 CST --- Created attachment 38193 --> http://bugs.winehq.org/attachment.cgi?id=38193 hacky: fix regcount for elements + patch 38136
Attached is a new version. There are some improvements for the RegisterCount value. The patch now also includes the shaderdump patch. The patch is against wine git (1.3.36).
Please attach a +d3dx,+tid with the patch applied, if there are some issues.
http://bugs.winehq.org/show_bug.cgi?id=27994
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #38167|0 |1 is obsolete| |
--- Comment #23 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2011-12-31 10:54:10 CST --- Created attachment 38203 --> http://bugs.winehq.org/attachment.cgi?id=38203 dnf_d3dx.log
With new patch game doesn't even make it to the menu screen. Without this patch (in wine-1.3.36) it crashes only when starting new game.
BTW patch did not apply to wine-1.3.36 due to some changes made to one of TRACE calls.
http://bugs.winehq.org/show_bug.cgi?id=27994
Rico kgbricola@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #38193|0 |1 is obsolete| |
--- Comment #24 from Rico kgbricola@web.de 2012-01-02 03:36:23 CST --- Created attachment 38215 --> http://bugs.winehq.org/attachment.cgi?id=38215 Add FIXME for count + patch 38193
I'm not sure where the problem is, yet. My test returns exactly the same values as native. Only the pointers (D3DXHANDLE) are different.
I added a FIXME for the count. Could you please rerun with the attached patch and +d3dx,+tid.
I'll shortly attach a patch which return NULL on GetConstantElement() to test if the problem is somewhere else.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #25 from Rico kgbricola@web.de 2012-01-02 03:44:10 CST --- Created attachment 38216 --> http://bugs.winehq.org/attachment.cgi?id=38216 Eleminate GetConstantElement and restore old behaviour.
Please apply that patch on top of patch 38215. I'd expect the same behavior as in http://bugs.winehq.org/show_bug.cgi?id=27994#c6 . Is the behavior the same? The patch is a check to see where the problem might be.
Could you please rerun with patch 38215, the attached patch and +d3dx,+tid.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #26 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2012-01-02 12:13:25 CST --- Created attachment 38225 --> http://bugs.winehq.org/attachment.cgi?id=38225 dnf_d3dx.log.gz
(In reply to comment #25) The game behaves exactly as you described. With last patch (return NULL) it starts but display is gray, except for videos - exactly the same as with native d3dx9_36.dll. But then it crashes with builtin.
Without last patch (return NULL) game crashes before even getting to the main menu.
http://bugs.winehq.org/show_bug.cgi?id=27994
Rico kgbricola@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #38215|0 |1 is obsolete| | Attachment #38216|0 |1 is obsolete| |
--- Comment #27 from Rico kgbricola@web.de 2012-01-02 12:16:09 CST --- Created attachment 38226 --> http://bugs.winehq.org/attachment.cgi?id=38226 use elements instead of structmembers + patch 38203
Please try the new patch. The allocated size for the elements where wrong.
http://bugs.winehq.org/show_bug.cgi?id=27994
Rico kgbricola@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #38226|use elements instead of |use elements instead of description|structmembers + patch 38203 |structmembers + patch 38215
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #28 from Vitaliy Margolen vitaliy-bugzilla@kievinfo.com 2012-01-03 08:24:35 CST --- (In reply to comment #27) That fixes it! At least to be the same as with native dll.
Thanks Rico!
http://bugs.winehq.org/show_bug.cgi?id=27994
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #29 from joaopa jeremielapuree@yahoo.fr 2012-06-10 00:13:42 CDT --- Still a bug in current wine?
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #30 from Rico kgbricola@web.de 2012-08-27 15:37:13 CDT --- Please retest with current git. Is this still an issue?
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #31 from Roland Haeder roland@mxchange.org 2012-09-09 11:57:44 CDT --- Currently I cannot get wine GIT compiled (I have Debian AMD64 now with multi-arch packages but not all are prepared for this.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #32 from Rico kgbricola@web.de 2013-01-13 06:16:49 CST --- Please retest with current wine. This bug should be fixed a while ago.
http://bugs.winehq.org/show_bug.cgi?id=27994
--- Comment #33 from Roland Haeder roland@mxchange.org 2013-06-02 09:44:23 CDT --- Not crashing with latest GIT (at least not crashing). But if I start the game, there are flickers all over the scene and sometimes only a gray layer is visible but game is running (tried with enabled vertical sync, no change).
http://bugs.winehq.org/show_bug.cgi?id=27994
Dan Kegel dank@kegel.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |dank@kegel.com Resolution| |FIXED
--- Comment #34 from Dan Kegel dank@kegel.com 2013-06-02 10:17:46 CDT --- Since game now launches, marking fixed. Please file a new bug for any remaining problems.
http://bugs.winehq.org/show_bug.cgi?id=27994
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #35 from Alexandre Julliard julliard@winehq.org 2013-06-07 15:02:01 CDT --- Closing bugs fixed in 1.6-rc1.
http://bugs.winehq.org/show_bug.cgi?id=27994
Roland Haeder roland@mxchange.org changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |http://bugs.winehq.org/show | |_bug.cgi?id=33707