http://bugs.winehq.org/show_bug.cgi?id=12416
Summary: Deus Ex and Syberia2 both have corrupted graphics in 0.9.59 Product: Wine Version: 0.9.58. Platform: PC-x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P5 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: eekfrank@hotmail.com
Both of these games worked gold for me in .58 and were unplayable in .59. I have tried a different machine with a different os and an Nvidia video card, and they work perfectly in .59 so it must be something that is affecting the ATI card specificaly on this machine. I am using the prop. ATI driver 8.471, currrent AFAIK. my video card is an ATI X1950pro. I have tried 0.9.59 both as provided by my distro,(pclinuxos) and built wine from source with the exact same results, graphic corruption so bad as to make it impossible to run the games.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #1 from Frank eekfrank@hotmail.com 2008-04-07 19:25:28 --- Deus Ex has a choice to run in software render mode, and that works fine, graphics are ok in 0.9.59 This is a directx 7 game, so I don't think that native dx drivers will work but I'll try that next.
http://bugs.winehq.org/show_bug.cgi?id=12416
Frank eekfrank@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan@codeweavers.com
--- Comment #2 from Frank eekfrank@hotmail.com 2008-04-08 11:41:41 --- I ran the regression test procedure, and this is what I got:
4640be8dc8347f4147cbf87c78b3cfa510fcccc3 is first bad commit commit 4640be8dc8347f4147cbf87c78b3cfa510fcccc3 Author: Stefan Dösinger stefan@codeweavers.com Date: Sat Mar 22 14:31:52 2008 +0100
wined3d: Fragment processing using GL_ATI_fragment_shader.
This adds code for handling fixed function fragment processing with the GL_ATI_fragment_shader extension. This is a sort-of programmable interface for fragment processing at the level of shader model 1.4 in d3d. This code is of use on r200, r250 and r280 cards(radeon 8500 to 9200) which do not support GL_ARB_fragment_program, but support pixel shader 1.4 on Windows. This code is somewhat a counterpart to the existing fragment processing code using GL_NV_register_combiners and GL_NV_texture_shader.
:040000 040000 1f98025b56ec69ff0ae262779ce95e40d9514c2c 8691da5c59cc3ecc2ebb39d2
that does seem like it could affect my Raedon x1950pro, although it shouldn't . Don't know how to check any further at this point, maybe I should post to the forum and see if anyone else has experienced this bug, or if it is a problem with my system.
http://bugs.winehq.org/show_bug.cgi?id=12416
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at
--- Comment #3 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-10 03:34:31 --- This code is enabled on cards that support GL_ATI_fragment_shader, but not GL_ARB_fragment_program or GL_ARB_fragment_shader. It should be disabled on your X1950. Can you paste the glxinfo output? Meanwhile I'll see if I can reproduce the bug on my radeon 9000(rv250)
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #4 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-10 06:07:27 --- Hi, I tried Deus Ex(demo) on my r200 card and it works nice with fragment shader enabled.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #5 from Frank eekfrank@hotmail.com 2008-04-10 09:14:03 --- Created an attachment (id=12043) --> (http://bugs.winehq.org/attachment.cgi?id=12043) glx info radeon 1950pro
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #6 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-10 10:33:54 --- I can imagine why this stuff is broken... We're not using GL_ATI_fragment_shader on your card(as intended), but there is no GLSL or ARB fragment processing, so the opengl fixed function pipeline is still used. However, as a leftover from some earlier developemnt state, the context manager still enables GL_FRAGMENT_SHADER_ATI, and the driver expects us to feed it with an ati fragment shader.
You can confirm my theory by commenting out all glEnable(GL_FRAGMENT_SHADER_ATI) calls in context.c. That should fix the problem. I'll send a patch.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #7 from Frank eekfrank@hotmail.com 2008-04-10 13:44:21 --- Um , Sorry, I'm a farmer, If they had only given me a copy of K&R's guide to C instead of a baseball cap with those seed orders, I would know which side of the braces to put the comment on, and not break the if else statements. Maybe I'll wait for a patch...
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #8 from Frank eekfrank@hotmail.com 2008-04-10 16:26:38 --- I gave a shot at editing my context.c , so now there are five lines that look like this:
/*checkGLcall("glEnable(GL_FRAGMENT_SHADER_ATI)");*/
That compiles and runs ok, but I still have the corrupted graphics, so I'm either getting too much or too little with the comment trick.. I don't know..
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #9 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-10 17:03:34 --- don't comment out the checkGLcall statements, they are just debug stuff. Comment out the real gl calls next to them.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #10 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-10 17:54:14 --- I just sent a patch: http://www.winehq.org/pipermail/wine-patches/2008-April/053159.html
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #11 from Frank eekfrank@hotmail.com 2008-04-10 19:37:17 --- Ok, I gave another shot at the commenting thing, now I have 4 lines that look like this :
/*glEnable(GL_FRAGMENT_SHADER_ATI);*/
Wine compiled and ran fine, and the graphics are perfect, so now I'll clean up my build eviron. and see if I can learn how to apply a patch.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #12 from Frank eekfrank@hotmail.com 2008-04-10 21:29:19 --- I tried the patch on fresh source, and that seemed to work, and wine was able to build and run, but now the game gets a general protection fault on the load screen. The little trace window in the game says UD3DRenderDevice::SetRes <UD3DRenderDevice::Init .. etc.
The wine terminal log has a similar line: fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 16
I've gotten that fixme before on other programs, and it didn't seem to matter, but I'll try changing my desktop to 16 and see if there is any change.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #13 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-11 01:20:07 --- yes, I forgot a rather important line in the glsl shader backend. I had glsl disabled when I tested, so that slipped through :-/
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #14 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-11 01:23:41 --- I have sent another patch: http://www.winehq.org/pipermail/wine-patches/2008-April/053179.html
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #15 from Frank eekfrank@hotmail.com 2008-04-11 09:09:48 --- I've applied the second patch to clean source, and wine builds and runs fine, and the graphics are perfect, so I think this bug is fixed. I'll try a few more games and see how they work.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #16 from Tom Stellard tstellar@gmail.com 2008-04-12 19:56:36 --- Created an attachment (id=12110) --> (http://bugs.winehq.org/attachment.cgi?id=12110) glxinfo for ati radeon xpress 200m
http://bugs.winehq.org/show_bug.cgi?id=12416
Tom Stellard tstellar@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |tstellar@gmail.com
--- Comment #17 from Tom Stellard tstellar@gmail.com 2008-04-12 19:57:27 --- I think this bug is also effects Civilization 4, With wine 0.9.59 it freezes with a black screen when it would normally begin playing the intro video sequence. This was not an issue with Wine 0.9.58. My regression test also identifies the problem patch as (commit 4640be8dc8347f4147cbf87c78b3cfa510fcccc3). Here are my system stats:
Wine Version: 0.9.59 Graphics Card: ATI Radeon Xpress 200m Driver: Ati Catalyst 8.3 System: Ubuntu 8.04 beta (Hardy Heron) Direct3D registry keys: OffscreenRenderingMode = fbo PixelShaderMode = enabled UseGLSL = enabled VertexShader = hardware
I have also attached my glxinfo.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #18 from Tom Stellard tstellar@gmail.com 2008-04-12 20:48:58 --- I just tested civilization 4 again after applying the 2nd patch posted by Stefan: http://www.winehq.org/pipermail/wine-patches/2008-April/053179.html
and now civilization 4 starts fine. It looks like this patch fixes the bug.
http://bugs.winehq.org/show_bug.cgi?id=12416
Frank eekfrank@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch, regression
--- Comment #19 from Frank eekfrank@hotmail.com 2008-04-12 20:57:58 --- Tom , I suspect this bug will affect most games that use fragment shaders when played with late model ATI cards.I don't know how to list this bug for more games than I first used when I started the bug report, but I think it should be expanded so others can find the solution till the next wine release comes out.
http://bugs.winehq.org/show_bug.cgi?id=12416
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@araneidae.co.uk
--- Comment #20 from Austin English austinenglish@gmail.com 2008-04-12 21:58:28 --- *** Bug 12517 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #21 from Tom Stellard tstellar@gmail.com 2008-04-12 22:07:51 --- Frank, I went into the AppDB and added this bug to the list of bugs for Civilization 4, you can probably do that for all the applications you know this bug affects. Otherwise, I don't know of a good way to link this bug to more applicatons, other than to keep an eye out for duplicate bugs.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #22 from Michael Abbott michael@araneidae.co.uk 2008-04-13 02:27:58 --- Any chance, please, of getting this marked as CONFIRMED -- it's obvious from the discussion below that the bug is confirmed, after all.
Also, the severity: I'd call this a Major ... except, bizarrely, Dmitry Timoshkov dmitry@codeweavers.com just changed the severity of my duplicate (12517) to Enhancement! Was that a mistake, and does the severity of a duplicate bug make sense anyway?
Finally, why did this regression slip through testing? What tests are missing from the test suite to catch this bug?
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #23 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-13 05:06:24 --- The bug affects all radeon cards with the fglrx driver, and possibly radeon 9500 and newer cards with the open source driver.
As for the regression slipping through: The testsuit has all the tests it needs for catching this issue, the problem is that nobody runs them on the ATI driver. And even if someone ran them the regression would maybe have slipped through because many tests fail due to driver bugs anyway.
http://bugs.winehq.org/show_bug.cgi?id=12416
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever Confirmed|0 |1
--- Comment #24 from Stefan Dösinger stefandoesinger@gmx.at 2008-04-13 08:42:43 --- confirming bug...
http://bugs.winehq.org/show_bug.cgi?id=12416
David Murray azereal@clownsquad.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |azereal@clownsquad.net
--- Comment #25 from David Murray azereal@clownsquad.net 2008-04-22 09:39:31 --- 12373 May be the same bug.
I've had Dawn of War: Dark Crusade working in 0.9.58 but I get a black screen in 0.9.59 I assume I am having the same problem. I'm running on a Radeon 9600 XT card with the closed drivers.
http://bugs.winehq.org/show_bug.cgi?id=12416
--- Comment #26 from Tom Stellard tstellar@gmail.com 2008-04-25 21:07:24 --- I just tested Civ4 with the latest git version: wine-0.9.60-306-gd249feb and it looks like this bug has been fixed.
http://bugs.winehq.org/show_bug.cgi?id=12416
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |FIXED
--- Comment #27 from Austin English austinenglish@gmail.com 2008-04-25 21:48:40 --- Reported fixed.
http://bugs.winehq.org/show_bug.cgi?id=12416
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #28 from Alexandre Julliard julliard@winehq.org 2008-05-02 12:37:59 --- Closing bugs fixed in 0.9.61.
http://bugs.winehq.org/show_bug.cgi?id=12416
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |e3bd5b6dcdae9018f4f148aa6c9 | |64d0bb3be21d1 CC| |focht@gmx.net Component|-unknown |directx-d3d Regression SHA1| |4640be8dc8347f4147cbf87c78b | |3cfa510fcccc3