City of Heroes on Linux

From Unofficial Homecoming Wiki
Revision as of 03:08, 11 January 2009 by imported>Ipsi (→‎Disadvantages: Adding note about crashes.)
Jump to navigation Jump to search

See also City of Heroes on Mac

Overview

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.

Cedega

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.

Advantages

  • 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.

Disadvantages

  • 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. This can also result in crashing when attempting to change or view costumes, either through the menu or through the tailor.
  • Third party party utilities (such as City Info Tracker's Glycerin, HeroStats, PiggViewer, Tweak CoH, etc.) might be able to run if they are inside the same "emulator" as the game client.
    • For example, one user was able to install .NET and Herostats running WINE 1.0. The Herostats' in game window would not display, but all other functionality seemed to work, including stats and badge detection.
    • However, when attempting to install .NET and Herostats in Cedega 6.0.5, the same user was not able to get both City of Heroes and Herostats to run at the same time.

Note: Glycerin(formerly City Info Tracker) and HeroStats are built on the Microsoft.NET framework and require the installation of that technology. download .NET 2.0 redistributable

External Links