http://bugs.winehq.org/show_bug.cgi?id=22983
Summary: Battlefield Bad Company 2: game only shows black screen Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: NEW Keywords: regression Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: austinenglish@gmail.com CC: stefandoesinger@gmx.at
Regression caused by: 481aca47ad649297e5435d0f4c7466fd70aa702f is the first bad commit commit 481aca47ad649297e5435d0f4c7466fd70aa702f Author: Stefan Dösinger stefan@e195-194.eduroam.tuwien.ac.at Date: Wed May 5 13:02:07 2010 +0200
wined3d: Don't use GL_ARB_map_buffer_range for now.
There are numerous problems with this extension, and there are no visible upsides. In the best case dynamic VBOs are just as fast as no VBO at all.
:040000 040000 cca8ec087bc506feda3595448c85c39ebe496bf6 d395ecea38a8be62103acb6279b99c0cb452d2e5 M dlls
if this patch is reverted, the game shows, although with messed up textures. See bug 22617 for details on that.
Bug shows up in Steam and DVD versions.
http://bugs.winehq.org/show_bug.cgi?id=22983
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |22617
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #1 from Austin English austinenglish@gmail.com 2010-05-31 14:57:41 --- Created an attachment (id=28464) --> (http://bugs.winehq.org/attachment.cgi?id=28464) +d3d,+d3d_shader trace, tailed to 750k lines
http://bugs.winehq.org/show_bug.cgi?id=22983
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |22617 Depends on|22617 |
http://bugs.winehq.org/show_bug.cgi?id=22983
Dmitry Timoshkov dmitry@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |1.2-rc2
http://bugs.winehq.org/show_bug.cgi?id=22983
Luke Bratch l_bratch@yahoo.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |l_bratch@yahoo.co.uk
http://bugs.winehq.org/show_bug.cgi?id=22983
jorgitorrr@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jorgitorrr@gmail.com
--- Comment #2 from jorgitorrr@gmail.com 2010-07-24 05:56:12 --- Still in wine-1.2
http://bugs.winehq.org/show_bug.cgi?id=22983
olof olof_nord_@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |olof_nord_@hotmail.com
--- Comment #3 from olof olof_nord_@hotmail.com 2010-10-09 06:11:30 CDT --- how to fix it is described in http://bugs.winehq.org/show_bug.cgi?id=22762
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #4 from Stefan Dösinger stefandoesinger@gmx.at 2010-10-11 06:17:39 CDT --- Fyi, the cause for the black screens is an exception. The exception is caught by the game, so it doesn't fully crash, but the rendering thread is dead.
The game tries to draw geometry without position data with the fixed function pipeline. The geometry comes from a dynamic vertex buffer. With map_buffer_range this buffer has a GL VBO, because of that the opengl vertex array API is used. OpenGL sees that there's no position data, returns an error and doesn't draw.
Without the VBO, the immediate mode drawing code(drawStridedSlow) is entered. It assumes that position data is available, tries to dereference the NULL pointer and crashes.
The correct fix is to write a test for the return value, check for fixed function drawing without position data, return D3D_OK or D3DERR_INVALIDCALL and don't attempt to draw.
http://bugs.winehq.org/show_bug.cgi?id=22983
Sébastien Fiévet sebastien.fievet@free.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastien.fievet@free.fr
--- Comment #5 from Sébastien Fiévet sebastien.fievet@free.fr 2010-12-01 02:57:35 CST --- just to revive the bug report : issue still present in v1.3.8.
@olof (comment #3) : i believe the problem stated in 22762 is a different one. Forcing DX9 in the settings file merely helps the game to start, and the main menu to show (at least for me). But launching a game (either solo campaign or MP session) gives a black screen as soon as the loading is done...
http://bugs.winehq.org/show_bug.cgi?id=22983
Alan Luth alanluth@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alanluth@gmail.com
--- Comment #6 from Alan Luth alanluth@gmail.com 2010-12-09 03:08:03 CST --- Is this bug hardware specific? I can't reproduce this with Nvidia graphics cards at all.
Only in campaign mode i get a black screen for a while when starting (think this is the introduction movie), but the level loads and game starts working after a few seconds.
Tested with a 7900GTX, 9600GT, GTS250 using the latest drivers from nvidia.
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #7 from Sébastien Fiévet sebastien.fievet@free.fr 2010-12-09 12:54:30 CST --- (In reply to comment #6)
I also have Nvidia hardware (9800 GT + 260.19.21 binary driver)... The game really seems to sit there at some point. At the end of the log i have :
err:ntdll:RtlpWaitForCriticalSection section 0x7daeca60 "x11drv_main.c: X11DRV_CritSection" wait timed out in thread 0031, blocked by 002c, retrying (60 sec)
which doesn't look good to my inexperienced eyes...
http://bugs.winehq.org/show_bug.cgi?id=22983
Benjamin Xiao ben.r.xiao@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ben.r.xiao@gmail.com
--- Comment #8 from Benjamin Xiao ben.r.xiao@gmail.com 2010-12-26 14:14:21 CST --- I am getting the same error that Sébastien is getting. Setting to DX9 only brings me to the menu. The game displays a black screen after SP loads, and crashes when trying to load MP.
http://bugs.winehq.org/show_bug.cgi?id=22983
monkeyslayer56 starbuddy1995@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |starbuddy1995@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #9 from Ionut Ticus ticus.ionut@gmail.com 2011-01-12 11:45:12 CST --- Created an attachment (id=32824) --> (http://bugs.winehq.org/attachment.cgi?id=32824) BFBC2 log
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #10 from Alan Luth alanluth@gmail.com 2011-01-13 15:47:49 CST --- (In reply to comment #9)
Created an attachment (id=32824)
--> (http://bugs.winehq.org/attachment.cgi?id=32824) [details]
BFBC2 log
Did you try removing the directx dll's from the game folder to force it to use the wine dll's?
This fixed a few loading and graphics issues for me
http://bugs.winehq.org/show_bug.cgi?id=22983
Ionut Ticus ticus.ionut@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |ticus.ionut@gmail.com
--- Comment #11 from Ionut Ticus ticus.ionut@gmail.com 2011-01-13 16:01:41 CST --- (In reply to comment #10)
(In reply to comment #9)
Created an attachment (id=32824)
--> (http://bugs.winehq.org/attachment.cgi?id=32824) [details] [details]
BFBC2 log
Did you try removing the directx dll's from the game folder to force it to use the wine dll's?
This fixed a few loading and graphics issues for me
I tried your suggestion but the result is the same. I deleted all the d3* files from the game dir but it didn't change anything. After the "subtitles" load (... this is what really happened that day ...) the screen turns black but I can hear the sound (water, probably a boat engine). After a few seconds I can see the wine "desktop" (I'm using emulate a virtual desktop) and the sound can still be heard; the CPU usage drops to 5-10%. I'm on a Dell Inspiron 1520 (Core2Duo T7250, 4GB RAM, nvidia 8600M GT) with wine 1.3.11 (d3dx9 installed with winetricks) on Arch64 (2.6.37 kernel, nvidia driver 260.19.29).
http://bugs.winehq.org/show_bug.cgi?id=22983
Pyratn pyratn@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pyratn@gmail.com
--- Comment #12 from Pyratn pyratn@gmail.com 2011-03-09 01:58:42 CST --- (In reply to comment #11)
(In reply to comment #10)
(In reply to comment #9)
Created an attachment (id=32824)
--> (http://bugs.winehq.org/attachment.cgi?id=32824) [details] [details] [details]
BFBC2 log
Did you try removing the directx dll's from the game folder to force it to use the wine dll's?
This fixed a few loading and graphics issues for me
I tried your suggestion but the result is the same. I deleted all the d3* files from the game dir but it didn't change anything. After the "subtitles" load (... this is what really happened that day ...) the screen turns black but I can hear the sound (water, probably a boat engine). After a few seconds I can see the wine "desktop" (I'm using emulate a virtual desktop) and the sound can still be heard; the CPU usage drops to 5-10%. I'm on a Dell Inspiron 1520 (Core2Duo T7250, 4GB RAM, nvidia 8600M GT) with wine 1.3.11 (d3dx9 installed with winetricks) on Arch64 (2.6.37 kernel, nvidia driver 260.19.29).
Similar situation to me.
Running wine 1.3.14, also with d3dx9 installed Using Ubuntu 10.04 LTS Lucid Lynx Dell Studio Intel Core 2 P8400 2.26ghz 4gb RAM and an ATI Mobility Radeon HD 3650 with official drivers
Tried with and without the dx3d dlls and have set my game to run in dx9 I can happily use the menus, adjust settings and start a new game. BUT the level hangs in the same way as Ionut. Something else I have noticed that I am not sure if anyone else is getting, in the menu under single player / collecatables whenever I select a weapon I just get bad looking pixels. This isn't anoying or anything but maybe related?
Anyway, Having searched through all of the relevant buzzila reports I can't find one that fixes this. Would be interesting to see if this is an error with Dell laptops (though I don't see how that would work)
http://bugs.winehq.org/show_bug.cgi?id=22983
Brandon Tomlinson thebwt@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thebwt@gmail.com
--- Comment #13 from Brandon Tomlinson thebwt@gmail.com 2011-05-16 17:40:41 CDT --- ubuntu 11.04 here. I'm noticing that I get different results based on my desktop environment.
If I load in Unity, I can get into a multiplayer game as far as setting loadout and squad stuff. While the ui for this stuff is there, the layer behind it (either an overhead view of the current field, or a follow-cam of a player) is all white. If I go to deploy, the UI changes to the 1st person UI; however the layer behind that is still white. Sound may or may not work. I defiantly hear ambient and music. However if is hit any of my keys, I don't hear corresponding sound. This could be my input getting ignored, the sound system failing in some mysterious way, or anywhere in between.
Under gnome2 with no effects, I don't even get that far. loading a map, I get the loading screen, but as soon as it seems like the 'Loading..." would change to "JOIN", everything stops.
I have removed the game's d3d dlls for all of these.
I suspect that having compositing enabled or not could change factors.
http://bugs.winehq.org/show_bug.cgi?id=22983
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |481aca47ad649297e5435d0f4c7 | |466fd70aa702f
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #14 from Henri Verbeet hverbeet@gmail.com 2012-02-16 03:49:34 CST --- (In reply to comment #4)
The correct fix is to write a test for the return value, check for fixed function drawing without position data, return D3D_OK or D3DERR_INVALIDCALL and don't attempt to draw.
Any luck with that?
I think this bug shouldn't be reproducible anymore since commit 68b15bc, but the underlying issue Stefan mentioned is still present.
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #15 from Austin English austinenglish@gmail.com 2012-02-28 17:13:24 CST --- (In reply to comment #14)
(In reply to comment #4)
The correct fix is to write a test for the return value, check for fixed function drawing without position data, return D3D_OK or D3DERR_INVALIDCALL and don't attempt to draw.
Any luck with that?
I think this bug shouldn't be reproducible anymore since commit 68b15bc, but the underlying issue Stefan mentioned is still present.
The game is failing for me on an unimplemented msvcp80 function. winetricks vcrun2005 doesn't seem to help (I seem to recall a Focht bug about this, but can't find it..).
http://bugs.winehq.org/show_bug.cgi?id=22983
Brandon Corujo haku08879@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |haku08879@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=22983
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #16 from joaopa jeremielapuree@yahoo.fr 2013-04-20 14:19:02 CDT --- still a bug in current wine?
http://bugs.winehq.org/show_bug.cgi?id=22983
Stefan Dösinger stefan@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |stefan@codeweavers.com
--- Comment #17 from Stefan Dösinger stefan@codeweavers.com 2013-04-20 14:39:13 CDT --- The status should be pretty much what Henri described in comment 14.
http://bugs.winehq.org/show_bug.cgi?id=22983
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |68b15bc5ffe6ddf5d08cbc13479 | |eaf718ad5e39f
--- Comment #18 from Austin English austinenglish@gmail.com 2013-04-29 19:48:07 CDT --- With: OpenGL renderer string: GeForce GTX 460/PCIe/SSE2 OpenGL version string: 4.3.0 NVIDIA 313.30
The game itself works in wine-1.5.29-20-g074d89a, but also at 481aca47ad649297e5435d0f4c7466fd70aa702f (if I use msvc* from a newer wine, or presumably native).
I'd mark it as UPSTREAM, but thought Henri/Stefan should know about that.
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #19 from Henri Verbeet hverbeet@gmail.com 2013-06-12 06:05:21 CDT --- (In reply to comment #4)
Without the VBO, the immediate mode drawing code(drawStridedSlow) is entered. It assumes that position data is available, tries to dereference the NULL pointer and crashes.
Actually, are you sure about that? As far as I can see drawStridedSlow() properly checks if position data is available, and also did so at 481aca47ad649297e5435d0f4c7466fd70aa702f.
http://bugs.winehq.org/show_bug.cgi?id=22983
--- Comment #20 from Stefan Dösinger stefan@codeweavers.com 2013-06-14 16:17:05 CDT --- (In reply to comment #19)
Actually, are you sure about that? As far as I can see drawStridedSlow() properly checks if position data is available, and also did so at 481aca47ad649297e5435d0f4c7466fd70aa702f.
I'm not sure. Maybe it was crashing in the driver in drawStridedFast.
Either way, I looked at the game again, and I cannot see any ffp draws without position data. Either the game was changed (I believe patch R11 was shipped after this bug was filed), or a capability flag change triggered this. The game still uses draws without WINED3D_DECL_USAGE_POSITION, but all those draws involve a vertex shader, so it should be ok.
Should we close this ABANDONED after a wait period?
http://bugs.winehq.org/show_bug.cgi?id=22983
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |ABANDONED
--- Comment #21 from Henri Verbeet hverbeet@gmail.com 2013-06-28 10:24:50 CDT --- Sounds fine to me, although I don't have a strong preference for a particular resolution.
http://bugs.winehq.org/show_bug.cgi?id=22983
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Austin English austinenglish@gmail.com 2013-06-28 12:59:07 CDT --- Closing.