WineHQ

Black & White

No Screenshot

Submit Screenshot

original retail version

please patch black and white to 1.10 and post results on that version

Application Details:

Version: 1.0
License: Retail
URL: http://www.lionhead.com/bw/
Votes: Marked as obsolete
Latest Rating: Platinum
Latest Wine Version Tested: 2.0-rc2

Maintainers: About Maintainership

No maintainers. Volunteer today!

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

  • The installer - spits out numerous FIXMEs to console, and you can't see the progress bar on the installer, but it does install correctly.

What does not

  • Everything else

If you don't crack the game, you're met with the following output:

$ wine runblack.exe
err:module:import_dll Library ntoskrnl.exe (which is needed by L"C:\\windows\\system32\\drivers\\SECDRV.SYS") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\windows\\system32\\drivers\\SECDRV.SYS" failed, status c0000135
err:module:import_dll Library ntoskrnl.exe (which is needed by L"C:\\windows\\system32\\drivers\\SECDRV.SYS") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\windows\\system32\\drivers\\SECDRV.SYS" failed, status c0000135

Assuming you do crack the game, you still get the following output:

$ wine runblack.exe
err:module:import_dll Library LHLogR.dll (which is needed by L"C:\\Program Files\\Lionhead Studios Ltd\\Black & White\\runblack.exe") not found
err:module:import_dll Library LHLogR.dll (which is needed by L"C:\\Program Files\\Lionhead Studios Ltd\\Black & White\\LHaudiodllR.dll") not found
err:module:import_dll Library LHaudiodllR.dll (which is needed by L"C:\\Program Files\\Lionhead Studios Ltd\\Black & White\\runblack.exe") not found
err:module:import_dll Library LHLogR.dll (which is needed by L"C:\\Program Files\\Lionhead Studios Ltd\\Black & White\\LHMultiplayerR.dll") not found
err:module:import_dll Library LHMultiplayerR.dll (which is needed by L"C:\\Program Files\\Lionhead Studios Ltd\\Black & White\\runblack.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program Files\\Lionhead Studios Ltd\\Black & White\\runblack.exe" failed, status c0000135

The workaround for this is to copy LHLogR.dll from the CD to the directory you installed B&W to...and then you get this:

$ wine runblack.exe
fixme:win:WIN_CreateWindowEx Parent is HWND_MESSAGE
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fd6d570)->(0x10026,00000008)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fd6d570)->(0x10026,00000013)
err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found! (XRandR)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fd6d570)->(0x10026,00000013)
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fd6d570)->(0x10026,00000013)
err:ddraw:choose_mode requested color depth (24) not available, try reconfiguring X server
fixme:ddraw:DIB_DirectDrawSurface_Blt Can't handle DDBLT_WAIT flag right now.
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_LINEPATTERN (0000000a) value : 00000000 !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_MONOENABLE (0000000b) value : 00000000 !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_ROP2 (0000000c) value : 0000000d !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_PLANEMASK (0000000d) value : ffffffff !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_LASTPIXEL (00000010) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_ZVISIBLE (0000001e) value : 00000000 !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_EDGEANTIALIAS (00000028) value : 00000000 !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_RANGEFOGENABLE (00000030) value : 00000000 !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_EXTENTS (0000008a) value : 00000000 !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_VERTEXBLEND (00000097) value : 00000000 !
err:ddraw:set_render_state Specular Lighting not supported yet.
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_ROP2 (0000000c) value : 0000000d !
err:ddraw:set_render_state Unhandled dwRenderStateType D3DRENDERSTATE_LASTPIXEL (00000010) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (00000099) value : 00000004 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (0000009a) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (0000009c) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (0000009d) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000a4) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000a5) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000a6) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000a8) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000a9) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000aa) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000b1) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000b2) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000b3) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000b4) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000b5) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000b6) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000bb) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000bc) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000bd) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000be) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000c0) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000c1) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000c2) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000c9) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000ca) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000cb) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000cc) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000cd) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000ce) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000d3) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000d4) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000d5) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000d6) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000d8) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000d9) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000da) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000e1) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000e2) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000e3) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000e4) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000e5) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000e6) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000eb) value : 00000003 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000ec) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000ed) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000ee) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000f0) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000f1) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000f2) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000f9) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000fa) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000fb) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000fc) value : 00000001 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000fd) value : 00000002 !
err:ddraw:set_render_state Unhandled dwRenderStateType ERR (000000fe) value : 00000001 !
err:ddraw:set_render_state Specular Lighting not supported yet.
fixme:ddraw:Main_IDirect3DDeviceImpl_7_BeginStateBlock (0x7fd7ee38/0x7fd7ee38)->(): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_EndStateBlock (0x7fd7ee38/0x7fd7ee38)->(0xde6ef0): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_3T_ValidateDevice (0x7fd7ee38/0x7fd7ee38)->(0x7fb9fb64): semi-stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_BeginStateBlock (0x7fd7ee38/0x7fd7ee38)->(): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_EndStateBlock (0x7fd7ee38/0x7fd7ee38)->(0xde6ef8): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_3T_ValidateDevice (0x7fd7ee38/0x7fd7ee38)->(0x7fb9fb64): semi-stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_BeginStateBlock (0x7fd7ee38/0x7fd7ee38)->(): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_EndStateBlock (0x7fd7ee38/0x7fd7ee38)->(0xde6f00): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_3T_ValidateDevice (0x7fd7ee38/0x7fd7ee38)->(0x7fb9fb64): semi-stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_BeginStateBlock (0x7fd7ee38/0x7fd7ee38)->(): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_EndStateBlock (0x7fd7ee38/0x7fd7ee38)->(0xde6f08): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_3T_ValidateDevice (0x7fd7ee38/0x7fd7ee38)->(0x7fb9fb64): semi-stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_BeginStateBlock (0x7fd7ee38/0x7fd7ee38)->(): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_EndStateBlock (0x7fd7ee38/0x7fd7ee38)->(0xde6f10): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_3T_ValidateDevice (0x7fd7ee38/0x7fd7ee38)->(0x7fb9fb64): semi-stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_BeginStateBlock (0x7fd7ee38/0x7fd7ee38)->(): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_EndStateBlock (0x7fd7ee38/0x7fd7ee38)->(0xde6f18): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_3T_ValidateDevice (0x7fd7ee38/0x7fd7ee38)->(0x7fb9fb64): semi-stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_BeginStateBlock (0x7fd7ee38/0x7fd7ee38)->(): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_EndStateBlock (0x7fd7ee38/0x7fd7ee38)->(0xde6f20): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_3T_ValidateDevice (0x7fd7ee38/0x7fd7ee38)->(0x7fb9fb64): semi-stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_BeginStateBlock (0x7fd7ee38/0x7fd7ee38)->(): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_EndStateBlock (0x7fd7ee38/0x7fd7ee38)->(0xde6f28): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
fixme:ddraw:Main_IDirect3DDeviceImpl_7_ApplyStateBlock (0x7fd7ee38/0x7fd7ee38)->(00000000): stub!
err:ddraw:set_render_state Specular Lighting not supported yet.
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x7fd6d570)->(0x10026,00000008)

The behavior during the time when this prints out is to spawn a fullscreen(?) window called LIONHEAD, which sits there and never displays anything (nor is there any visible change if you change focus to/from it), until eventually it spits the final line above and then exits.

Workarounds

What was not tested

  • Gameplay
  • Multiplayer
  • Audio

Hardware tested

Graphics:

  • GPU:
  • Driver:

Additional Comments

The problems appear to be that Wine DX7 support hasn't been completed yet, and that some DLL isn't being copied for some reason by the installer.

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
ShowArch Linux x86_64Jan 01 20172.0-rc2Yes Yes PlatinumGabriel-Andrew Pollo-Guilbert 
ShowMac OS X 10.10 "Yosemite"Sep 18 20151.7.51Yes Yes SilverSam 
ShowDebian GNU/kFreeBSD 7.x "Wheezy"Jun 03 20151.7.44Yes No GarbageTiago Medeiros 
ShowUbuntu 11.04 "Natty" i386 (+ variants like Kubuntu)May 09 20111.3.19Yes Yes SilverNick Stuckert 
ShowDebian GNU/Linux 5.x "Lenny"Oct 28 20081.1.7Yes Yes BronzeJohn Haywards 

Known Bugs

Bug # Description Status Resolution Other apps affected
34166 Fullscreen flickering on Mac RESOLVED NOTOURBUG View
35721 Black and White: crashes on start UNCONFIRMED View

Show all bugs

HowTo / Notes

HOWTO

To run Black & White (and Creature Isle) without being affected by bug 14939 (texture bug) and bug 15984 (crash bug), you have to run a version of Wine patched with the DXTn to ARGB texture conversion patch, blitting patch and the button click patch. To install this patched version of Wine, copy and paste the following commands into a terminal:

mkdir ~/src
cd ~/src
git clone git://source.winehq.org/git/wine.git ~/src/wine
cd ~/src/wine
wget -O wine-dxt13-to-argb4444-xrgb1555-conversion.patch http://bugs2.winehq.org/attachment.cgi?id=34559
wget -O wine-dderr.patch http://bugs2.winehq.org/attachment.cgi?id=33563
patch -p1 < wine-dxt13-to-argb4444-xrgb1555-conversion.patch
patch -p1 < wine-dderr.patch
Check http://wiki.winehq.org/Recommended_Packages to make sure you get all necessary packages, or if you encounter trouble compiling. Then copy and paste the next set of commands:
./configure --prefix=/usr
make depend
make
sudo make install

With these three patches, Black & White is fully and perfectly playable through Wine.  If you encounter trouble patching, try looking at the bug threads for an updated patch (they are attended to more frequently than this Howto).

Set wine version to win98 for best results.

For 64 bit wine go to wiki.winehq.org/Wine64.

Intro Stall/No In Game Sound

A picture posted of the intro with the Man and Woman kissing and little kid looking bored is the point at which a stall may occur.  Settings for Audio need to be changed from hardware acceleration to emulation at this point.  You can track the bug at http://bugs.winehq.org/show_bug.cgi?id=12651.

Comments

Comments Disabled

Comments for this application have been disabled because there are no maintainers.
Back