City of Heroes on Linux: Difference between revisions

From City of Heroes: Rebirth Wiki
Jump to navigation Jump to search
imported>Sekoia
m (→‎Overview: typoes)
No edit summary
 
(16 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{{TOCright}}
''See also [[City of Heroes on Mac]]''
== Overview ==
== Overview ==


It is possible to run City of Heroes on Linux through a technology called [http://www.winehq.com/ ''WINE''] (''W''INE ''I''s ''N''ot an ''E''mulator). 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 [http://www.transgaming.com/index.php?module=ContentExpress&file=index&func=display&ceid=29 Cedega] allows City of Heroes to be relatively user-friendly to configure and run.
It is possible to run City of Heroes on Linux through a technology called [http://winehq.com/ ''WINE''] (''W''INE ''I''s ''N''ot an ''E''mulator). 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.  


== How It Works ==
== 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.
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, 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, City of Heroes 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 ==
 
Unfortunately, Linux is a rather difficult operating system to configure and run properly, and configuring programs to run using WINE is challenging task.  A company named [http://www.transgaming.com TransGaming] has developed an application named [http://www.transgaming.com/index.php?module=ContentExpress&file=index&func=display&ceid=29 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 ===
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).


* 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.
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.
* 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 ===
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.


* 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.
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.
* 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 [http://www.citygametracker.com/ City Game Tracker], [http://www.herostats.org/ HeroStats], [http://sourceforge.net/projects/piggviewer/ PiggViewer], [http://net-marks.com/cohtools/tweakcoh/ 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.[http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&displaylang=en download .NET 2.0 redistributable]
== Installation ==
The Sunrise launcher can work with WINE, however because it requires .net it can be tricky to get working. The Sweet Tea launcher does not require .net, so is much easier to use with WINE, and is currently the recommended launcher for playing Rebirth on Linux. Sweet Tea has been reported to "just work" with current versions of WINE, especially version 7.2 or higher. Sometimes when City of Heroes itself is running, the mouse does not respond. In this case installing dinput with winetricks usually resolves that issue.  


== External Links ==
== External Links ==


* [http://www.gameamp.com/guide/viewGuides/330.php Detailed HOWTO] on GameAmp's site for how to get City of Heroes running on Linux
* [http://web.archive.org/web/20120905091406/http://boards.cityofheroes.com/showthread.php?t=209661 List of City of Heroes Forums Guides] about installing and playing City of Heroes on Linux.
* [http://www.transgaming.com/index.php?module=ContentExpress&file=index&func=display&ceid=29 Cedega], an application published by [http://www.transgaming.com TransGaming], to make installation and configuration of City of Heroes on Linux more user-friendly.
* [http://appdb.winehq.org/objectManager.php?sClass=version&iId=2980 City of Heroes/City of Villains] entry in the WINE application database.
* [http://transgaming.org/gamesdb/games/view.mhtml?game_id=3321 City of Heroes] and [http://transgaming.org/gamesdb/games/view.mhtml?game_id=3956 City of Villains] entries in the Cedega games database
* [http://winehq.com/ WINE], the underlying technology that allows Windows programs to run on Linux
* [http://transgaming.org/forum/viewforum.php?f=49 TransGaming forum] for City of Heroes and City of Villains
* [http://cedegawiki.sweetleafstudios.com/wiki/City_of_Heroes City of Heroes on Linx wiki] dedicated specifically to information about running City of Heroes on Linux
* [http://www.winehq.com/ WINE], the underlying technology that allows Windows programs to run on Linux


[[Category:Game Client]]
[[Category:Game Client]]

Latest revision as of 13:19, 27 June 2023

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.

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.

Installation

The Sunrise launcher can work with WINE, however because it requires .net it can be tricky to get working. The Sweet Tea launcher does not require .net, so is much easier to use with WINE, and is currently the recommended launcher for playing Rebirth on Linux. Sweet Tea has been reported to "just work" with current versions of WINE, especially version 7.2 or higher. Sometimes when City of Heroes itself is running, the mouse does not respond. In this case installing dinput with winetricks usually resolves that issue.

External Links