City of Heroes on Steam Deck
You can take the following steps instead of following City of Heroes on Linux instructions to install Homecoming: City of Heroes on your Steam Deck.
Contents
Install Script
Assembled by HC Developer Faultline, just run one command in a Terminal window:
bash <(curl -s https://raw.githubusercontent.com/FaultlineHC/LinuxHC/main/hc-install.sh)
Once installed, right click on the Desktop Shortcut and pick "Add to Steam" to make the launcher available in Gaming Mode.
Alternate Method
Conventions Made
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.
Everything is GUI-based and accessible to non-technical users.
Instructions
To Install HC Launcher on a Steam Deck:
- On the Steam Deck: press the STEAM button, Power, then "Exit to Desktop." You may need to enter your PIN.
- 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.
- 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.
- 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.
Additional Help
In-Game Adjustments
You may need to reconsider things as the 1280x800 Low DPI viewport is going to make UI components a bit cramped by today's High Definition display standards. After logging in, open the Menu, click on Options, then in the Windows tab, set the following:
- In "User Interface" up top, disabling Automatic UI Scale and adjust the UI Scale down manually to make more room for trays and windows you need to see.
- In "Chat", change the Chat Font Size to something that is visible, yet allows you to see enough text to read a message. Also resize the Chat window to fit the new font size as needed.
- Finally, arrange your UI how you like it (including all of the pop-up windows from the Nav, Chat and Power trays, which may need consideration) then:
- At the bottom section "Windows Setting File", click "Save to Default File". (You can do the same with Chat, but that saves Global Channels and Tab setup, not Window positions.)
- In chat, create a macro to restore your saved defaults on your toons. Copy and paste the following into Chat:
/Macro Fix "optionload$$wdwload"
- When loading the game, if positions are messed up, click the "Fix" button to restore defaults. Move it into a clear position on your power bar to help with subsequent loads. Paste the above line into any of your alts for the same button to follow each character you play.
You may wish to repeat these steps for your Desktop or Laptop to restore your UI there as well. City of Heroes saves window positions on the server after every session, regardless of where you log on. If you don't prefer Gaming Mode and use the Steam Deck docked in Desktop Mode to play City of Heroes this may take a different approach to suit the docked display you are using. The client can only save one default file of settings for configuration, however.
Certain windows will not obey default positions, such as Inspirations and the Macro window (if you use it.) These are long-standing bugs, and the Fix button can put them back when needed.
Desktop vs. Gaming Mode
The end result is being able to start City of Heroes, patch it, and get playing without leaving Gaming Mode. All of 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.
Gaming Mode does have 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 natively output 640x400 to enable FSR to work in Gaming Mode) or turning on/off DXVK support per-game dynamically. (Further info: GloriousEggroll Github Page)
Troubleshooting
- I can't get to HC Launcher. I press Start in Gaming Mode, the Steam logo appears then returns to the same screen. Nothing happens.
- 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. Open "Discover" and check that those updates are complete (last option on the bottom left, click there, then "Update All" at the top-right.)
- 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.)
- If the game still won't launch, try it in Desktop Mode to see if there is a larger issue at hand. (Keep reading.)
- 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 7 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 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. You don't need to open Lutris every time you want to launch the game, it'll run in the background with those shortcuts then close when you're through.
- 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" or "Create Desktop Shortcut" (which only affects Desktop Mode, neither will show up in Steam.)
- The Launcher shortcut is ugly, a grey box with the game title. What gives?
- 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 when opened. Weird stuff happens-- The settings window doesn't have a title bar or close button, 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.)