City of Heroes on Linux
See also City of Heroes on Mac
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
Programs that run on Windows do not directly access the hardware in the machine. For example, if a program needs a file from the hard drive, it does not talk directly to the hard drive, but it calls a function in the kernel, 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, an industry-standard graphics library. Since DirectX is a proprietary software library, programs that use it will typically only run on Windows. Since OpenGL has Windows and Linux versions, however, programs that run using this library are much more easily converted between Windows and Linux.
The open source community developed an application called WINE that provides a layer of abstraction between Windows programs and the system they're running on by taking the place of the Windows kernel and API. Among other things, it implements much of the DirectX library (converting the 3D parts to OpenGL). When WINE 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 similarly under Linux and Windows.
City of Heroes in particular already uses OpenGL for its 3D graphics (while using DirectX primarily for input), which gives it a performance advantage when running through WINE.
Although City of Heroes works with Wine, the NCsoft launcher does not. There are currently two options for installing City of Heroes on a Linux system:
- Run the NCsoft launcher to install City of Heroes on a Windows computer and copy the files to the Linux computer. Launch the game from the command line as "wine cityofheroes.exe -project coh -renderthread 0". The Windows computer doesn't need to be capable of playing City of Heroes, it just needs enough disk space to install it.
- Use the unofficial City of Heroes launcher to install and run City of Heroes directly on Linux.
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.
- List of City of Heroes Forums Guides about installing and playing City of Heroes 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
- City of Heroes/City of Villains entry in the WINE application database.
- Cedega forum for City of Heroes and City of Villains
- Unofficial Transgaming Wiki page dedicated specifically to information about running City of Heroes on Linux
- WINE, the underlying technology that allows Windows programs to run on Linux