http://bugs.winehq.org/show_bug.cgi?id=24695
Summary: Saira crashes when fullscreen mode is selected Product: Wine Version: 1.3.4 Platform: x86 URL: http://nifflas.ni2.se/content/Saira/Saira%20112.exe OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: gyebro69@gmail.com
Created an attachment (id=31204) --> (http://bugs.winehq.org/attachment.cgi?id=31204) crash log
The game Saira crashes on startup if you choose 'Fullscreen' option in the configuration utility. The game uses a weird 1024x600 screen resolution so I tested using Wine's virtual desktop mode.
How to reproduce the issue in the demo:
1. Download and install the demo (240 MB). After installation Msvcp60.dll must be placed into /system32 to start the game. 2. Launch the configuration utility by 'Settings.exe' and make sure Display mode is set to 'Fullscreen'. 3. Press on 'Exit & Launch Game' >> Wine will crash.
Fedora 13 Nvidia 7600 / driver 256.53
http://bugs.winehq.org/show_bug.cgi?id=24695
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download
http://bugs.winehq.org/show_bug.cgi?id=24695
--- Comment #1 from GyB gyebro69@gmail.com 2010-10-10 06:57:00 CDT --- After some more testing it turned out the game can be started in fullscreen with an older version of Wine (1.1.18), only when the following conditions are met: * GLSL must be disabled (via registry entry) * the size of the virtual desktop must be 1280x1024. It's not clear to me but any lower (1024x768) or higher resolution (e.g. 1440x900) resulted a crash. Later versions of Wine always crash even if GLSL is disabled.
So, if I consider Wine-1.1.18 the last working version, regression testing resulted the following commit:
754b5cf2adc73a917d7d60c35d5cad5897a5e92d is the first bad commit commit 754b5cf2adc73a917d7d60c35d5cad5897a5e92d Author: Stefan Dösinger stefan@codeweavers.com Date: Sun Mar 22 12:24:28 2009 +0100
wined3d: Deal with reserved shader constants in the backend.
This moves the GLSL and ARB specific reserved constants out of directx.c into the get_caps methods of the shader backends. That way the number of reserved constants remains in the backend.
GL_LIMITS({v/p}shader_constantsF) now contains the real number of constants as advertised by GL instead of some mixture of GL info and backend implementation specifics. This makes it easier for backends to decide how many constants to use.
:040000 040000 540fd0d6b33f9e7e8f911032bdcdc7fb2dd74353 b89d7243ca86dd91318381b2110e6f8dfabce3b5 M dlls
The patch can only be reverted cleanly on top of Wine-1.1.20, and that fixed the issue.
Author of the patch added to CC.
http://bugs.winehq.org/show_bug.cgi?id=24695
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan@codeweavers.com
http://bugs.winehq.org/show_bug.cgi?id=24695
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
--- Comment #2 from GyB gyebro69@gmail.com 2010-10-13 10:10:09 CDT --- Added the keyword: regression.
http://bugs.winehq.org/show_bug.cgi?id=24695
--- Comment #3 from Henri Verbeet hverbeet@gmail.com 2010-11-16 08:11:55 CST --- Please set the component to directx-d3d for regressions in wined3d.
http://bugs.winehq.org/show_bug.cgi?id=24695
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |directx-d3d
http://bugs.winehq.org/show_bug.cgi?id=24695
--- Comment #4 from GyB gyebro69@gmail.com 2011-07-23 03:27:25 CDT --- Created an attachment (id=35653) --> (http://bugs.winehq.org/attachment.cgi?id=35653) crashlog (virtual desktop mode) - Wine-1.3.25
The crash still occurs in Wine-1.3.25 when the game is set to run in fullscreen mode. It crashes in the same way in virtual desktop mode unless I choose a virtual screen size matching with the game resolution (1024x600). Now the game starts but hits bug #24451. I noticed that using a recent Wine, the crash happens in the proprietary Nvidia driver code, not in some Wine source code as it was the case in comment #0.
http://bugs.winehq.org/show_bug.cgi?id=24695
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adys.wh@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=24695
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |754b5cf2adc73a917d7d60c35d5 | |cad5897a5e92d
http://bugs.winehq.org/show_bug.cgi?id=24695
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefandoesinger@gmx.at
--- Comment #5 from Stefan Dösinger stefandoesinger@gmx.at 2011-08-15 14:46:26 CDT --- The problem is that Saira calls Direct3DDevice9::Reset and sets a new device window. The device window happens to be the same window as the already assigned focus window, but is different from the old device window.
Wined3d currently ignores this, and tries to configure the old device window for fullscreen mode. In doing so, it changes the window size, which sends a WM_SIZE message to the window. When the app receives the message it thinks you changed the window size and calls Reset again. On re-entry the function crashes because some resources have already been deleted(namely the blit backend's private data).
The correct fix is to use the new device window. Because it is equal to the focus window, the WM_SIZE message is filtered, and Saira doesn't call Reset again.
http://bugs.winehq.org/show_bug.cgi?id=24695
Stefan Dösinger stefandoesinger@gmx.at changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|stefandoesinger@gmx.at |
http://bugs.winehq.org/show_bug.cgi?id=24695
--- Comment #6 from Henri Verbeet hverbeet@gmail.com 2012-02-17 06:32:53 CST --- Created attachment 38924 --> http://bugs.winehq.org/attachment.cgi?id=38924 patch
This patch should help. Still needs some tests for the details.
http://bugs.winehq.org/show_bug.cgi?id=24695
--- Comment #7 from GyB gyebro69@gmail.com 2012-02-17 08:41:55 CST --- (In reply to comment #6)
Created attachment 38924 [details] patch
This patch should help. Still needs some tests for the details.
Thank you, the patch indeed fixes the crash and makes the game playable in full-screen mode (windowed mode still has bug #24451).
http://bugs.winehq.org/show_bug.cgi?id=24695
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |90739d9474451f336101184610b | |f9c99ddd093e7 Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #8 from Austin English austinenglish@gmail.com 2012-02-29 14:14:37 CST --- (In reply to comment #7)
(In reply to comment #6)
Created attachment 38924 [details] patch
This patch should help. Still needs some tests for the details.
Thank you, the patch indeed fixes the crash and makes the game playable in full-screen mode (windowed mode still has bug #24451).
http://source.winehq.org/git/wine.git/commitdiff/90739d9474451f336101184610b...
http://bugs.winehq.org/show_bug.cgi?id=24695
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2012-03-02 13:02:48 CST --- Closing bugs fixed in 1.4-rc6.