http://bugs.winehq.org/show_bug.cgi?id=19773
Summary: Largo Winch: mostly black screen Product: Wine Version: 1.1.27 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: hoehle@users.sourceforge.net
Created an attachment (id=23165) --> (http://bugs.winehq.org/attachment.cgi?id=23165) Last 100000 lines of +all,-some log prior to ^C, mostly d3d8
After starting the game from the main menu, as soon as the introductory video sequence ends and the player gets control, the screen turns black, except for the 4 keyboard indicators in the top right and the dialog text at the bottom of the screen. Pressing Esc leads to a working menu (the palmtop display). Also, the main menu is correctly displayed.
The graphics are actually present because sometimes, when refreshing the desktop window after putting another one in front, the scene becomes visible for a few milliseconds, then turns black again!
The black screen is present: - with Intel i915 graphics on Ubuntu Intrepid; - with NVidia 9400M graphics on MacOS; - AppDB mentions it with wine-1.1.1.
I tried various settings of HKCU\Software\Wine\Direct3D\RenderTargetLockMode, OffscreenRenderingMode, UseGLSL, DirectDrawRenderer to no avail. Same with Massimo's DIB engine with wine-1.1.22.
This does not seem related to the "QuickTime" bug #1347: - the patch from bug #1347, comment #58 does not help; - compiz is not running; - black in virtual desktop and fullscreen modes; - pbuffer no improvement on NVidia.
http://bugs.winehq.org/show_bug.cgi?id=19773
Jannik H. scrawl@baseoftrash.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |scrawl@baseoftrash.de
--- Comment #1 from Jannik H. scrawl@baseoftrash.de 2009-08-18 13:15:37 --- Confirming with NVidia GeForce MX 440 and Wine 1.1.27, ubuntu jaunty.
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #2 from Jörg Höhle hoehle@users.sourceforge.net 2009-08-18 14:32:29 --- Out of fun, I built wine-0.9.32. No black screen! (this needs ALSA HW emulation and to disable HW vertex shader as noted in bug #19775) So this is a regression, my favourite kind of bug. git-bisect following soon... How to enter AppDB test results about 0.9.32? ;-)
http://bugs.winehq.org/show_bug.cgi?id=19773
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
http://bugs.winehq.org/show_bug.cgi?id=19773
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at
--- Comment #3 from Jörg Höhle hoehle@users.sourceforge.net 2009-08-19 14:01:51 --- I was very lucky with trying out wine-0.9.32. The regression occurred a few commits later.
commit 7126b63645747fe035aaa1167f0dcda8cb38be01 Author: Stefan Dösinger stefan@codeweavers.com Date: Fri Mar 2 09:25:02 2007 +0100
wined3d: Use the scissor test when clearing the full surface too.
It was incorrect to disable the scissor test for full surfaces in my clear patch. With back buffer offscreen rendering the viewport does not seem to restrict clearing, and with different sizes of depth stencil and color buffer the final fantasy XI demo seems to expect the clear to be restricted.
Stefan, do my logs show enough to understand how/whether Largo Winch differs from FF XI? The log contains a few refresh sequences (i.e. I obscured and re-exposed the wine desktop a few times when creating it).
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #4 from Stefan Dösinger stefandoesinger@gmx.at 2009-10-07 08:43:51 --- Wow, that is an old regression.
I think it is somewhat strange that enabling the scissor test(which reduces the area that is cleared) blacks out the screen. A more common situation is that we're clearing too much, thus the screen gets black.
I can imagine two scenarios:
1) We're supposed to clear more than we're clearing, and the depth buffer contains values that breaks further drawing
2) The scissor test doesn't get disabled properly.
I think (2) is unlikely. You can try that by adding a glDisable(GL_SCISSOR_TEST) after the clearing is done.
(1) Can be tested by porting the clear tests from dlls/d3d9/tests/visual.c to dlls/d3d8/tests/visual.c, and checking if the outcome is the same. Maybe d3d8 clears are not limited to the viewport like d3d9 clears are.
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #5 from Jörg Höhle hoehle@users.sourceforge.net 2009-10-07 14:57:57 --- I had hoped that Stefan's pre-1.1.31 commit cb5ce03de4e821257a21ac70bc82c0dcf91900d8 would have helped, but the main screen still remains mostly black (or rather, turns black immediately after drawing contents or refreshing).
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #6 from Jörg Höhle hoehle@users.sourceforge.net 2009-10-21 03:27:43 --- I put glDisable in ~0.9.32 commit 7126b636 into Impl_Clear right before LeaveGL(). No improvement. (Is that the correct place?)
So if I understand you right, what's needed now is
porting the clear tests from dlls/d3d9/tests/visual.c to dlls/d3d8
and see if results differ from d3d9 on MS-Windows?
http://bugs.winehq.org/show_bug.cgi?id=19773
Jörg Höhle hoehle@users.sourceforge.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.1.27 |0.9.33.
--- Comment #7 from Jörg Höhle hoehle@users.sourceforge.net 2010-04-30 02:53:06 --- Updating version field to earliest known version of wine that had the bug.
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #8 from Jörg Höhle hoehle@users.sourceforge.net 2011-01-01 10:24:59 CST --- Still present in wine-1.3.10. Sadly, what Stefan Dösing suggested, "porting the clear tests from dlls/d3d9/tests/visual.c to dlls/d3d8" is beyond my knowledge.
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #9 from Jörg Höhle hoehle@users.sourceforge.net 2011-01-24 05:31:33 CST --- Although about a different regression, in bug #10636, comment #22 Stefan Dösinger initially emitted the hypothesis that DirectX for X<9 may behave differently than the d3d9:visual Clear / Disable tests indicate.
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #10 from Jörg Höhle hoehle@users.sourceforge.net 2011-06-23 09:14:49 CDT --- Still present in wine-1.3.22 with Intel i915 graphics. The recent DirectX7 changes were apparently unrelated.
http://bugs.winehq.org/show_bug.cgi?id=19773
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |7126b63645747fe035aaa1167f0 | |dcda8cb38be01
http://bugs.winehq.org/show_bug.cgi?id=19773
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|wine-bugs@winehq.org |stefandoesinger@gmx.at
--- Comment #11 from Stefan Dösinger stefandoesinger@gmx.at 2011-08-16 16:33:42 CDT --- Assigning to myself, I'll port the tests over and see what happens
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #12 from Stefan Dösinger stefandoesinger@gmx.at 2011-08-18 17:26:11 CDT --- Created an attachment (id=36040) --> (http://bugs.winehq.org/attachment.cgi?id=36040) wined3d: Only use the color buffer dimenstions if is is cleared
Can you give this patch a try? I noticed that the app is explicitly clearing the Z buffer only, so it might make sense to limit the clear to the color buffer's dimensions only when the color buffer is being cleared.
http://bugs.winehq.org/show_bug.cgi?id=19773
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #13 from Jörg Höhle hoehle@users.sourceforge.net 2011-08-21 05:14:39 CDT --- Unfortunately it doesn't change the behaviour that I originally described.
Current logs are: err:d3d:context_create wglSwapIntervalEXT failed to set swap interval 1 for context 0x47c74a0, last error 0x591 fixme:d3d:swapchain_init Add OpenGL context recreation support to context_validate_onscreen_formats fixme:d3d:resource_check_usage Unhandled usage flags 0x8. with Intel i915 in Ubuntu Lucid.
Note that I still need [HKCU\Software\Wine\AppDefaults\LargoWinch.exe\Direct3D] "VertexShaderMode"="none" otherwise the program crashes at start.
One good piece of news is that the crash upon resuming a saved game is gone in 1.3.26. I never reported it since I could not rule out that the black screen issue would not influence saving.
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #14 from Stefan Dösinger stefandoesinger@gmx.at 2011-08-21 12:31:19 CDT --- Can you test this on a non-mesa driver?
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #15 from Jörg Höhle hoehle@users.sourceforge.net 2011-08-21 17:05:37 CDT --- On my NVidia 9400 Mac mini, the patch even degrades the situation: starting from the bogus and almost black screen, pressing ESC to enter the menu incompletely draws the menu screen. It is correctly drawn without patch. No such change was observed with Intel graphics. The Mac too needs "VertexShaderMode"="none"
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #16 from Stefan Dösinger stefandoesinger@gmx.at 2011-08-22 07:28:33 CDT --- Is there a demo of the game I can download? I'm afraid I won't figure out what's wrong here by remote debugging :-(
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #17 from Jörg Höhle hoehle@users.sourceforge.net 2012-01-31 07:59:09 CST --- Stefan, (In reply to comment #11)
Assigning to myself, I'll port the tests over and see what happens
Are your recent ddraw test ports related to this? Any new insights? (I've not retested this app).
http://bugs.winehq.org/show_bug.cgi?id=19773
Stefan Dösinger stefan@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan@codeweavers.com
--- Comment #18 from Stefan Dösinger stefan@codeweavers.com 2012-02-02 10:22:10 CST --- Nah, I didn't do any work on this bug lately. The other patches may have changed something, but that was not their intention.
http://bugs.winehq.org/show_bug.cgi?id=19773
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #19 from joaopa jeremielapuree@yahoo.fr 2012-11-19 01:03:09 CST --- still a bug in current wine?
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #20 from Stefan Dösinger stefan@codeweavers.com 2013-01-07 18:44:39 CST --- Is this the game the bug is about: http://www.amazon.de/Largo-Winch-Empire-under-Threat/dp/B000069Z4H ?
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #21 from Jörg Höhle hoehle@users.sourceforge.net 2013-01-16 06:05:23 CST --- Dupuis, Ubisoft, 2002, the reviewers' description and the CD-ROM cover match.
http://bugs.winehq.org/show_bug.cgi?id=19773
Stefan Dösinger stefan@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |aaa11492db5af6a77ec8c1977e8 | |0a9634ca9b80c Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #22 from Stefan Dösinger stefan@codeweavers.com 2013-01-23 17:35:25 CST --- Should be fixed by aaa11492db5af6a77ec8c1977e80a9634ca9b80c.
Note that the VertexShaderMode = none also requires you to set PixelShaderMode = disabled since Henri's patches from a few days ago. I spent some time to find a proper fix for bug 19775, but didn't have any success. The game seems to choke on its internal data structures, I don't think the crash has anything to do with vertex shaders, other than selecting a different codepath in the game.
http://bugs.winehq.org/show_bug.cgi?id=19773
--- Comment #23 from Henri Verbeet hverbeet@gmail.com 2013-01-24 06:24:03 CST --- (In reply to comment #22)
Note that the VertexShaderMode = none also requires you to set PixelShaderMode = disabled since Henri's patches from a few days ago.
Actually, VertexShaderMode and PixelShaderMode are going away in favor of shader model limits per shader type.
http://bugs.winehq.org/show_bug.cgi?id=19773
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #24 from Alexandre Julliard julliard@winehq.org 2013-02-01 04:56:34 CST --- Closing bugs fixed in 1.5.23.