City of Heroes on Linux

From Homecoming Wiki
Revision as of 04:57, 28 February 2022 by SaphirantCross (historical) (talk) (Update to HCLauncher instructions, generic to distro. Kept historical mention of Cedega, but removed dead links.)
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.

Instructions (Homecoming Launcher)

For sake of brevity, we'll assume you have a working Linux installation that is fully patched. The distro does not matter. Also assuming a 64-bit system and you can replace "usernameGoesHere" below with your Linux username where needed.

  • Install Wine Stable using this download page -- https://wiki.winehq.org/Download -- Once there, pick Binaries, and your distribution. Follow the instructions for the Stable branch.
  • Once installed the default Wine Prefix (/home/usernameGoesHere/.wine) will be made. It will prompt to install Gecko and Mono. Note that NEITHER library is necessary to run Homecoming: City of Heroes (although Mono will be useful if you wish to use Mids Reborn or other .NET apps later.) Another note worthy of mention -- it is not prompted during setup but you do NOT need to install Visual C++ Runtime at all. Wine handles this requirement automatically.
  • Do one of the following (optional):
  • Any Graphic Cards new from 2016 onward: Install either Lutris (GUI Launcher, check your package manager) or DXVK (Vulkan Library - https://github.com/doitsujin/dxvk - follow the instructions in the GitHub page using a terminal.) Lutris prepacks the DXVK library and is easier for new users if you don't want to touch terminal too much. Installing DXVK yourself takes up less overhead.
  • Ubuntu and NVidia: Open "Additional Drivers" and make sure "Nouveau" is NOT selected. The NVIDIA 440 driver and newer will run City of Heroes (The NVIDIA 340 driver will work if you're on an older card.) For most users this is automatically handled (Pop_OS, etc.) but if the game performs terribly, please check this area before you give up.
  • Run the Homecoming Installer. Choose your location on Drive C same as you would in Windows (C:\Games\Homecoming).

Once installation finishes you can run the game from /home/usernameGoesHere/.wine/drive_C/Games/Homecoming/bin/win64/launcher.exe using either Lutris or making a shortcut to the location. (For a Gnome-based distro, for example, it could be as easy as visiting ~/.local/share/applications, then copying an existing shortcut and naming it Homecoming.desktop, and finally edit the new shortcut in a text editor with correct values.)

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.

Live Game (2004-2012) Installation

This section contains information that no longer applies to the current version of City of Heroes/Villains. It is provided for historical purposes.

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:

  1. 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.
  2. Use the unofficial City of Heroes launcher to install and run City of Heroes directly on Linux.

Codeweavers

The main sponsor of the Wine Project, Codeweavers, maintains a paid license of Crossover as a Prosumer Wine distribution offering tech support for use. It is important to note two things:

  1. Paying for Crossover is not required to play Homecoming if you can install Wine on your own, however, it will work if you require paid Tech Support assistance instead of a Community-led forum.
  2. Crossover's main customer base is business-class users. They will support gaming, but a lot of what Cedega did to simplify gaming use is not built into the application.

Cedega

This section contains information that no longer applies to the current version of City of Heroes/Villains. It is provided for historical purposes.

A company named TransGaming developed an application named Cedega that made the task of installing WINE and configuring Linux to run games much easier. Cedega was commercial software that required 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.

TransGaming went out of business in 2009, well in advance of the Live Game shutdown.

External Links