Wine Game Test Results

These tests run on Wine from CVS at 18th March 2004, running on Mandrake 9.1, using a clean "fake Windows", and nVidia's graphics drivers. Machine is a Duron 1100 with 640MB and a GeForce 4 MX440.

This is a strange selection of games, mainly because most games have SafeDisc on them and there's not much point even trying to run them right now.


MusicVR (Demo)

(This is an unusual "game" by Mike Oldfield, better known for his unusual music. The version I tested is the demo which comes with his "Tres Lunas" album).

Installer

InstallShield - works perfectly

Game

Need to run in windowed mode - desktop mode hangs on menu screen. Displays initial options screen, sets video mode, displays loading screen, then stops with error:

X Error of failed request:  GLXBadDrawable
  Major opcode of failed request:  145 (GLX)
  Minor opcode of failed request:  11 (X_GLXSwapBuffers)
  Serial number of failed request:  10522
  Current serial number in output stream:  10523

Commenting out the 'glXMakeCurrent(default_display, None, NULL)' on line 425 of dlls/opengl32/wgl.c makes the game work OK. Although this call should be allowed according to the GLX docs, so maybe my OpenGL (nVidia) is the cause of the problem rather than Wine.

Here is a +opengl trace of the problem.


SonicR (XPlosiv budget re-release)

Installer

XPlosiv installer. Won't accept an install directory unless it already exists. Even then, has error copying each individual file from the CD

Game

Works best in desktop mode. This game can run in either DirectDraw (software rendered) or Direct3D (accelerated) modes:


Sonic3D (XPlosiv budget re-release)

Installer

XPlosiv installer. Freezes with:

err:thunk:_loadthunk (dsetup6e.dll, thk3216_ThunkData16, dsetupe.dll): Unable to load 'dsetup6e.dll', error 2

Game

This one is quite tricky to get working, several things have to be just right:

Even then, CD audio doesn't play, wave audio only plays sometimes, the game occasionally pauses for a few seconds, and there seems to be no way to exit without leaving X stuck in 320x240 mode.

There are two bugs preventing CD audio from working: first, it tries to open the 2nd CD drive on the system and I only have one. I haven't really looked into why this happens. Secondly, it selects TMSF time format (which expects colon-separated values for the track, minutes, seconds and frames instead of a single integer), but this is not handled by the argument parsing code in mci. With hackish fixes to these points, the music works. The pauses also go away - they seem to be caused by the game waiting for the CD drive to respond.


South Park Rally

Installer

InstallShield - works perfectly

Game

Need to run with version set to win2k, original CD in drive, working directory set to CD drive and no debugger for SecuROM copy protection to work. Also needs to be in desktop mode. Exits with these error messages:

fixme:cdrom:CDROM_GetStatusCode Unmapped error code 16: Device or resource busy
fixme:ddraw:Main_DirectDraw_SetCooperativeLevel (0x403d73e8)->(00000000,00000008)
fixme:ole:CoCreateInstance no classfactory created for CLSID {25e609e0-b259-11cf-bfc7-444553540000}, hres is 0x80040154

The CLSID in the last line of output is for DirectInput. The game tries to create a DirectInput object using the generic OLE routines, which Wine didn't support. This support has now been added by a recent patch (6th April 2004).

With the DirectInput problem fixed, the game exits with a message box saying no display drivers were found and to check the readme for more info. I think it's querying drivers from DirectDraw or Direct3D and doesn't like the results. Difficult to tell exactly what's happening as the copy protection prevents the game from running in the debugger.


Dungeon Keeper II

Installer

InstallShield - works perfectly

Game

In 9x mode, crashes when SafeDisc tries to write to interrupt descriptor table!

In NT mode, crashes due to lack of working secdrv.sys driver for SafeDisc

With 'no CD' crack, just exits straight away.

Giving the game a full path (e.g. wine 'C:\Program Files\Bullfrog\Dungeon Keeper II\dkii.exe'), something appears to be drawn in the game's window and some MCI fixme: messages appear in the console before it exits.


Curse of Monkey Island

Installer

InstallShield - works perfectly

Game

Works perfectly, but you need to run the installed COMI.EXE with current directory set to CD-ROM drive


Quake II

(Yes, I know there's a native Linux version of some of these, but my main purpose is to get Wine working, so these are good test cases just like any other).

Installer

InstallShield - works perfectly

Game

Works perfectly (in desktop mode)


Quake III: Arena (Gold)

Installer

InstallShield - works perfectly

Game

Works perfectly, but you need to run Setup.exe on the CD, not the installed EXE. Only tried in desktop mode


Escape from Monkey Island

Installer

Doesn't let you eject CD drive to swap CDs. If you run 'eject' from another console and swap the discs, it doesn't recognise disc 2

Game

Not tested - couldn't install it


Worms 3D

Installer

Unhandled exception in setup.exe:

wine: Unhandled exception (thread 000c), starting debugger...
err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0 addr 0x4021aa7c

Game

Not tested - couldn't install it


Return to Castle Wolfenstein

Installer

InstallShield (Wise) - hangs while copying a file

Game

Not tested - couldn't install it


Tomb Raider 4

Installer

InstallShield - works perfectly

Game

Page faults in D3D code:

Unhandled exception: page fault on read access to 0x6e61688f in 32-bit code (0x408d27cc).
In 32-bit mode.
0x408d27cc (d3ddevice_create+0xec [mesa.c:3881] in DDRAW.DLL): movl     0x2c(%edx),%eax
3881        device_context = GetDC(surface->ddraw_owner->window);

Roller Coaster Tycoon

Installer

'Setup failure: a file or files could not be copied' appears during installation

Game

Not tested - couldn't install it


Empire Earth

Installer

Requested stdole32.tlb be copied to windows\system. Copied the file from win95 installation, tried again and installer crashed

Game

Not tested - couldn't install it


Baldur's Gate

Installer

Works perfectly, including trailer for Descent 3

Game

Displays logos and plays intro movie, then hangs with no output at all


Simon the Sorcerer 3D

Installer

Takes ages, but seems to work OK (even swapping discs)

Game

Message box: "Please run Simon 3D from the start menu" appears, then game exits


Theme Hospital

Installer

Have to run winsetup\setup.exe, the EXEs in the root of the CD don't do anything

Game

No sound in intro movie. On main menu, mouse pointer is stuck in top left corner, so can't select anything or start the game


Messiah ('Sold Out' re-release)

Installer

The 'Now' setup program detects IE and Flash as missing, and exits

Running setup.exe directly works

Game

Message box: "Unload the debugger and try again" appears - SafeDisc 2


Settlers 3 ('Revival' re-release)

Installer

InstallShield - works perfectly

Game

Crashes with illegal instruction in PECrypt protection system. This is due to the CPU's direction flag getting reset somewhere (in a Wine API call?) so that the pointers to some code which is being decrypted advance in the wrong direction. Tried to remove the PECrypt wrapper, but 'Bye PECrypt' claims the program is not PECrypt protected.

PECrypt can be made to work by wrapping 3 Wine API functions (SetEvent, WaitForSingleObject and ResetEvent) with pushf/popf to preserve the flags. Then the game starts to initialise DirectX and creates a window, but crashes with a divide by zero exception quite soon.


No-one Lives Forever

Installer

Works (albeit slowly), then crashes on exit

Game

Introduction and briefing works OK, but crashes in libGL while loading actual game level


Sacrifice ('Sold Out' re-release)

Installer

'Now' setup program detects IE and Flash as missing, and exits

Running setup.exe directly starts InstallShield, but then page faults

Game

Not tested - couldn't install it


The Sims

Installer

Launcher ('setup.exe' in root of CD) exits immediately.

Running installer initialises InstallShield but then pops up message box saying you should run this from the launcher.

Game

(Had to install the game 'manually' using unshield to unpack the .cab file, so the crash may well be related to this. Also had to unSafeDisc the EXE before running it).

Game starts up, displays Maxis logo, starts initialisation, then crashes.


eJay Studio

This one isn't a game but it stresses lots of the multimedia code. I've never been able to get this program to work on Windows on my PC but Wine runs it perfectly!

Installer

Works perfectly (seems to be a custom installer, not InstallShield)

Program

Needs to run in desktop mode, with minimum 800x600 resolution. Runs perfectly (except for a few hangs which happen on Windows as well according to my brother).