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.
(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).
InstallShield - works perfectly
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.
XPlosiv installer. Won't accept an install directory unless it already exists. Even then, has error copying each individual file from the CD
Works best in desktop mode. This game can run in either DirectDraw (software rendered) or Direct3D (accelerated) modes:
XPlosiv installer. Freezes with:
err:thunk:_loadthunk (dsetup6e.dll, thk3216_ThunkData16, dsetupe.dll): Unable to load 'dsetup6e.dll', error 2
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.
InstallShield - works perfectly
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.
InstallShield - works perfectly
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.
InstallShield - works perfectly
Works perfectly, but you need to run the installed COMI.EXE with current directory set to CD-ROM drive
(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).
InstallShield - works perfectly
Works perfectly (in desktop mode)
InstallShield - works perfectly
Works perfectly, but you need to run Setup.exe on the CD, not the installed EXE. Only tried in desktop mode
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
Not tested - couldn't install it
Unhandled exception in setup.exe:
wine: Unhandled exception (thread 000c), starting debugger... err:seh:EXC_DefaultHandling Unhandled exception code c0000005 flags 0 addr 0x4021aa7c
Not tested - couldn't install it
InstallShield (Wise) - hangs while copying a file
Not tested - couldn't install it
InstallShield - works perfectly
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);
'Setup failure: a file or files could not be copied' appears during installation
Not tested - couldn't install it
Requested stdole32.tlb be copied to windows\system. Copied the file from win95 installation, tried again and installer crashed
Not tested - couldn't install it
Works perfectly, including trailer for Descent 3
Displays logos and plays intro movie, then hangs with no output at all
Takes ages, but seems to work OK (even swapping discs)
Message box: "Please run Simon 3D from the start menu" appears, then game exits
Have to run winsetup\setup.exe, the EXEs in the root of the CD don't do anything
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
The 'Now' setup program detects IE and Flash as missing, and exits
Running setup.exe directly works
Message box: "Unload the debugger and try again" appears - SafeDisc 2
InstallShield - works perfectly
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.
Works (albeit slowly), then crashes on exit
Introduction and briefing works OK, but crashes in libGL while loading actual game level
'Now' setup program detects IE and Flash as missing, and exits
Running setup.exe directly starts InstallShield, but then page faults
Not tested - couldn't install it
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.
(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.
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!
Works perfectly (seems to be a custom installer, not InstallShield)
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).