http://bugs.winehq.org/show_bug.cgi?id=29605
Bug #: 29605 Summary: Theme Park World: Lobby screen is black on GeForce 4 MX Product: Wine Version: 1.3.29 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: lukasz.wojnilowicz@gmail.com Classification: Unclassified
Description of problem: I launch game, watch loading screen, intro (by now all is correct) and game goes into lobby where the screen is all black. Screen flickers sometimes so i can see that there is something beside that black colour. Music is also played.
Regression test: 1aeee59bd8b6172c848c8029e1a55ddac1f93c44 is the first bad commit commit 1aeee59bd8b6172c848c8029e1a55ddac1f93c44 Author: Henri Verbeet hverbeet@codeweavers.com Date: Thu Sep 15 20:01:50 2011 +0200
ddraw: Use offscreen backbuffers.
In principle this allows us to use more than one backbuffer in ddraw. It's also a requirement for the next patch.
:040000 040000 d2e61690982dd3a33ba685ec9a371449602cc210 dde17c19243dd91a3830083879701b13c2a4476f M dlls
Additional info: -no problem on modern NVIDIA graphic card -no problem on Wine 1.3.28 -graphic drivers downloaded from nvidia website -Windows version set to 2000 -TPW patched to 2.0
http://bugs.winehq.org/show_bug.cgi?id=29605
NSLW lukasz.wojnilowicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |hverbeet@gmail.com Regression SHA1| |1aeee59bd8b6172c848c8029e1a | |55ddac1f93c44
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #1 from Henri Verbeet hverbeet@gmail.com 2012-01-14 08:59:14 CST --- (In reply to comment #0)
-graphic drivers downloaded from nvidia website
Which drivers are those? As far as I'm aware this hardware hasn't been supported by nvidia since a couple of years.
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #2 from NSLW lukasz.wojnilowicz@gmail.com 2012-01-14 10:29:41 CST --- (In reply to comment #1)
(In reply to comment #0)
-graphic drivers downloaded from nvidia website
Which drivers are those? As far as I'm aware this hardware hasn't been supported by nvidia since a couple of years.
Look over here http://www.nvnews.net/vbulletin/showthread.php?p=2459680 Drivers were released in past year.
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #3 from Henri Verbeet hverbeet@gmail.com 2012-01-18 07:10:56 CST --- Is there any output? Is there a demo for this?
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #4 from NSLW lukasz.wojnilowicz@gmail.com 2012-01-18 10:30:20 CST --- Created attachment 38426 --> http://bugs.winehq.org/attachment.cgi?id=38426 Terminal output on Wine 1.3.37
(In reply to comment #3)
Is there any output? Is there a demo for this?
Output is in attachment. It's old game from 1999 and If it had demo, then for sure it isn't available no more. Besides you need to have older hardware to see an bug at all.
For sure there are other games which were impacted by that regression.
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #5 from NSLW lukasz.wojnilowicz@gmail.com 2012-01-18 10:35:40 CST --- Created attachment 38427 --> http://bugs.winehq.org/attachment.cgi?id=38427 WINEDEBUG=+relay on Wine 1.3.37
Here is more verbose output. While you'll be reading it maybe by accident you'll notice that bug 20089 and bug 20090 is in some way bundled with that bug.
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #6 from Henri Verbeet hverbeet@gmail.com 2012-01-18 11:18:31 CST --- (In reply to comment #4)
Output is in attachment. It's old game from 1999 and If it had demo, then for sure it isn't available no more. Besides you need to have older hardware to see an bug at all.
Yeah, but I still have a GF 440 Go that's probably close enough, although it's running nouveau at the moment.
For sure there are other games which were impacted by that regression.
By that commit, sure, but they tend to all be different preexisting bugs. Of course if you can find something with a demo that behaves similar enough that would be great.
Could you create a WINEDEBUG="+ddraw,+d3d,+d3d_caps,+d3d_surface,+d3d_texture,+seh,+tid" log?
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #7 from NSLW lukasz.wojnilowicz@gmail.com 2012-01-18 12:48:22 CST --- Created attachment 38429 --> http://bugs.winehq.org/attachment.cgi?id=38429 WINEDEBUG=+ddraw,+d3d,+d3d_caps,+d3d_surface,+d3d_texture,+seh,+tid on Wine 1.3.37
(In reply to comment #6)
(In reply to comment #4)
Output is in attachment. It's old game from 1999 and If it had demo, then for sure it isn't available no more. Besides you need to have older hardware to see an bug at all.
Yeah, but I still have a GF 440 Go that's probably close enough, although it's running nouveau at the moment.
I hope you'll not have to buy it on ebay or download it from internet to solve that bug, although game is very amusing.
Could you create a WINEDEBUG="+ddraw,+d3d,+d3d_caps,+d3d_surface,+d3d_texture,+seh,+tid" log?
No problem.
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #8 from Henri Verbeet hverbeet@gmail.com 2012-01-18 16:50:27 CST --- Created attachment 38433 --> http://bugs.winehq.org/attachment.cgi?id=38433 patch
It looks like the drivers don't support FBOs, which is a bit odd because nouveau can certainly do it on that hardware. As a result wined3d falls back to backbuffer ORM. Since the hardware doesn't have shaders either we end up doing fixed-function blits as well. That's all code that hasn't really improved much over the last couple of years. Do you have any other (ddraw) games that work or don't work on that machine?
Also, could you give the attached patch a try? It's really more of a random guess than the result of any kind of proper debugging, but maybe it makes a difference.
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #9 from NSLW lukasz.wojnilowicz@gmail.com 2012-01-19 10:27:42 CST --- Created attachment 38448 --> http://bugs.winehq.org/attachment.cgi?id=38448 WINEDEBUG=+ddraw,+d3d,+d3d_caps,+d3d_surface,+d3d_texture,+seh,+tid on patched wine-1.3.37-164-gb18ff8b
(In reply to comment #8)
Also, could you give the attached patch a try? It's really more of a random guess than the result of any kind of proper debugging, but maybe it makes a difference.
The only difference is that screen flickers between black and white and it seems that its jagged in some strange way.
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #10 from NSLW lukasz.wojnilowicz@gmail.com 2012-01-19 10:41:48 CST --- Created attachment 38449 --> http://bugs.winehq.org/attachment.cgi?id=38449 WINEDEBUG=+ddraw,+d3d,+d3d_caps,+d3d_surface,+d3d_texture,+seh,+tid on Wine 1.3.37 for Turtle game
(In reply to comment #8)
That's all code that hasn't really improved much over the last couple of years.
I can say that Theme Park World speeded up noticeably in Wine 1.3.28 (in relation to 1.1.29) and that's probably because of you, so I would like to thank you for your work on that.
Do you have any other (ddraw) games that work or don't work on that machine?
There is one children's game, which is called "Turtle and pirate's treasure". It has less advanced lobby (no 3d scene), but has the same symptoms (blank lobby screen and no mouse pointer).
There is an game which works and it's called "Toon car" (http://www.fileplanet.com/61526/60000/fileinfo/ToonCar-Demo). I can choose renderer which is "Wine D3D7 T&L Hal", there are some lines about ddraw in output, but I don't know if it's proper example.
http://bugs.winehq.org/show_bug.cgi?id=29605
--- Comment #11 from Henri Verbeet hverbeet@gmail.com 2012-01-19 17:47:22 CST --- (In reply to comment #9)
(In reply to comment #8)
Also, could you give the attached patch a try? It's really more of a random guess than the result of any kind of proper debugging, but maybe it makes a difference.
The only difference is that screen flickers between black and white and it seems that its jagged in some strange way.
Actually, that patch is broken, it has two glEnable() calls in nvrc_enable() and probably breaks more than it fixes. I've sent http://source.winehq.org/patches/data/82976 which should be correct, although it may still not help with this bug. I'll see if the other games show anything interesting.
http://bugs.winehq.org/show_bug.cgi?id=29605
NSLW lukasz.wojnilowicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #12 from NSLW lukasz.wojnilowicz@gmail.com 2012-01-21 03:39:39 CST --- Fixed in wine-1.3.37-254-g14b790a.
Does this patch should have negative impact on performance on GeForce 4 (because it redirects rendering to old code in Wine) and if yes then does using nouveau would speed up things (because Wine could use PBO on this driver)?
It seems that this patch has positive side effect on bug #20089 and bug #20090. Thank you Henri for fastly fixing them all.
http://bugs.winehq.org/show_bug.cgi?id=29605
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |d1254eddb598ad2a6bddaf09ddb | |5d73247d460cc
--- Comment #13 from Henri Verbeet hverbeet@gmail.com 2012-01-21 03:57:26 CST --- (In reply to comment #12)
Fixed in wine-1.3.37-254-g14b790a.
By d1254eddb598ad2a6bddaf09ddb5d73247d460cc then, I assume.
Does this patch should have negative impact on performance on GeForce 4 (because it redirects rendering to old code in Wine)
Somewhat, but it shouldn't be major. Because we render offscreen we introduce an extra buffer copy. That isn't free, but shouldn't be terribly expensive either. It does affect backbuffer ORM a bit more than FBOs because offscreen rendering is inherently less efficient with backbuffer ORM.
and if yes then does using nouveau would speed up things (because Wine could use PBO on this driver)?
Maybe. The FBO path is faster than the backbuffer path. On the other hand, I'm not sure how nouveau compares to the nvidia driver in terms of performance in general on that hardware. I.e., if FBOs would be 10% faster than backbuffer ORM, but nouveau would be 50% slower than the nvidia driver you'd still end up with a net loss in performance. But I never did benchmarks between nouveau and nvidia and I don't know if anyone else did either for that hardware.
http://bugs.winehq.org/show_bug.cgi?id=29605
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Alexandre Julliard julliard@winehq.org 2012-01-27 14:16:58 CST --- Closing bugs fixed in 1.4-rc1.
https://bugs.winehq.org/show_bug.cgi?id=29605
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Component|-unknown |directx-d3d