City of Heroes on Linux: Difference between revisions

From Homecoming Wiki
Jump to navigation Jump to search
(I may be missing something here but I've no idea why it was suggested to scribble on the root filesystem!)
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{TOCright}}
{{TOCright}}


''See also [[City of Heroes on Mac]]''
{{see also|City of Heroes on Mac|City of Heroes on Steam Deck}}


{{EdNote|note=Homecoming Developers do not support any client bugs on Linux.  If an issue cannot be reproduced in a Windows client, Linux specific bugs will be given a form response and closed without resolution.  Please use the [https://forums.homecomingservers.com/forum/12-help-amp-support/ Homecoming Forums] for Linux client support from other users.}}
{{EdNote|note=Homecoming Developers do not support any client bugs on Linux.  If an issue cannot be reproduced in a Windows client, Linux specific bugs will be given a form response and closed without resolution.  Please use the [https://forums.homecomingservers.com/forum/12-help-amp-support/ Homecoming Forums] for Linux client support from other users.}}
Line 14: Line 14:
''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.''
''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.''


''Using a Steam Deck? Ignore these instructions and check below for [[City of Heroes on Linux#Steam Deck (GUI-Only Install)|Steam Deck-specific instructions]].''
''Using a Steam Deck? An install script is available on [[City of Heroes on Steam Deck]].''


*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.
*Install Wine Stable using this download page -- https://wiki.winehq.org/Download
*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.
*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):
*Run the Homecoming Installer.  Choosing a location on drive C will try to install Homecoming in ~/.wine (eg C:\Games\Homecoming -> ~/.wine/drive_c/Games/Homecoming); Z: is the root Linux drive (so Z:\Games\Homecoming would correspond to /Games/Homecoming; an ordinary user account would not have permission to create this directory).
:*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).
 
As with any file or folder starting with a period, ".wine" is hidden from directory results. (See upper right photo and caption.) 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.)


It is also important to note this procedure is sufficient for a single-user Linux system alone.  For a multiuser system, either you need to repeat the procedure for each user (and sufficient disk space is required: 6-12GB per user), or configure permissions to allow multiple users access to the same WinePrefix.
It is also important to note this procedure is sufficient for a single-user Linux system alone.  For a multiuser system, either you need to repeat the procedure for each user (and sufficient disk space is required: 6-12GB per user), or configure permissions to allow multiple users access to the same WinePrefix.


== System Requirements ==
== System Requirements ==
Linux has different system requirements than Windows.  For binary video card driver releases City of Heroes will only run on a current video driver that compiles with a Linux Kernel.  When NVidia, AMD, or Intel drop driver support for a video card and the kernel fails to compile with the legacy driver in-place, you can no longer play City of Heroes on that system.


'''There is no specific date when this support ends; it will not be announced publicly when a software upgrade fails.''' The day that the video driver fails to recompile kernel modules for your current OS is when you need to decidePossible fixes include:
As a generality, if a system would not be able to play City of Heroes using Windows because of the hardware in use there's a good chance Linux won't work either.
   
*1 GHz Dual Core processor (AMD/Intel 32 or 64 bit),
*2GB of RAM,
*a video card or integrated graphics support capable of OpenGL 2.0/3.0,
*6-12GB free hard drive space.   


*Run COH on an older OS instead of on the bleeding edge (ex. choosing Ubuntu LTS over the twice-a-year update distro) so older drivers continue to compile normally,
'''Most systems made since 2018 should more than meet these requirements.'''  The biggest factor is video support; in most cases performance will be either equivalent to, or have a slight performance increase (around 10%-20%) over Windows due to less overhead processes present in the OS.  This varies due to the distribution used, graphics driver installed, and power consumption setting (such as a laptop on a battery, or any 'Eco mode' settings used.)
*Upgrade your hardware (baselines provided below to help in replacement), or
*set up your system to dual-boot to Windows and move your game files to Windows to continue play.


=== Linux Driver Support ===
== Support Lifeline ==
*AMD: Cards older than RX 300 no longer have active driver development. (Current baseline: AMD RX 400/500 and newer.)
Linux has one key difference over Windows for support: When NVidia, AMD, or Intel drop Linux driver support for a video card and the kernel fails to compile with the legacy driver in-place, you can no longer play City of Heroes on that system. '''There is no specific date when this support ends; it will not be announced publicly when a software upgrade fails.'''  The day that the video driver fails to recompile kernel modules for your current OS is when you need to decide. Possible fixes include:
*NVidia: Cards older than GTX 500 no longer have active driver development. (Current baseline: NVidia GTX 600/700 and newer.)
*Intel: IGPs with GMA3000 or older are no longer patched. (Current baseline: Intel HD Graphics and newer.)


The above does not mean your older card will not work today.  It means if it stops working in the distant future, this may be why.
*Run COH on an older OS (that still receives updates) so older drivers continue to compile normally,
*Upgrade your hardware, or
*Set up your system to dual-boot (or wipe and restore) Windows to continue play.


=== Must Meet Game System Requirements ===
== Unsupported Linux Hardware ==
System Requirements are the same for a Linux system as they would be for a Windows system: 1 GHz Dual Core processor, 2GB of RAM, a video card capable of OpenGL 2.0/3.0, and 6-12GB free hard drive space.  As a generality, if a system would not be able to play City of Heroes using Windows because of the hardware in use there's a good chance Linux won't work either.
The following Linux systems will not have the resources to play City of Heroes.


== Steam Deck (GUI-Only Install) ==
=== ARM Linux ===
You can take the following steps instead of the above instructions to install Homecoming: City of Heroes on your Steam Deck. Use of Flatpak is recommended to ensure that your Homecoming installation survives updates from SteamOS Holo. SteamOS overwrites any packages installed by Pacman or using a Shell script outside of userspace on a major update.  
Homecoming Launcher (and more importantly the City of Heroes client) is not compiled for ARM. Wine will not run HCLauncher on an ARM system without a Software Emulator for X86 apps.  Single-Board Computers (Raspberry Pi and variants) will not run City of Heroes with Wine alone.


It is possible to do a leaner installation, however, that is going to require Terminal knowledge.  This list is assuming a user does not want to use a Terminal to enter commands in BASH nor edit configuration files for the setup.  Everything is GUI-based and accessible to non-technical users.
=== Chromebooks ===
As any Chromebook with an ARM chip is a non starter (see "ARM Linux" above this section), Chromebooks generally cannot run City of Heroes. The few exceptions out there either are discontinued models no longer supported, or cost more than a Windows Laptop which can run it far easier.


To Install HC Launcher on a Steam Deck:
== Paid Support ==
 
=== Codeweavers ===
# On the Steam Deck: press the STEAM button, Power, then "Exit to Desktop." You may need to enter your PIN.
The main sponsor of the Wine Project, [https://www.codeweavers.com/crossover/#linux Codeweavers], maintains a paid license of Crossover as a Prosumer Wine distribution offering tech support for useIt is important to note two things:
# At the Desktop, click on the "Discover" app. (It'll be in the toolbar on the bottom and resemble a blue shopping bag. Or press Start and type "Discover" to find it.)  On Discover's main screen use the search box in the upper right to find Lutris.  Install it.
#''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.
# Open Lutris. In Lutris, press + in the top left to add a Game.  Choose "Search the Lutris website for installers". Type in the Search Box "City of Heroes". Choose the entry dated 2004. You'll see four results: Homecoming 32-Bit, Homecoming 64-bit (both use Tequila), Homecoming Launcher, and another launcher not supported by Homecoming (Sweet Tea).  Use of the Homecoming Launcher is advised. Click Install next to it. 
#Crossover's main customer base is business-class users. (They will support gaming, but a lot of what Cedega did in the past to simplify gaming use is not built into the application.)
# This will take a moment for the Wizard to finish. Wait until the Homecoming Launcher reaches the install wizard after Wine is set up.  When asked for an Install directory, click OK to accept the default. ("Z:\Games\Homecoming")
# When completed, City of Heroes will appear in your Lutris launcher screen.  To add it to the Steam Deck Gaming Mode App Menu, right click and choose "Create Steam Shortcut". You can now close Lutris and head back to the Gaming Mode launcher.  Enter your PIN to return to the Home Screen if it is set.
# OPTIONAL: At this time, picking the Bluetooth peripherals you wish to use is a good idea.  (While technically you can use the On-Screen Keyboard and Controller Configuration to play, it is far easier to use a separate Bluetooth Keyboard and Mouse instead.) To add Bluetooth accessories, press STEAM and select Bluetooth.  Make sure Bluetooth is turned on. (Steam Decks in Gaming Mode have it off by default to conserve battery.)
# Press the STEAM button, choose Library.  Navigate to "Non-Steam" in the top row, find City of Heroes and press the Options button (next to Y, looks like a Hamburger Menu icon).  Select "Add to Favorites" to list the game in the Home Screen along other titles.
 
You should now see City of Heroes on the Gaming Mode home screen when ready to play.  The Start button should load the Homecoming Launcher. The end result is being able to start City of Heroes, patch it, and get playing without leaving Gaming Mode if you don't want to: In Gaming Mode the STEAM+Button combos for Keyboard and Screenshots, Options and Quick Access Menu buttons are fully functional even if some options don't apply to COH because it's not a Steam title.
 
=== Desktop vs. Gaming Mode ===
Gaming Mode has some limitations:
*Clicking on any buttons in HC Launcher that invoke a web browser (including logging into HC Launcher, or touching Forums or Discord Server links in the launcher) will fail while in Gaming Mode.  Use Desktop Mode to do any of that first if needed. 
*Gaming Mode will only operate the launcher to patch the client, and the game client itself, nothing else. 
**If you use Mods that run parallel with the game consider switching to Desktop Mode to use them instead.  Mods that only rely on the Game Client should work in Gaming Mode just fine without any other setup (once they work in Desktop Mode first.)
**Also, without Desktop Mode, you're limited to the Soundtrack features in Steam UI to listen to music other than the game, such as soundtracks bought in your Steam Library.
 
Gaming Mode is emphasized in the setup above to speed up getting started when powering on the device.  Whichever mode you prefer the same installation works on either.
 
=== Reconfiguring Post-Install ===
Changes to the HC Launcher on startup should be done on Desktop Mode by the Lutris Launcher. (Right click "City of Heroes", choose "Configure..."  Change the settings there.)  You can also highlight City of Heroes and click the Up Arrow next to the Wine Icon on the bottom to access tools such as Winetricks and Winecfg if you wish.  Anything that works in Desktop Mode without additional apps running simultaneously will work in Gaming Mode.
 
Changing Properties in Gaming Mode for City of Heroes may prevent your game from starting (such as changing the launcher path or arguments, don't change those.) YOU CAN rename the title here if you wish. "Homecoming" works if you use other servers and want to keep launcher shortcuts separate in Gaming Mode. However, this does not write-back to Lutris in Desktop Mode.  It'll still remain "City of Heroes" on there. (Lutris ID's games in the file system with a number shortcut in the order they were installed.  Name changes do not affect a launch either in Lutris or Steam.)
 
=== Using a Custom Wine library ===
You may wish to use GE-Proton (GloriousEggroll Proton) with your installation, which can be done by installing "ProtonUp-Qt" in the Discover app. Install it then follow these instructions:
# Run ProtonUp-Qt in the Gaming menu, then click "Add Version" to find a GE-Proton release in the "Wine-GE Library". (The numbering matches the major releases of Wine: GE-Proton 8.12 is Wine 8 equivalent, for example.) Click OK and let the app download the library. 
# Once installed, return to Lutris, right click "City of Heroes", choose "Configure" then click "Runner Options".  Change the Wine Version to use GE-Proton instead and Save.
# Restart the Steam Deck.
 
You can see that this worked the next time you run ProtonUp-Qt and double clicking the Library you want to check. Lutris games using the custom library will appear in the list.
 
'''Is there an advantage to this?'''
GE-Proton has several changes done by "GloriousEggroll" for a number of games.  Specifically it is made to add custom support for a list of games and general fixes for everything else.  (Homecoming is not one of those titles with custom fixes, therefore GE offers zero support when using it.) It is an option for users looking to tinker with details like "Fake FSR" output (which matters more for TV: COH does not output 640x400 to enable FSR to work) or turning on/off DXVK support per-game dynamically.  (Further info: [https://github.com/gloriouseggroll/proton-ge-custom GloriousEggroll Github Page])
 
=== Troubleshooting ===
;Game doesn't launch.  I press Start in Gaming Mode, the Steam logo appears then returns to the launcher.
:First, update your Steam Deck. (STEAM, Settings, System, then click "Check for Updates".) Then head to Desktop Mode, open Lutris and wait for any updates to finish. Also, if you use a custom Wine Library, launch ProtonUp-Qt and check for new versions of Proton/GEProton to possibly switch to. After the new library is downloaded, update the Lutris launcher configuration as well to point to the new library and restart the Steam Deck(This will need to occur periodically as Proton releases fall out of support and are removed in the SteamOS Holo image, but not GE-Proton, which is up to you to update in ProtonUp-Qt.  You may also want to delete old GE-Proton releases using the same tool as each release of Proton takes 1-2GB of space.)
 
;I like the Desktop better/use it more than Gaming Mode.  Can I just use a Desktop shortcut, or open Lutris?
:You may launch City of Heroes in Lutris at any time in Desktop Mode. If the game launches there, it'll launch in Gaming Mode. Gaming Mode is an overlay to the Desktop Apps that have shortcuts in the Steam Client, nothing more. Lutris can also add the game to the Application Menu (the main menu that opens when hitting the Meta button on the keyboard, or the Start button for Windows users) or the Desktop.  Just right-click the game in Lutris for those options.
 
;I can't get COH to start in Gaming Mode.  Works fine in Desktop.  What the heck?
:If it'll launch in Lutris and doesn't launch in Gaming Mode, go back to Lutris, then right click "City of Heroes" and "Remove Steam Shortcut."  Then right click and "Create Steam Shortcut".  This should erase and reapply changes to launch the game in Gaming Mode.  Repeat Step 10 above to put it back in the Home Screen.
 
:If this doesn't work, you may need to delete the game from both Lutris as well as Steam's Gaming Mode, then start over.  If you wish to try to recover the files, the Lutris default path is "/home/deck/games/" for all Wine Prefixes used on Steam Deck. (For example: /home/deck/games/1 or /home/deck/games/COH could be the location, depending if you accepted the defaults or not.)
 
;I can't find City of Heroes in Gaming Mode.
:Be sure in Lutris you right clicked "City of Heroes" and chose "Create Steam Shortcut" instead of "Create App Menu Shortcut" (which only affects Desktop Mode.)
 
;The Launcher shortcut is ugly, a grey box with the game title.
:This is normal. Setting the logos in Lutris doesn't copy to Steam 100%. It doesn't affect launching the game.
 
;HC Launcher doesn't fill the screen, then when launching the game, I see "LOADING" in a tiny rectangle.
:This is normal behavior in Gaming Mode.  HC Launcher at 100% scaling doesn't fill the 1280x800 display.  It is not advised to increase the launcher size as it'll hide UI choices if it runs off the edge of the display. (Mouse dragging does not move the window in Gaming Mode.)


== How It Works ==
== How It Works ==
{{hidden|Click to Read|bg1=brown|
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.
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.


Line 120: Line 67:
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.
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.


{{hidden|Primer - Linux Features and Gaming Standards|bg1=brown|
;WINE - Wine is Not an Emulator.
;WINE - Wine is Not an Emulator.
:The app compatibility layer that can be optionally installed on *nix systems (Linux, including Debian, Fedora, and FreeBSD variants, Android and MacOS under the Darwin project) to allow x32/x64 Windows apps to run at close-to-native execution. Wine includes libraries, system files, and enough of a Windows filesystem to fool most Windows apps into thinking they're running on Windows itself.
:The app compatibility layer that can be optionally installed on *nix systems (Linux, including Debian, Fedora, and FreeBSD variants, Android and MacOS under the Darwin project) to allow x32/x64 Windows apps to run at close-to-native execution. Wine includes libraries, system files, and enough of a Windows filesystem to fool most Windows apps into thinking they're running on Windows itself.
;Wine Prefix - Basic unit of Wine access.
:A Wine Prefix is a miniature file system of Windows.  The default one on your system is /home/YourUsernameHere/.wine and is made automatically the first time you run a Windows app or use Wine.  (The . in front of Wine means it is a hidden directory.  You can turn on "Show Hidden Files" in your file manager to see it.)  Inside the .wine folder is a similar directory structure to a Windows Hard Drive, with a Windows folder and essential DLLs inside, all the folders in Windows such as System32, Fonts, and other system resources, and a Program Files folder for installed apps that require one.  You can made additional Wine Prefixes, assuring your programs are isolated from each other (if an app fails in one prefix, the others are unfazed.)


;OpenGL & Vulkan - Graphics Libraries.
;OpenGL & Vulkan - Graphics Libraries.
Line 147: Line 96:
:A kernel module is a compiled piece of software that "hooks" between the Linux kernel itself and the hardware system calls. Kernel Modules can be compiled when a system updates a hardware driver OR Linux Kernel.  This causes the Kernel Module to recompile to handle the new instructions on either side.  The focus on Free Software and Open Source code means that when a problem is found with hardware the community has the ability to handle it on their own; when proprietary drivers are used issues with Linux are 100% up to the hardware manufacturer to solve. Proprietary driver improvements have had middling to low results for Linux users historically. (Intel and AMD have had a far better track record of open sourcing their firmware code; NVidia since 2012 is improving gradually.)
:A kernel module is a compiled piece of software that "hooks" between the Linux kernel itself and the hardware system calls. Kernel Modules can be compiled when a system updates a hardware driver OR Linux Kernel.  This causes the Kernel Module to recompile to handle the new instructions on either side.  The focus on Free Software and Open Source code means that when a problem is found with hardware the community has the ability to handle it on their own; when proprietary drivers are used issues with Linux are 100% up to the hardware manufacturer to solve. Proprietary driver improvements have had middling to low results for Linux users historically. (Intel and AMD have had a far better track record of open sourcing their firmware code; NVidia since 2012 is improving gradually.)
}}
}}
== Unsupported Linux Hardware ==
The following Linux systems will not have the resources to play City of Heroes.
=== ARM Linux ===
Homecoming Launcher (and more importantly the City of Heroes client) is not compiled for ARM.  Wine will not run HCLauncher on an ARM system without a Software Emulator for X86 apps.  Single-Board Computers (Raspberry Pi and variants) will not run City of Heroes with Wine alone.
This also applies to Chromebooks with ARM chips (Rockchip, Qualcomm, Exynos, Tegra, etc.)  A possible basis to start with would be QEMU, Box64, or a premade setup such as TwisterOS, but the broad swath of ARM systems available will not have sufficient hardware capability to expect useable performance to begin with.
=== Chromebooks ===
As any Chromebook with an ARM chip is a non starter (see "ARM Linux" above this section), Chromebooks generally cannor run City of Heroes for the following reasons.
*Chromebooks under $500 typically come with minimal storage (16-32GB) which makes it difficult to maintain sufficient free space even under Linux or Dual-Boot.
*Linux support is only present on newer devices: used Chromebooks without Crostini support cannot install any Linux apps, including Wine.  (Android App support is irrelevant.)
**This will add considerable weight to the Linux partition, which is a minimal Debian/Gnome installation.  You will need at least an additional 6GB free for libraries to support Wine such as missing X11 and Gnome components, as well as the game client, totalling 12GB minimum.
**The Linux partition (Crostini) is still using emulation to run under ChromeOS which is a Virtual Machine.  This will mean a considerable performance hit in game play.
*Chromebooks released after 2018 no longer permit a dual-boot or ChromeOS replacement scenario with Intel/AMD processor support to avoid virtualization.<ref>[https://mrchromebox.tech/#faq The MrChromebox website] advises not to use Chromebooks as a low-cost Linux device.  Starting with Intel Apollo Lake models (from 2016) and AMD Zen Chromebooks, firmware support is minimal and quirks vary by model.</ref>  Users seeking hardware to play Homecoming: City of Heroes for under $400 are better served with Windows laptops at that price range.
== Paid Support ==
=== Codeweavers ===
The main sponsor of the Wine Project, [https://www.codeweavers.com/crossover/#linux Codeweavers], maintains a paid license of Crossover as a Prosumer Wine distribution offering tech support for use.  It is important to note two things:
#''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.
#Crossover's main customer base is business-class users.  (They will support gaming, but a lot of what Cedega did in the past to simplify gaming use is not built into the application.)


== External Links ==
== External Links ==
* [https://forums.homecomingservers.com/topic/23284-homecoming-launcher-linux-advice/ Linux Advice] - Using Homecoming Launcher in Linux.  
* [https://forums.homecomingservers.com/topic/23284-homecoming-launcher-linux-advice/ Linux Advice] - Written in 2020, most distributions listed here are outdated. Also, Lutris is not necessary to run the title at all.
* [http://appdb.winehq.org/objectManager.php?sClass=version&iId=2980 City of Heroes/City of Villains] entry in the WINE application database.
* [http://appdb.winehq.org/objectManager.php?sClass=version&iId=2980 City of Heroes/City of Villains] entry in the WINE application database.
* [http://winehq.com/ WINE], the underlying technology that allows Windows programs to run on Linux
* [http://winehq.com/ WINE], the underlying technology that allows Windows programs to run on Linux

Latest revision as of 16:31, 18 January 2024

See also: City of Heroes on Mac and City of Heroes on Steam Deck
Editor's Note:

Homecoming Developers do not support any client bugs on Linux. If an issue cannot be reproduced in a Windows client, Linux specific bugs will be given a form response and closed without resolution. Please use the Homecoming Forums for Linux client support from other users.

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.

Instructions (Homecoming Launcher)

If you can only see Desktop, Images, Documents and similar folders in your home folder, make sure "Show hidden files" is checked in your File Manager first. ".wine" should appear normally.
NVidia users: higher numbers will support newer features, lower and older numbers are more stable if the higher numbered ones have problems. Don't use server drivers or "Nouveau", they won't allow City of Heroes to launch.

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.

Using a Steam Deck? An install script is available on City of Heroes on Steam Deck.

  • Install Wine Stable using this download page -- https://wiki.winehq.org/Download
  • 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.
  • Run the Homecoming Installer. Choosing a location on drive C will try to install Homecoming in ~/.wine (eg C:\Games\Homecoming -> ~/.wine/drive_c/Games/Homecoming); Z: is the root Linux drive (so Z:\Games\Homecoming would correspond to /Games/Homecoming; an ordinary user account would not have permission to create this directory).

It is also important to note this procedure is sufficient for a single-user Linux system alone. For a multiuser system, either you need to repeat the procedure for each user (and sufficient disk space is required: 6-12GB per user), or configure permissions to allow multiple users access to the same WinePrefix.

System Requirements

As a generality, if a system would not be able to play City of Heroes using Windows because of the hardware in use there's a good chance Linux won't work either.

  • 1 GHz Dual Core processor (AMD/Intel 32 or 64 bit),
  • 2GB of RAM,
  • a video card or integrated graphics support capable of OpenGL 2.0/3.0,
  • 6-12GB free hard drive space.

Most systems made since 2018 should more than meet these requirements. The biggest factor is video support; in most cases performance will be either equivalent to, or have a slight performance increase (around 10%-20%) over Windows due to less overhead processes present in the OS. This varies due to the distribution used, graphics driver installed, and power consumption setting (such as a laptop on a battery, or any 'Eco mode' settings used.)

Support Lifeline

Linux has one key difference over Windows for support: When NVidia, AMD, or Intel drop Linux driver support for a video card and the kernel fails to compile with the legacy driver in-place, you can no longer play City of Heroes on that system. There is no specific date when this support ends; it will not be announced publicly when a software upgrade fails. The day that the video driver fails to recompile kernel modules for your current OS is when you need to decide. Possible fixes include:

  • Run COH on an older OS (that still receives updates) so older drivers continue to compile normally,
  • Upgrade your hardware, or
  • Set up your system to dual-boot (or wipe and restore) Windows to continue play.

Unsupported Linux Hardware

The following Linux systems will not have the resources to play City of Heroes.

ARM Linux

Homecoming Launcher (and more importantly the City of Heroes client) is not compiled for ARM. Wine will not run HCLauncher on an ARM system without a Software Emulator for X86 apps. Single-Board Computers (Raspberry Pi and variants) will not run City of Heroes with Wine alone.

Chromebooks

As any Chromebook with an ARM chip is a non starter (see "ARM Linux" above this section), Chromebooks generally cannot run City of Heroes. The few exceptions out there either are discontinued models no longer supported, or cost more than a Windows Laptop which can run it far easier.

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 in the past to simplify gaming use is not built into the application.)

How It Works

External Links