Saturday, August 12, 2006

Playing WarCraft III in Linux(wine)

Ok, I kinda missed all the good times I had with Warcraft III's tower defence game. After I wiped out my Windows installation. I can't really play any PC game per say.

Today, my hands gotten itchy & so I installed wine & trying to play WC3 in wine.

The documentation can be found here:

http://wiki.archlinux.org/index.php/Warcraft3

Installing wine by

yum install wine

is pretty straight forward.

Installing WC3 under wine has gotten a little tricky.

First of all, the command line as stated in the link above no longer work in FC5. The reason is because, FC5 uses a new mounting method. For all CD mounted, in will display the mount as the lable of the disc itself. In this case, Warcraf III disc is mounted as 'Warcraft III' & you can imagine, doing a 'wine /media/Warcraft III/install.exe' will result in error cos, command line does not recognise a space between 'Warcraft' & 'III'. After searching on the web for a long time with no avail, I launched 'wine file' & sure enough, I can install warcraft3 in 'wine file' just by double-clicking on the file browser.

Next up, patching the file according to the instructions in the above link can be done in 'wine file' again, much the same way. The problem follows next is with doing the 'no-cd' patch. Now, as mentioned in the link above, this is not piracy. This is necessary simply because detecting the original CD simply won't work in wine. So, I downloaded the 'no-cd' patch & I was met with another problem. Where did wine put all the files? After some long & tiring search. I finally figured out that, wine will be installed under

/home/username/.wine

directory.

And all files, should be installed under

/home/username/.wine/drive_c

which will appears to be under C: drive in wine.

All drives appeared in wine will be listed under

/home/username/.wine/dosdevices

So, finally, I located the Warcraft III programs are installed in

/home/username/.wine/drive_c/Program Files/Warcraft III

and that is where the 'no-cd' patched war3.exe files should be unzipped to.

Ok, that should have worked for most installation. But the complication of the nvidia graphic driver need to be highlighted here. First & foremost, the closed-source nVidia linux driver must be used to get the game working.

First problem is that, the game won't start with my main pc with a nVidia 6150 onboard graphic card. The error returns simply says a violation has occured as the game driver accessed an area of the main memory which is not 'writeable'. nVidia 6150 onboard graphic card shared the main memory as graphic memory. So, this should explain why the game would not start when it sees a violation. I am not sure, if this problem should be fixed with a newer version of wine or with a newer nVidia driver. Hopefully, it will be fixed eventually.

So, I tried the same installation on another linux pc with a 6600LE card installed. Sure enough, WC3 fires up flawlessly on first attempt & it even works flawless playing online connecting to battlenet's server. As that second pc is dual-booting with windows & it has a nVidia 6150 3d card onboard anyway, I moved the 6600LE card to my main pc, which has only Fedora Core 5.

So, I tried the same thing again on my main pc, expecting WC3 to work with the addition of the 6600LE card. Unfortunately, it somehow retained the old settings telling wine that it's accessing the main memory again & crashed, despite the nVidia driver already reflected the 6600LE card is in operation. I tried uninstalling & reinstalling nVidia driver & uninstalling & reinstalling wine. All don't work. Miraculously, I edited my /etc/X11/xorg.conf

and changed the lines from

Identifier "Videocard0"
Driver "nvidia"
VendorName "Videocard vendor"
BoardName "nVidia Corporation C51 PCI Express Bridge" <-- This is the old lable for the nVidia 6150 card

to

Identifier "Videocard0"
Driver "nvidia"
VendorName "Videocard vendor"
BoardName "nVidia Corporation NV43 [GeForce 6600 PCIe]" <-- Copied from the seocnd pc.

Then, I reinstalled wine, warcraft 3 & all.

Eventually, it all pays off. And here you see WC3 is installed successfully.



So, I played couple rounds of Tower Defence online & finally completed a 42 levels tower defence in 3rd position. All remaining 5 players simply failed to complete the game.

So finally, I am back with some gaming fun in Linux

It's good game after all.

0 Comments:

Post a Comment

<< Home