https://bugs.winehq.org/show_bug.cgi?id=36789
Bug ID: 36789 Summary: "Could not find a Direct3D device that supports the XNA Framework HiDef profile" in "One Finger Death Punch" Product: Wine Version: 1.7.20 Hardware: x86-64 OS: Mac OS X Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs@winehq.org Reporter: dragonfax@gmail.com
Focht fixed a similar issue with another game. But that fix doesn't work for in my case. I'm not sure if its the game or its my hardware that is the different variable this time around.
I whipped up a quick patch to fix this, but someone will have to redo it. I have the skills to find the issue, and make the game work. But I don't have the skills to do it properly in a redistributable way.
Steps to reproduce.
1. with wine 1.7.20 (latest at the time of writing) 2. create a win32 WINEPREFIX 3. use winetricks to install dotnet20 xna and steam 4. install One Finger Death Punch with steam 5. launch the game. The game will popup a dialog giving the error message "Could not find a Direct3D device that supports the XNA Framework HiDef profile"
You can launch the game with Steam or from the command line.
In https://bugs.winehq.org/show_bug.cgi?id=35444 Focht used the "XNA Graphics Profile checker" to determine what was insufficient in the WINE emulation for a game to run.
I did similar and found that on my hardware, even with his patch, the Profile Checker still complained about
"No DestBlendCaps.D3DPBLENDCAPS_SRCALPHASAT"
If I modify directx.c to put D3DPBLENDCAPS_SRCALPHASAT into DestBlendCaps all the time, instead of just when gl_info->supported[ARB_BLEND_FUNC_EXTENDED], then the game starts and runs fine. But I can't say whether thats a good idea or not.
I'm running this on a mid-2013 MacBook Air, with an integrate Intel HD 4000
The game runs great once this fix is applied.
https://bugs.winehq.org/show_bug.cgi?id=36789
--- Comment #1 from Jason Stillwell dragonfax@gmail.com --- I've got an extra copy of the game, if someone wants it for tackling this bug. Its a lot of fun.
https://bugs.winehq.org/show_bug.cgi?id=36789
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW CC| |focht@gmx.net Ever confirmed|0 |1
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello Jason,
there are a few sites maintaining Direct3D and OpenGL device capabilities database:
http://zp.amsnet.pl/cdragan/d3dcaps.html
http://www.kludx.com/kludx.php
DirectX SDKs also ship an Excel sheet denoting this: 'Samples\C++\Direct3D\ConfigSystem\CardCaps.xls'
I found a dump of Intel HD 4000 caps here (Windows driver):
http://www.scribd.com/doc/230713614/DIALux-Direct3D-Information
--- snip ---
Direct3D Information DIALux 4.11 ------------------------------ AdapterCount 0X1 Adapter 0 Driver igdumd32.dll Description Intel(R) HD Graphics 4000 DeviceName \.\DISPLAY1 DriverVersionLowPart 0XA0B0C DriverVersionHighPart 0X90011 VendorId 0X8086 DeviceId 0X166 SubSysId 0XFB201179 Revision 0X9 DeviceIdentifier {D7B78E66-4226-11CF-C579-2ADBB7C2C435} WHQLLevel 0
Caps Adapter 0 DeviceType 0X1 AdapterOrdinal 0 Caps 0X20000 Caps2 0XE0020000 Caps3 0X320 PresentationIntervals 0X8000000F CursorCaps 0X1 DevCaps 0X19AE50 PrimitiveMiscCaps 0X2FCCF2 RasterCaps 0XF736191 ZCmpCaps 0XFF SrcBlendCaps 0X3FFF DestBlendCaps 0X27FF ... --- snip ---
DestBlendCaps = 0x27FF -> D3DPBLENDCAPS_SRCALPHASAT = 0x400
So it should be supported by Intel HD 4000.
Maybe Henri knows another way to query for this capability on Apple HW.
Regards
https://bugs.winehq.org/show_bug.cgi?id=36789
--- Comment #3 from Henri Verbeet hverbeet@gmail.com --- Apparently the driver just doesn't expose the functionality, there's not much we can do about that, unless there's a different extension exposing the same functionality that the driver does support.
There's one other possibility, and that's that the functionality is only exposed in core profiles, either through GL 3.3, or some earlier version + ARB_blend_func_extended. In that case this is blocked on wined3d supporting GL core profiles, which will happen eventually, but may take a while.
https://bugs.winehq.org/show_bug.cgi?id=36789
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com
--- Comment #4 from Matteo Bruni matteo.mystral@gmail.com --- (In reply to Henri Verbeet from comment #3)
There's one other possibility, and that's that the functionality is only exposed in core profiles, either through GL 3.3, or some earlier version + ARB_blend_func_extended. In that case this is blocked on wined3d supporting GL core profiles, which will happen eventually, but may take a while.
Indeed https://developer.apple.com/graphicsimaging/opengl/capabilities/index.html suggests that the extension is supported only on core profiles.
https://bugs.winehq.org/show_bug.cgi?id=36789
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #5 from super_man@post.com --- These should be marked as duplicates most likely.
https://bugs.winehq.org/show_bug.cgi?id=32963
https://bugs.winehq.org/show_bug.cgi?id=36789
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |dotnet Depends on| |38648 Summary|"Could not find a Direct3D |Multiple .NET XNA games |device that supports the |fail to start, complaining |XNA Framework HiDef |with "Could not find a |profile" in "One Finger |Direct3D device that |Death Punch" |supports the XNA Framework | |HiDef profile" (One Finger | |Death Punch, Party Of Sin | |DEMO)
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello folks,
Henri and Matteo already indicated this needs support for Mesa OpenGL >= 3.2 core profiles in Wine.
While many bugs could be merged into one, requiring this feature, I suggest keeping this one as collector for all XNA based games and adding dependency to bug 38648
Having the distinct error message from XNA games in the summary makes Bugzilla search easier for users, avoiding duplicates.
Regards
https://bugs.winehq.org/show_bug.cgi?id=36789
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |giovanni.nicola@ticino.com
--- Comment #7 from Anastasius Focht focht@gmx.net --- *** Bug 32963 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=36789
--- Comment #8 from Jason Stillwell dragonfax@gmail.com --- Tested on a Yosemite with a mid-2015 Macbook Pro Retina and an Intel Iris Pro 1536 MB.
No change, same behavior.
https://bugs.winehq.org/show_bug.cgi?id=36789
Mike Penhallegon howaboutudance@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |howaboutudance@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=36789
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |cespinarve@hotmail.com
--- Comment #9 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 40241 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=36789
r.flensted@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |r.flensted@gmail.com
--- Comment #10 from r.flensted@gmail.com --- Hi, I realize this is a long shot since this issue was posted so long ago but I'll try anyways. I do not fully understand how you fixed the issue. The recently released game Stardew Valley produces the same error and without success I've tried to fix it, where to find directx.c etc. I hope you get this reply, thanks.
https://bugs.winehq.org/show_bug.cgi?id=36789
--- Comment #11 from r.flensted@gmail.com --- Hi, I realize this is a long shot since this issue was posted so long ago but I'll try anyways. I do not fully understand how you fixed the issue. The recently released game Stardew Valley produces the same error and without success I've tried to fix it, where to find directx.c etc. I hope you get this reply, thanks.
https://bugs.winehq.org/show_bug.cgi?id=36789
mars3142 peter.siegmund@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |peter.siegmund@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=36789
--- Comment #12 from mars3142 peter.siegmund@gmail.com --- Created attachment 53792 --> https://bugs.winehq.org/attachment.cgi?id=53792 Stardew Valley and wine-1.9.3
https://bugs.winehq.org/show_bug.cgi?id=36789
Wolle wolletd@posteo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wolletd@posteo.de
--- Comment #13 from Wolle wolletd@posteo.de --- Stardew Valley w/ wine 1.9.6:
Running two displays with Nvidia GeForce GTX 660, the error only occurs (and kills the game), when the game window is moved to the secondary display.
After some interchanges, I assume, this seems to be related to the window position, not to the physical output.
https://bugs.winehq.org/show_bug.cgi?id=36789
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=36789 Bug 36789 depends on bug 38648, which changed state.
Bug 38648 Summary: Multiple games and applications need support for Mesa OpenGL >= 3.2 core profiles, Shader Model 4, GLSL 1.50 (Microsoft Office 2013 installer, .NET/XNA games) https://bugs.winehq.org/show_bug.cgi?id=38648
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
https://bugs.winehq.org/show_bug.cgi?id=36789
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
--- Comment #14 from mirh mirh@protonmail.ch --- Was this improved with bug 38648 fixity?
https://bugs.winehq.org/show_bug.cgi?id=36789
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple .NET XNA games |Multiple .NET XNA games |fail to start, complaining |fail to start, complaining |with "Could not find a |with "Could not find a |Direct3D device that |Direct3D device that |supports the XNA Framework |supports the XNA Framework |HiDef profile" (One Finger |HiDef profile" (One Finger |Death Punch, Party Of Sin |Death Punch, Party Of Sin |DEMO) |DEMO, Stardew Valley) Status|NEW |NEEDINFO
--- Comment #15 from Anastasius Focht focht@gmx.net --- Hello folks,
I can't reproduce this with a distributed backup of Stardew Valley v1.3.11
Prerequisite:
* 'winetricks -q dotnet40' * 'winetricks -q xna40' * 'winetricks -q xact' (work around bug 42620 which is dupe of bug 39402)
Works for both GPU vendors (dual GPU setup).
Intel HD4600:
--- 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.2 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.2 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.2 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 OpenGL ES profile extensions: --- snip ---
NVIDIA proprietary via Bumblebee:
--- snip --- $ 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 390.59 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 390.59 OpenGL shading language version string: 4.60 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: --- snip ---
Please re-test the games remaining here with recent Wine version!
* One Finger Death Punch * Party Of Sin DEMO
$ du -sh Stardew.Valley.v1.3.11.rar 389M Stardew.Valley.v1.3.11.rar
$ sha1sum Stardew.Valley.v1.3.11.rar 57a19fa0d439986335b8dfc224c557480f1fe888 Stardew.Valley.v1.3.11.rar
$ wine --version wine-3.8-215-gb70f0d723a
Regards
https://bugs.winehq.org/show_bug.cgi?id=36789
--- Comment #16 from Jason Stillwell dragonfax@gmail.com --- Created attachment 61500 --> https://bugs.winehq.org/attachment.cgi?id=61500 Screenshot from One Finger Death Punch (working)
Confirmed that "One Finger Death Punch" works fine no. The bug is no longer reproducable.
$ brew install winetricks $ brew install --HEAD wine $ wine --version wine-3.9 $ export WINEARCH=win32 $ winetricks dotnet40 xna40 steam # steam fails to install from winetricks, but thats unrelated. $ wine /Users/jstillwell/.cache/winetricks/steam/SteamSetup.exe # install game from within steam, and run
https://bugs.winehq.org/show_bug.cgi?id=36789
Jason Stillwell dragonfax@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEEDINFO |RESOLVED
https://bugs.winehq.org/show_bug.cgi?id=36789
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #17 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 3.10.