[Bug 2082] DirectDraw games only showing black screen

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Mar 14 18:26:39 CDT 2013


http://bugs.winehq.org/show_bug.cgi?id=2082

--- Comment #109 from Murray Colpman <muzerakascooby at gmail.com> 2013-03-14 18:26:39 CDT ---
(In reply to comment #106)
> Could you maybe elaborate on how that can be achieved? What do you mean by
> "ingame minimisation"? Would be happy to try out your suggestion.

Well, the maintainers for the game added an option to change the
SetCooperativeLevel call to pass the desktop window as the parameter. This
breaks ingame minimisation because the only way to minimise ingame due to other
weirdness with the game itself is to set the desktop window as the currently
active window.



> It may be worthwhile posting the other workarounds here anyway. They may be
> useful to users or developers looking at the problem.

I believe Windows 8 essentially has a registry key to enable old ddraw
behaviour/emulation/something special at least, which is what this workaround
does (sets that key). Here's the reg file:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows
NT\CurrentVersion\AppCompatFlags\Layers]
"C:\\Team17\\Worms Armageddon\\WA.exe"="$ DWM8And16BitMitigation
Layer_ForceDirectDrawEmulation"



So, if Windows has a registry workaround, wine might benefit one too ;)




Weirdly enough, WA has implemented new renderers recently - DirectDraw 32-bit
(previous was 8-bit), Direct3D 7, Direct3D 9 with CPU palette conversion, and
Direct3D 9 with Shader palette conversion. The weird thing is, these also
exhibit a black screen in wine, and there appears to be no workaround (apart
from DirectDraw 32-bit which has the same workaround as the old 8-bit renderer,
that is the SetCooperativeLevel thing described above). I don't know if this is
the same bug - if there's some legacy function in DirectDraw that enables the
same sort of behaviour - or something completely unrelated, but they do
definitely work in Win8. I could have sworn there used to be some debug output
that looks related but I can't find it now (the only seemingly-relevant line is
fixme:d3d:wined3d_get_adapter_raster_status wined3d 0x14f8e0, adapter_idx 0,
raster_status 0x33ef40 semi-stub!). However, I digress, this probably belongs
in a new bug.

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list