http://bugs.winehq.org/show_bug.cgi?id=30554
Bug #: 30554 Summary: Regression: Mass Effect 2 only renders a black screen Product: Wine Version: 1.5.2 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: samurai_no_densetsu@yahoo.es Classification: Unclassified
This weekend I installed ME2 since long time, and when ran with 1.5.2 found that the game draws the screen as a black foreground, but it doesn't crashes, as the cursor is correctly drawn and if I click in the right place the game starts, as I can hear the character interacting, but still nothing is drawn.
Since it worked in the past under the same hardware (directx9c capable), I did a regression test and the result are the following ones from Matteo Bruni:
6e6a917617ab79a309e123a0207995b574bc59ea 7254f5e661598a148dd61d008338fd69c49a7ebc 5f2c6b3c8289bb71ad3baf62c66b56b776adb671 8af1c6ee19200d572f9c0311efb1bc41717ff112 095a9a68937a04949a04d707f81fe7b3d75840b0
If I revert those, the problem dissapear even on the following wine versions like 1.3.32/33, but on more recent ones the code changes too much and it fails to compile.
http://bugs.winehq.org/show_bug.cgi?id=30554
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com
--- Comment #1 from Matteo Bruni matteo.mystral@gmail.com 2012-04-30 07:55:06 CDT --- Can you please attach a +d3d_caps trace? Also, what graphics card and drivers are you using?
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #2 from Athrun samurai_no_densetsu@yahoo.es 2012-04-30 08:49:38 CDT --- Created attachment 39969 --> http://bugs.winehq.org/attachment.cgi?id=39969 Trace made with +d3d_caps
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #3 from Athrun samurai_no_densetsu@yahoo.es 2012-04-30 08:56:07 CDT --- The card is a Nvidia 7600GT, DirectX 9c capable, Opengl 2.1, with Nvidia closed source driver 260.19.29, but also tested with driver 275.09.07 with same result.
Glxinfo output: --------------------------------------------------------------------- direct rendering: Yes server glx version string: 1.4 client glx version string: 1.4 GLX version: 1.4 OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce 7600 GT/AGP/SSE2 OpenGL version string: 2.1.2 NVIDIA 260.19.29 OpenGL shading language version string: 1.20 NVIDIA via Cg compiler ---------------------------------------------------------------------
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #4 from Matteo Bruni matteo.mystral@gmail.com 2012-04-30 10:12:33 CDT --- Created attachment 39970 --> http://bugs.winehq.org/attachment.cgi?id=39970 Workaround
Thanks for the trace. The driver doesn't report the ARB_shader_texture_lod OpenGL extension, so we disable shader model 3 support. You're right that your graphic card should support it, but the GL driver doesn't claim it so, since my patches you've mentioned, we're reporting that as unsupported to the application.
The attached patch checks also for a different extension flag (which still pretty much implies SM3 support but for ARB shaders instead of GLSL shaders), it should give you back the behavior you had before my patch series, I think.
BTW, in your trace I see texture uploading/downloading errors which don't look good, but they should be unrelated to my patches. I guess let's see what happens with my patch in place...
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #5 from Henri Verbeet hverbeet@gmail.com 2012-04-30 10:16:30 CDT --- SM3 requires the ARB_shader_texture_lod functionality though.
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #6 from Matteo Bruni matteo.mystral@gmail.com 2012-04-30 10:31:31 CDT --- (In reply to comment #5)
SM3 requires the ARB_shader_texture_lod functionality though.
Yeah, I guess that's the driver's fault, since the hardware should support it, AFAIK. Anyway my hack was intended just to investigate whether this was the root cause of the bug or if there is something more.
BTW, ARB_shader_texture_lod is not reported on my GeForce GTX 460 either (while fglrx reports it on my Radeon), but being a DX10+ class GPU it has EXT_gpu_shader4 and that is still good for our purposes.
http://bugs.winehq.org/show_bug.cgi?id=30554
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression Summary|Regression: Mass Effect 2 |Mass Effect 2 only renders |only renders a black screen |a black screen Regression SHA1| |6e6a917617ab79a309e123a0207 | |995b574bc59ea
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #7 from Athrun samurai_no_densetsu@yahoo.es 2012-04-30 13:57:38 CDT --- Actually the workaround patch solves the issue with wine-1.5.3, and yes, some textures issues happen but these also happened in the past. I have set a trace and this is what is happening:
--------------------------------------------------------------------- trace:d3d_surface:surface_allocate_surface (0x1db771e8) : Creating surface (target 0xde1) level 0, d3d format WINED3DFMT_ATI2N, internal format 0, width 128, height 128, gl format 0, gl type=0 err:d3d_surface:surface_allocate_surface >>>>>>>>>>>>>>>>> GL_INVALID_ENUM (0x500) from glTexImage2D @ surface.c / 2566 trace:d3d_surface:surface_bind surface 0x1db77340, context 0x22825ce0, srgb 0. trace:d3d_surface:surface_bind Passing to container (0x1db770a8). ---------------------------------------------------------------------
But of course, unrelated.
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #8 from Athrun samurai_no_densetsu@yahoo.es 2012-05-02 15:50:55 CDT --- Texture issues I have seen are the ones commented at bug 23151, but in my case the eyes are solid black among other small issues, so it is a different bug.
This bug is solved with the workaround patch of Matteo.
http://bugs.winehq.org/show_bug.cgi?id=30554
needle qui_wan_chong@yahoo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |qui_wan_chong@yahoo.de
--- Comment #9 from needle qui_wan_chong@yahoo.de 2012-11-18 06:45:04 CST --- Confirmed, I hit this bug with the most recent version of wine 1.5.17, and with 1.5.2. Possibly it also applies to other wine versions too. Did not test other wine versions than 1.5.2 and 1.5.17. Tested the attached patch with wine 1.5.2 and it fixes the problem, on this particular version. The patch would need to be rewritten for 1.5.17.
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #10 from needle qui_wan_chong@yahoo.de 2012-11-18 09:15:25 CST --- Hi,
I have tested/rewritten the attached patch (Workaround) for 1.5.17, from Matteo Bruni which was initially written for 1.5.2, it does not fix the issue in wine 1.5.17. Downgraded to wine 1.5.2 to get ME2 playable.
http://bugs.winehq.org/show_bug.cgi?id=30554
--- Comment #11 from needle qui_wan_chong@yahoo.de 2013-02-16 14:01:31 CST --- I could not reproduce this error anymore with wine 1.5.22 and 1.5.23.
http://bugs.winehq.org/show_bug.cgi?id=30554
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #12 from Bruno Jesus 00cpxxx@gmail.com 2013-04-20 22:27:47 CDT --- (In reply to comment #11)
I could not reproduce this error anymore with wine 1.5.22 and 1.5.23.
Assuming fixed as per last comment, if anyone is still able to reproduce feel free to reopen.
http://bugs.winehq.org/show_bug.cgi?id=30554
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #13 from Alexandre Julliard julliard@winehq.org 2013-04-26 13:14:50 CDT --- Closing bugs fixed in 1.5.29.