Playing Champions Online on Ubuntu

I've been playing Champions Online for a little over a month now, and I've been playing it on Linux, running on Ubuntu 10.04. I searched online for help and had to piece a few things together to get the game running smoothly under wine in Ubuntu, so I thought I would do a quick post here detailing the steps I took.

The quick start guide is this:

  1. Create a new wineprefix
  2. Install ie6 and gecko with winetricks
  3. Create script to export WINEPREFIX, cd to prefix, and use renderthread argument
  4. Disable mmdevapi via winecfg
  5. Add -softwarecursor and -ignorex64check at launcher options

For further details, see my comments below.

Create a new wine prefix

For some reason Champions Online plays better if it doesn't share the wineprefix with any other games or the wine prefix is not otherwise heavily customized. In fact, I've since found that having each of my MMOs in its own wineprefix has made each play better. This is a bit of a disk space hog, so I would love to know if there's a way to better share the wineprefix without causing problems for each game. But for now, this works well.

The wineprefix is the directory where wine stores its data. If you don't specify the wineprefix by exporting the WINEPREFIX environment variable, then $HOME/.wine is used. I did something like this:

wineprefixcreate --prefix ~/.champions

Install ie6 and gecko with winetricks

winetricks makes installing windows software via wine easy. IE6 and gecko are required for the Champions launcher to run. So this is as easy as:

$ winetricks ie6 gecko

This is pretty well documented online for any recent Cryptic Studios game (Champions or Star Trek Online).

At this point, you should be able to install the game. Download the game, and run:

$ wine $PATH-TO-GAME-DOWNLOAD/setup.exe

Don't worry if the installer hangs. Kill it and start the launcher, which will patch the game and finish installing everything.

Create script to export WINEPREFIX, cd to prefix, and use renderthread argument

There are a couple of tricks to getting Champions to run now, so I make this easier by using a script to run the game. Basically, we want to export WINEPREFIX to point to the right place for the game, cd into the directory where the game is installed, and pass in a renderthread argument. This renderthread argument prevents the game crashing at startup.

The script looks something like:

#!/bin/bash

export WINEPREFIX=$HOME/.champions
cd $HOME/.champions/drive_c/Program\ Files/Cryptic\ Studios
wine Champions\ Online.exe -renderthread 0

I cd to the directory for the game because sometimes the game leaves behind log files, and I don't want them littered wherever I happen to start the command from.

Disable mmdevapi via winecfg

Sound was a bit of a pain to get running, but I discovered a simple trick to make this happen.

$ export WINEPREFIX=$HOME/.champions
$ winecfg

And then click the "Libraries" tab. Then click "Add". Then create an entry for mmdevapi, and set it to disabled.

Presto. Sound!

Add -softwarecursor and -ignorex64check at launcher options

Finally, I had to add a couple options in the game launcher. The first is to get the cursor working in game well.

Once the launcher appears, click "Options" in the menu items at the top. Under "Advanced command line" add:

-softwarecursor

(Note the leading dash.)

Then, to make sound a bit more stable add:

-ignorex64check

Again, the leading dash. This last option could be because of my system and may not be neccessary for everyone. I'm running Ubuntu on Mac hardware

Now the game runs well.  Enjoy!  I know I have.  And for those cursious about the difference between this and City of Heroes, I'll try to do a post on that later.

Posted by deryck on August 5, 2010

Post a comment