Linux tip, Fedora tip / howto: playing Colin McRae Rally 2 under Wine, Multiplayer
playing Colin McRae Rally 2 under Wine, MultiplayerBack in 2001 I bought this great rally game, and played it a lot, especially the Arcade tracks in network play.
It turns out CMR2 plays fine using Wine under Linux (Fedora 8 in my case, wine version 1.1.9. It also runs under version 1.1.29), including the hosting of a multiplayer game!
Do let me know (using the form below) if you have any comments, or if something doesn't work (or if you're happy it works :-).
To install Wine: yum install wine. If you'd like to compile the latest version, follow the instructions on this page.
Next, run setup.exe from the install CD (so wine setup.exe). After it's installed, a few more fixes are necessary:
Skipping the intro videosNow you can run the game, but unfortunately you can't skip the intro movie. To fix this:
Enabling multiplayer gamesThis turned out to be trickier. If you don't have DirectPlay support, you'll get errors like:
err:dplay:DP_InitializeDPSP DP SP Initialization failed: DPERR_UNSUPPORTED
as soon as you start doing anything network related. Most of the info I got from this page on DirectPlay. The winetricks script didn't work for me.
Setting firewall rules for multiplayer games (DirectPlay)To host a race on the internet, you need to update your Linux firewall, and probably also your router firewall.
First, the Linux (Fedora, iptables) firewall (run iptables as root):
iptables -I RH-Firewall-1-INPUT -p tcp --dport 2300:2400 -j ACCEPT
If you're connecting to the Internet through a router, you'll have to open the same ports there. You can typically access your router at http://192.168.1.1 or at http://192.168.1.254 (and/or https:).
To give you an idea, the steps for a BT Home Hub:
Running CMR2By searching Google for something like "colin mcrae rally no cd" you can find a modified version of cmr2.exe that doesn't require you to keep the CD ROM in the drive.
As the Windows version (run winecfg, then the "Applications" tab) I have "Windows 2000" selected. My guess is XP will work too.
When I run CMR2 fullscreen under Wine, it doesn't respond to key presses. It does in windowed mode: run winecfg, select the "Graphics" tab, and enable "Emulate a virtual desktop". I have the dimensions at 1280x1024, although CMR2 does switch back to 640x480 (in the Graphics options you can later increase it).
To measure frame rates under Wine:
For a good frame rate on my relatively old GeForce4 Ti 4200, I had to turn off Environment mapping, Shadow mapping, and Mip mapping (in the advanced graphics options). Still, with the draw distance at 6, all detail levels set to "high", and a 1024x768x16 window, the game managed between 20 fps (with 5 other cars nearby) and 50 fps (with no cars nearby).
When hosting a network game, for some reason when selecting the "Host" menu option, the game image moves to the bottom left. You can see it again by maximizing the wine window. Let me know if you find a fix for this. The network game does work though :-)
SoundSound works fine if you have Alsa selected as your output driver (winecfg, Audio tab), except when running a networked game (!). Then I got the error:
ALSA lib pcm_dmix.c:996:(snd_pcm_dmix_open) unable to open slave
fixme:dsalsa:IDsDriverImpl_Open Failed to open device: Device or resource busy (wine 1.1.9)
err:wave:wodOpen Error open: Device or resource busy (wine 1.1.29)
After messing forever with dmix, my ~/.asoundrc file, pulseaudio, etc., I found that changing the output driver to OSS made it work...
Some linksThe Colin McRae Rally 2 cheat codes.
A page with record times of me and some of my friends (I had userid min).
An interesting interview about the artificial intelligence techniques used in CMR2.
Some Wine Appdb test results for Colin McRae Rally 2 are here.