Saturday, February 28, 2009

EVE Wine Linux two clients

Ok, so CCP has decided to discontinue support of the Linux EVE client.
Here's how to run EVE on a dual monitor setup using wine.

First, get the latest version of wine.
If you're using Ubuntu/Mint, you can just add this line to your /etc/apt/sources.list file:
deb http://wine.budgetdedicated.com/apt hardy main
Add this key: http://wine.budgetdedicated.com/apt/Scott%20Ritchie.gpg
To your apt keyring by saving the file to disk and then:
sudo apt-key add /path/to/the/key.gpg
And then:
sudo apt-get update
sudo apt-get install wine

If you're not a debian derivative user, just get the source.
You're looking for wine version 1.1.15 (or later)

Verify you have the right version:
wine --version

Download the premium EVE windows client here: http://www.eveonline.com/download/windows.asp

And install:
wine /path/to/file/EVE_Premium_Setup_75883.exe

Fix the ever present font issues by obtaining the mstcorefonts pkg:
sudo apt-get install mstcorefonts

Copy the arial.ttf file into your wine installation:
cp /usr/share/fonts/truetype/msttcorefonts/arial.ttf ~/.wine/drive_c/windows/Fonts/
That path may be linuxmint-centric. Doesn't really matter. You can even download this file from most any windows installation. Point is, the EULA won't display properly if this file isn't in the location listed above, and if you can't click thru the EULA, you can't play

At this point, a single client should be working perfectly. Two clients, not so much.
Two get that second client working, create a second copy of your .wine directory. I prefer to do this:
mv .wine .wine1
cp -ra .wine1 .wine2

So what was the point of that, right? Now you have wasted twice as much space as you need to storing ever file twice. Answer: Whatever CCP says in their docs, they are not storing session, or client, or some sort of data properly and you will get file collisions if you try to run two clients out of the same file tree. I've messed with two client setups extensively in Cedega and Wine and the common thread, regardless of emulation engine, is that you're going to save yourself some major headaches by just running them out of their own source directories. The problem is with the EVE client, not wWne.

Now all that's left to do is to create yourself two snazzy launch icons or scripts that run these commands:

env WINEPREFIX="/home/username/.wine1" wine "C:\Program Files\CCP\EVE\eve.exe"
env WINEPREFIX="/home/username/.wine2" wine "C:\Program Files\CCP\EVE\eve.exe"

And you should be set.
Some additional notes:
I originally messed around a bit with having wine emulate a virtual desktop. This seemed to help with the focus change crash issues, but now that I'm running two separate .wine* directories that problem seems to have gone away. If you still experience the focus change crash, open up the wine configuration dialog by running winecfg and turn on this virtual desktop emulation. BE CAREFUL, the focus change crash sounds like its a sound issue because you'll hear a sound hiccup and then your screen will freeze. It's not sound, trust me.

Also, most linux desktops are running ALSA and/or pulseaudio nowadays. You should ensure that your wine install is set to output sound to the ALSA subsystem. Again you'll want to use winecfg to set this.

EDIT:
Wine 1.1.15 == EVIL!!!!
Or at least it's evil with two clients.
Lost a Hac yesterday due to the frequent freezing.
Rolled back to 1.0.0 and it has been solid since then.

1.1.16 was just released.
Release notes mention addressing some freezing issues, but since I don't know the cause of the freezing I was seeing, it's hard to know if the 1.1.16 release addresses this issue or not.

FINAL EDIT:
Ok, after much pain and suffering I finally found this thread:
http://bugs.winehq.org/show_bug.cgi?id=17437
I ended up having to upgrade to wine 1.1.16 via src patched using the patches included in the winehq thread above. GL.

No comments: