- Credit: KWAGGA on Discord (KWAGGA#7048)
- Adaptation: Medstar on Discord (Medstar#1550)
This guide provides information on how to get the later C&C games to work with a fairly recent version of Proton without encountering desyncs.
Until recently, Linux players were limited to Proton-tkg 5.14.r0.gb71d588d--a 2 year old release that doesn't perform near as well as the 7+ series releases of Proton. The limitation to this version was due to online multiplayer desyncs occurring on newer versions of Proton--the reason being unknown at the time.
The original assumption of the desyncs was due to either the implementation of newer XACT frameworks, FAudio (a better XAudio2 implementation), or a combination of the two. This is now verified to be incorrect.
Throughout the testing of over 30+ Proton releases, as well as numerous custom builds/projects, KWAGGA discovered the root cause to be none other than the newer Microsoft VCRuntime versions used in the newer Proton releases. In the newer VCRuntime releaes, Microsoft drastically changed the included math libraries, resulting in calculations that would not match up on users' ends while in a game, resulting in a desync (since the math calculations on each client would not match up).
This guide is split into two parts:
- Part 1, which will cover how to set up your system using one of two methods
- Part 2, which will cover how to enable online play with C&C:Online (and include Masterleaf's 1.02+ [R19F] map packs.
This method revolves around installing a pre-configured and Proton-ified Wine TKG 7.6-R12 release that already has the required fixes pre-enabled (one of them being Virtual Desktop Mode, which allows Alt-Tabbing without crashes).
-
Exit Steam (completely shut it down).
-
Download the .zip of the pre-configured Proton release either here or at this mirror. MD5 Checksum: fbb643566d1d6d369abcba1de6275d97
-
Extract the folder's contents, then copy the "proton_tkg_7.6.r12.g51472395.release" folder to your .steam/root/compatibilitytools.d/ directory.
-
If you have previously set up and ran your game, you must back up your game's profiles and remove the existing Proton-Wine compatibility folder from your game's directory. As an example, Kane's Wrath will be used.
- Navigate to where your Steam Library is located (where your games get installed at).
- Follow the path/folders to /steamapps/compatdata/. Inside copmpdata, you will see numerous folders containing the Proton-Wine profiles created for each Steam Play Proton title.
- Each Steam Play Proton title is denoted by their respectful Steam AppID. In our case for Kane's Wrath, find the folder titled "24810".
-
For Kane's Wrath, open the "24810" folder and navigate to /24810/pfx/drive_c/users/steamuser/AppData/Roaming/
-
After backing up your data, go back to the main "compatdata" folder and delete the "24810" folder. This will erase the entire Steam Play profile for the game.
-
Restart Steam and navigate to your Games Library. Select the C&C title you wish to play and open its properties.
-
Start your game like normal. You now have the following options:
- Create a new profile inside the game
- Close the game and go into the newly created compatdata profile (remember the "24810" folder you deleted? Yeah, it's back now) and replace the /24810/pfx/drive_c/users/steamuser/AppData/Roaming/Command & Conquer 3 Kane's Wrath with the one you backed up in step 5.
-
If you followed the second option in step 8, relaunch your game and test everything in Single Player/Skirmish.
-
You are now ready to for Part 2: How to Install the Revora Kanes Wrath Online play Files and [R19] Mappacks.
This method is for more advanced users who want to configure things themselves. It revolves around using Steam's stable Proton version (7.0-4 at the time of writing this).
-
Exit Steam (completely shut it down).
-
If you have previously set up and ran your game, you must back up your game's profiles and remove the existing Proton-Wine compatibility folder from your game's directory. As an example, Kane's Wrath will be used.
- Navigate to where your Steam Library is located (where your games get installed at).
- Follow the path/folders to /steamapps/compatdata/. Inside copmpdata, you will see numerous folders containing the Proton-Wine profiles created for each Steam Play Proton title.
- Each Steam Play Proton title is denoted by their respectful Steam AppID. In our case for Kane's Wrath, find the folder titled "24810".
-
For Kane's Wrath, open the "24810" folder and navigate to /24810/pfx/drive_c/users/steamuser/AppData/Roaming/
-
After backing up your data, go back to the main "compatdata" folder and delete the "24810" folder. This will erase the entire Steam Play profile for the game.
-
Restart Steam and navigate to your Games Library. Select the C&C title you wish to play and open its properties.
-
Start your game like normal. You now have the following options:
- Create a new profile inside the game
- Close the game and go into the newly created compatdata profile (remember the "24810" folder you deleted? Yeah, it's back now) and replace the /24810/pfx/drive_c/users/steamuser/AppData/Roaming/Command & Conquer 3 Kane's Wrath with the one you backed up in step 3.
-
If you followed the second option in step 6, relaunch your game and test everything in Single Player/Skirmish.
-
Now completely close your game out. We will now need to install "Protontricks"--"a wrapper that does winetricks things for Proton enabled games".
- Use your preferred package management tool for your Linux distribution and install the latest version of Protontricks.
- For Manjaro users, the following command will accomplish this task: pamac install protontricks
-
Launch Protontricks using one of two ways:
- From the terminal using the following command: protontricks --gui
- From your applications menu.
-
In Protontricks's GUI, select your game's Proton profile. For Kane's Wrath, this is 24810.
-
After selecting Kane's Wrath, we will need to first enable Virtual Desktop mode using Winecfg.
-
If Winecfg fails to load, use the following command to work around the "invoke" issue that occurs with some desktop managers:
- protontricks --no-bwrap 24810 --gui
- 24810 refers to Kanes Wrath Steam AppID, just like its Wine Proton prefix folder
-
Select the "Graphics" tab, then do the following:
-
We now need to install the required Microsoft VCRuntimes. To do this, select the "Install a Windows DLL or component" option.
-
Select the following components:
- vcrun2005
- vcrun2008
- vcrun2010
- vcrun2012
- vcrun2013
- vcrun2019
-
Wait while Winetricks downloads them, then install each one. Since Virtual Desktop mode is now enabled, each installer will now correctly prompt for confirmation as if you were running it on Windows.
-
Once returned to the componet selection screen, you can now verify all VCRuntime installations by selecting the "Run uninstaller" option and making sure all mentioned packages show up.
-
If all appear as in the above images, close the uninstaller. Winetricks will now automatically enable any DLL overrides neecessary for everything to work.
-
You are now ready to for Part 2: How to Install the Revora Kanes Wrath Online play Files and [R19] Mappacks.
-
If you do not already have an existing Revora/C&C:Online account and registered a profile, you must head over to C&C:Online's website and do so.
-
DO NOT download the Revora/C&C:Online client. It does not currently work on Linux systems. You will need a special setup file available from one of the Tech Support admins. DM or mention Cervanthes#3136 and he will hook you up with the files (a better method of distribution is in development).
- Cervanthes will ask for your Revora/C&C:Online account details as to verify that you have been activated.
- Once done, we will continue to the setup process to enable online play and lobby matchmaking.
-
After downloading the installers from Cervanthes, select the one related to your current game. Again, we are working with Kane's Wrath, we want to run the KWEnabler.exe file.
-
To install "Protontricks"--"a wrapper that does winetricks things for Proton enabled games".
- Use your preferred package management tool for your Linux distribution and install the latest version of Protontricks.
- For Manjaro users, the following command will accomplish this task: pamac install protontricks
-
If you do not have the Right Click > Open options for Protontricks, you can launch Protontricks using one of two ways:
- From the terminal using the following command: protontricks --gui
- From your applications menu.
-
In Protontricks's GUI, select your game's Proton profile. For Kane's Wrath, this is 24810.
-
Select the Default Prefix and then "Run Explorer". This will launch a Windows-like explorer which we can use to navigate and to execute the installer files mentioned above.
-
To install the KWEnabler.exe file (again, Kane's Wrath is the game we're focusing on), double click the executable and proceed through the installation process.
-
You are now ready for online play. However, we still have the old vanilla maps for the game, as well as the game-breaking bugs that come with them (like the quad turrets).
- A user by the name of Masterleaf has spent hundreds of hours creating an excellent set of map packs which include maps that fix these bugs!
- It is highly recommended to install these maps, as it also fixes the general AI desyncs, which allow for play against non-Scrin factions!
-
Start by checking for any new pinned map packs by Masterleaf in the C&C:Online Discord server.
- The current R19 release can be downloaded from here.
- Use the same steps as above to run each one's installer to install the map packs.
- Examples:
-
You are now prepped and ready to play online! Welcome back, Commander.