How to Run Rise of Nations with Wine

I spent quite a while last night getting Rise of Nations Golden Edition running on Ubuntu Ibex. Here's what it took:

Part 1: Make CD images using Cdrdao

Cdrdao is used for dumping images of CDs in .bin/.toc format. Normally dd is enough to make an image. But, for copy-protected discs like RoN, you need something a little stronger. Here's the command I used to make images of both discs:
$ cdrdao read-cd --read-raw --datafile image.bin \
--device /dev/cdrw2 --driver generic-mmc-raw image.toc
Be sure to replace /dev/cdrw2 with your CDROM device.

Part 2: Mount the images using CDemu

Windows users are probably familiar with DAEMON Tools. CDemu is the equivalent for Linux. There are nice Debian packages available. Download and install, in order:
  • vhba-dkms
  • libmirage
  • cdemu-daemon
  • cdemu-client
Mounting the images after installing CDemu is simple.
$ cdemu load 0 image.toc

Part 3: Update and configure Wine

The standard Ubuntu repositories do not have the most up-to-date version of Wine. For that, you need to add Wine's own repository. They have directions for major distributions on their download page.

Next, get winetricks. After installation, simply execute winetricks to display the winetricks GUI. Then install directx9 and mfc42.

Finally, we need to touch some settings in Wine. Open winecfg and click the graphics tab. Uncheck the boxes for "Allow the window manager to decorate the windows" and "Allow the window manager to control the windows." Now click the Audio tab. If you haven't configured Wine's audio previously, Wine will display a message indicating it has now done so for you. The defaults should be fine, so now click the Libraries tab. To get sound working in RoN, change dsound from builtin to native.

Part 4: Install RoN

Normally this would be fairly straight forward. But for RoN, there's a few tricks. First, copy pidgen.dll from the first disc to ~/.wine/drive_c/windows/system32. Now, start installing RoN.
$ cd /media/RONGOLD1
$ wine setup.exe
The second trick is to convince the installer you've inserted the second disc when it asks. To do this, I had to manually change the symlinks in ~/.wine/dosdevices. Change whichever drive symlink points to RONGOLD1 so that it points to RONGOLD2. Also, be sure to change the symlink that points to the actually device as well (it will have the same name as the drive letter but with an extra colon). Click "OK" in the install window and it should finish up the installation. Once it's done, be sure to change the symlinks in dosdevices to point back to RONGOLD1.

Part 5: Configure RoN

I'm not sure these configurations are necessary, but they work for me. Edit /home/damonkohler/.wine/drive_c/windows/profiles/.../Application\ Data/Microsoft\ Games/Rise\ of\ Nations/rise2.ini to look like this:
[RISE OF NATIONS]
Windowed Width=1024
Windowed Height=768
FullScreen=1
VSync=1
AllowAllResolutions=1
IgnoreMinimizeOnTabOut=0
ConfigDatabase=BHGVidCardConfig.txt
ESCKeyGoesToMenu=1
ClickDragTiming=5
ClickDragLowSensitive=20
ClickDragHighSensitive=64
ClickDragRightSensitive=6
SkipIntroMovies=1
ForceHardwareCursor=1
ForceGDICursor=0
ForceBWCursor=0
ForceStaticCursor=0
ForceAGPVBs=0
Don't Allow Texture Compression=0
SYS_grade_override(A-F or AUTO)=AUTO
MEM_grade_override(A-F or AUTO)=AUTO
CPU_grade_override(A-F or AUTO)=AUTO
GPU_grade_override(A-F or AUTO)=AUTO
TEXTURE_grade_override(FULL, HALF, QUARTER, AUTO)=AUTO
UseAltColors=0
Console Coord Mode=0
Console Name Mode=2
Sound Enabled=1
BackVidAsSlideShow=0
UseVTUNEDLL=0
TestDelayRenderAMin=0
TestDelayRenderBMin=0
TestDelayRenderAMax=0
TestDelayRenderBMax=0
RebuildBalance=0
Force Profile Menu=0
ForceLowCPUBackgroundVid=1
EnableGraphicsToggles=0
UseNetworkSimulator=0
TPModsDirectory=.\Mods
ScenarioDirectory=\Scenarios
StandaloneScriptsDirectory=Stand-alone Scripts
DefaultScenarioDirectory=.\scenario\Custom\
DefaultScriptDirectory=.\scenario\Scripts\
GameFrameTestDelayMin=0
GameFrameTestDelayMax=0
RenderMinimap=1
Part 6: Play the game!

Woot! You're done!

11 comments:

hemtar said...

Thank you very much!

Muchas gracias!

:D

Damon said...

You're welcome! It seemed to me that the documentation on how to do this was rather spread out.

haven said...

Nice, happen to try network play?

Damon said...

Yes, I was able to play over the network. However, I had to be the host for it to work.

Ivan Vučica said...

Multiplayer does not work on Wine 1.1.21 on Debian. No matter what I do (install MS DirectPlay, edit /etc/hosts to resolve my LAN IP as my hostname, ...) I'm getting "Unable to establish a network connection. Please check your network connection and try again." Does RoN multiplayer still work for you? Any ideas?

Damon said...

@Ivan I did get it to work at one time. I haven't tried again in quite a while. Like I said above though, I had to be the host for it to work.

Fede said...
This post has been removed by the author.
Fede said...

Hi, I'm a Ubuntu user from Argentina, and this guide was very helpful, thank you very much!*




*I think this is the way of say it. Sorry if my english is bad.

kuchbhi said...

Hi Damon, I am a mac user and have a windows RON golden edition.Can I use wine to play mac-to-pc multiplayer? If yes, will this same procedure you mentioned work?

Damon said...

@kuchbhi I'm not sure. But, if you give it a try, please post your results here.

Dan Kegel said...

Thanks for posting this. I'm the author of
winetricks, and I have a new script called
wisotool ( wiki.winehq.org/wisotool )
where I'm trying to capture this kind
of knowledge (i.e. making it easy to install
games). Your tip may come in handy.

Post a Comment