It is possible to run City of Heroes on Linux through a technology called WINE (WINE Is Not an Emulator). By porting the Windows API libraries that City of Heroes uses to Linux, WINE effectively "fools" City of Heroes into thinking that it is actually running on Windows. A program called Cedega allows City of Heroes to be relatively user-friendly to configure and run.
How It Works
Most programs that run on Windows do not directly access the hardware in one's machine. For example, if a program needs a file from the hard drive, it does not talk directly to the hard drive. Instead, it calls a function in Windows, which in turn talks directly to the hard drive.
The primary advantage of this type of abstraction is that programs do not have to worry about the hardware-specific details of every device that is installed. Before this level of abstraction was achieved, every program had to have special drivers for every device that might be used. Now, only one set of drivers must be installed on Windows, which can be shared through a common set of functions that Windows provides (called the Application Programming Interface, or API).
A special set of functions may be grouped into a programming library. Such libraries typically handle some specific functionality. For example, there are two primary graphics libraries in use today to program games, Microsoft's DirectX and OpenGL, a graphics library that is largely implemented through open source software. Since DirectX is a proprietary (or closed source) software library, programs that use it will typically only run on Microsoft's software, which is the various versions of Windows. Since OpenGL has Windows and Linux versions, however, programs that run using this library are much more easily converted between Windows and Linux.
Unfortunately, the City of Heroes Game Client uses the DirectX library for all of its graphics, which means that it would normally only run on Windows.
However, the open source community developed an application called WINE that implements many of the DirectX library functions using calls to the functions in OpenGL. When this application is installed on Linux, programs that use DirectX may be able to run, because they believe they are calling DirectX functions, and those functions work the same now under Linux and Windows.
A company named TransGaming has developed an application named Cedega that makes the task of installing WINE and configuring Linux to run games much easier. Cedega is commercial software that requires a $5 per month (or $55 per year) subscription fee to maintain the latest version, but many users use Cedega to make ease of installation and use of games running on WINE easier.
How Well Does It Run?
There are advantages and disadvantages to running City of Heroes on Linux. Some of them are discussed below.
- Because WINE actually implements many of the DirectX functions better than Microsoft has, City of Heroes typically runs faster on Linux. This is typically reflected in a higher frames-per-second (fps) rate, faster zone loading, and faster game loading and exiting.
- Because Linux is open source software, one does not need to pay several hundreds of dollars for a copy of Windows to run City of Heroes. Also, there are no issues regarding upgrades (e.g. to Windows Vista), as all upgrades to most Linux distributions are free.
- Running City of Heroes on Linux allows one to access other convenient features of Linux, such as virtual desktop switching, filesystem links, etc.
- In spite of remarkable strides in making Linux more user-friendly, it can still be rather difficult to configure applications to run on it. This is especially true of applications that are not written for the specific Linux distribution one is using.
- There are a few quirks in the game. The primary one is that City of Heroes detects that the video drivers in use are an old version of the drivers, which prevents some graphics functionality, such as water effects and depth-of-field effects from being enabled.
- Currently, none of the City of Heroes-related third party utilities (such as City Game Tracker, HeroStats, PiggViewer, Tweak CoH, etc.) have been verified to work on Linux. This may be a minor issue of configuring WINE for these applications, but that work has currently not been completed.
Note: City Game Tracker and HeroStats are built on the Microsoft.NET framework and require the installation of that technology. download .NET 2.0 redistributable
- Detailed HOWTO on GameAmp's site for how to get City of Heroes running on Linux
- Cedega, an application published by TransGaming, to make installation and configuration of City of Heroes on Linux more user-friendly.
- City of Heroes and City of Villains entries in the Cedega games database
- TransGaming forum for City of Heroes and City of Villains
- City of Heroes on Linx wiki dedicated specifically to information about running City of Heroes on Linux
- WINE, the underlying technology that allows Windows programs to run on Linux