MO:ULagain on wine

Okay, short note before I start this. It has occurred to me that the only time I blog now is when I’m frustrated and can’t fit it into 140 characters, or when people ask me the same question repeatedly to the point that it’s easier to blog about it. This post is of the second kind. :P

So Uru is back (again), and it’s Windows only. Mac people can possibly use the old GameTap Cider package and replace the application contents, but Linux people need to use wine. I’ve had good luck with wine and Uru, and after a plethora of IMs, PMs, Tweets, and forum posts, I’m writing a tutorial for getting Uru working with wine.
Update: This is compatible with wine 1.1.40!
Update: This is compatible with wine 1.1.41, but requires some minor changes to the patches.
Update: This is (mostly) compatible with wine 1.1.42. Download the latest patches from wine bug 421. After ./configure, you only need to run make (not make depend).
Update: This is compatible with wine 1.1.44! Download the latest patches from wine bug 421.
Update: This should work with wine 1.2! I’ve also been informed that it works with wine 1.3.1 (and probably newer ones like 1.3.4).

Update: With wine 1.3.16 you NO LONGER NEED THE DIB ENGINE PATCHES!

Are you looking to test a native Linux/Mac client for MOUL?
Check out branan’s awesome PlasmaClient project. Download the alpha release and watch for progress!

1. Set Up & Basics

At the time of writing, the latest version of wine is 1.1.39. I will most likely be compiling each new version of wine when it is released, and will post updates if anything changes or breaks.
I am running on Ubuntu Karmic, so instructions may be different for different distros.
wine has a long outstanding bug involving its (lack of) DIB engine. For Uru, this is important for the cursor. If you use wine without patches, your cursor will be a white block. The game is still entirely playable (as far as I can tell), but if you want the cursor you will need to compile wine yourself.

1.1 Getting wine (no patches)

On Ubuntu Karmic, open the Software Sources menu by going to System->Administration->Software Sources.
Then select the Third Party Software tab and click Add.
In the APT Line box, enter the following:
ppa:ubuntu-wine/ppa

Open Synaptic Package Manager by going to System->Administration->Synaptic Package Manager.
Click the Reload button.
Find the wine package in the package list and mark it for installation.
Click the Apply button to install the packages.

Continue to step 2.
Source – http://www.winehq.org/download/deb

1.2 Patch and compile wine

THIS IS NO LONGER NECESSARY IF YOU ARE RUNNING WINE 1.3.16 OR HIGHER

On Ubuntu Karmic, open the Software Sources menu by going to System->Administration->Software Sources.
Then select the Third Party Software tab and click Add.
In the APT Line box, enter the following:
ppa:ubuntu-wine/ppa

Update your packages:
sudo apt-get update
Install the necessary library and development packages:
sudo apt-get build-dep wine1.2

Download the wine source code from SourceForge.
Extract the wine source code to a directory (I’ll assume ~/wine-1.1.39).
Download the DIB engine patches from wine bug #421.
Extract the DIB patches to a subdirectory (such as ~/wine-1.1.39/dibeng-max).

Go through the series file, and apply each patch to wine as follows:
~/wine-1.1.39$ patch -p1 < ./dibeng-max/patch_file.patch
Rebuild the configure script by running:
~/wine-1.1.39$ autoconf
Configure wine:
~/wine-1.1.39$ ./configure
Compile wine: (You only need to use make depend if you are compiling an old version of wine < 1.1.42)
~/wine-1.1.39$ make depend && make
Install wine:
~/wine-1.1.39$ sudo make install

2. Make OpenAL work with pulseaudio

In theory, wine is capable of using the system’s OpenAL library to provide native sound output. In practice, the sound cuts out after the intro video for me.
This is also complicated by the fact that pulseaudio and wine don’t always play nicely either. If this is an issue, I wish you luck. :P

Update: To make the sounds work fully in wine, please see http://forum.guildofwriters.com/viewtopic.php?f=86&t=4203.

Open the wine configuration tool by going to Application->Wine->Configure Wine.
Go to the Libraries tab.
In the New override for library type the following:
openal32
Click the Add button.

You should see in the Existing Overrides box an entry that says
openal32 (native, builtin)

Click Apply to save your changes.

3. Set the wine version

Uru uses PhysX as a physics backend. PhysX requires wine to be in Windows XP mode.

Open the wine configuration tool (it should still be open).
Go to the Applications tab.
Set the Windows Version dropdown to Windows XP.
Click OK to save your changes.

4. Get MO:ULagain

Ideally get a full version from one of the mirrors listed at MystOnline.com.

5. Run Uru

There are two executable files in the main Uru directory: UruLauncher.exe and UruExplorer.exe.
UruLauncher is the patcher program, UruExplorer is the actual game.

Rather than running the patcher directly, I’ve had better luck if I run the game (which will detect and then launch the patcher itself).

If you’re using an unpatched wine, you should be able to simply double click UruExplorer.exe to launch the game.

If you patched wine, I suggest creating a quicklaunch file in your Uru directory to set up the DIB engine and run the game.
Open a terminal and navigate to your Uru directory.
$ echo "WINEDIB=ON wine UruExplorer.exe" > runuru
$ sudo chmod a+x ./runuru
$ ./runuru

Advertisements