✦ Troubleshooting playbook

r2modman Linux Proton: force Proton and load mods

Fix r2modman Linux Proton detection when games are treated as native: .forceproton marker, the App ID config file, Flatpak launch flags, and a manual fallback.

TroubleshootingFor: Linux and Steam Deck players running Proton games whose modded launch fails.Updated September 13, 2026
01

How r2modman decides native versus Proton

On Linux, r2modman Linux Proton failures usually trace back to platform detection rather than to your mods. The manager reads a game's Steam configuration to decide whether the game runs natively or through Proton, and it defaults to assuming a native launch. As of January 2023 there is a known bug where games that rely on Proton are treated as native Linux games, which makes the manager give invalid usage instructions and then fail to launch the game with mods enabled. It is tracked as issues #950 and #952 in the project repository.

  • The manager defaults to assuming a native Linux launch.
  • Known Proton misdetection is tracked as issues #950 and #952.
  • Symptoms: invalid instructions plus a failed modded launch.
02

Force Proton with an empty .forceproton file

The simplest workaround is a marker file the manager looks for. Create an empty file named .forceproton at the root of the game's install directory, which is the folder Steam opens through Manage and Browse local files. The file has no contents at all; its presence is the entire signal. This is enough to fix most Proton games, and it is easy to reverse, because deleting the file returns the manager to its previous behaviour. Keep it in the game install directory rather than the profile folder or the Proton prefix, since that is the location the manager inspects.

  • Create an empty file named .forceproton.
  • Place it at the root of the game install directory.
  • Delete the file to undo the workaround.
03

Or correct the game's Steam configuration file

A more permanent option is to fix the configuration the manager reads. Find the game's Steam App ID on SteamDB, then open ~/.steam/steam/steamapps/appmanifest_<APP_ID>.acf, for example appmanifest_632360.acf for Risk of Rain 2. Inside the UserConfig section, add platform_override_dest set to linux and platform_override_source set to windows, leaving any existing language line alone. Change nothing else in the file so Steam can still read it, keep the syntax free of stray commas and extra braces, then restart the manager so it re-reads the configuration. Keep a note of the original lines in case you later need to undo the change. This is a one-time fix per game.

"UserConfig"
{
 "language" "english"
 "platform_override_dest" "linux"
 "platform_override_source" "windows"
}
  • Find the game's Steam App ID, for example 632360 for Risk of Rain 2.
  • Edit appmanifest_<APP_ID>.acf inside steamapps.
  • Add both platform override lines, then restart the manager.
04

Steam installed as a Flatpak

When Steam itself is installed as a Flatpak, the manager is launched through Steam rather than directly. Download the AppImage, add it to your Steam library with Add a Game and then Add a Non-Steam Game, and set its launch options to the two flags below. The no-sandbox flag is necessary because of current AppArmor issues with Electron applications. Add the blank .forceproton file to the game's data folder, then open the manager and set both the game path and the Steam path, which will resemble a steamapps/common folder inside the Flatpak data directory.

--appimage-extract-and-run --no-sandbox
  • Add the AppImage to Steam as a non-Steam game.
  • Use both launch flags on that entry.
  • Set the game path and the Steam path in the manager afterwards.
05

Confirm the modded launch in Desktop Mode

After applying a workaround, verify the whole chain rather than just the manager window. Switch the Steam Deck to Desktop Mode, open the manager, confirm the game path and the Steam path, and start a profile that contains only the community-required loader. Use Start modded and check that the game reaches its main menu with loader output present. Testing in Desktop Mode keeps file managers, logs, and terminal output visible, while Game Mode hides exactly the information you need during a Proton detection problem. If the loader starts here, any remaining fault is in how Steam launches the game.

  • Verify the game path and Steam path before launching.
  • Start with a loader-only profile.
  • Diagnose in Desktop Mode, then return to Game Mode.
06

Fall back to a manual profile copy

When detection cannot be corrected for a particular game, a manual approach works and is documented for Steam Deck. In Desktop Mode, install your mods normally, then open Settings → Directories → Data and profile folders and press Browse on the Profile folder row. Force the Windows version of the game through Proton in Steam's compatibility settings, open the game directory, and copy the profile's contents into it. Then set the launch option below in the game's properties. Launching from Steam afterwards loads the mods without the manager being involved at all, which is why this route is a common recommendation on handhelds.

WINEDLLOVERRIDES="winhttp.dll=n,b" %command%
  • Press Browse on the Profile folder row in Settings → Directories, then copy its contents into the game directory.
  • Force the Windows build through Proton in Steam's compatibility settings.
  • Add the launch option to the game's properties.
07

Know the limits of the manual approach

The manual copy solves launching, but it moves the workflow out of the manager. r2modman does not work in Game Mode, so every mod update means switching back to Desktop Mode, opening the manager, downloading updates, and copying the profile's plugin folder into the game directory again. Because the game directory now contains files the manager did not place, a later managed launch can behave unpredictably, and you lose the profile separation that makes troubleshooting straightforward. Use this route deliberately, note which files you copied, and re-verify the loader after each game update.

  • Updates require returning to Desktop Mode and copying again.
  • The manager no longer owns the files in the game directory.
  • Re-verify the loader after every game update.
✦ Frequently asked questions

Common questions, answered directly.

Why does r2modman treat my Proton game as a native Linux game?

The manager reads a game-specific Steam configuration file to decide how the game launches, and it defaults to assuming a native launch. A known bug tracked as issues #950 and #952 causes Proton games to be misdetected, which produces invalid instructions and a failed modded launch.

Does adding .forceproton break anything?

It is an empty marker file, so it changes nothing about the game itself. It only tells the manager to treat the installation as a Proton game. Remove the file if you later switch to a native build or want the manager to return to its default detection behaviour.

Do I need Proton if the game has a native Linux build?

No. The workarounds here are for games you actually run through Proton. Adding the marker to a game you run natively creates the same class of mismatch in the opposite direction, and the manager cannot load native and Windows builds interchangeably.

Does r2modman work in Game Mode on a Steam Deck?

The manager itself does not work in Game Mode, so mod management and updates happen in Desktop Mode. With the manual copy method, expect to return to Desktop Mode for every update and to copy the profile into the game directory again before launching the game in either Desktop or Game Mode.

What is the launch option for a manual install?

Set WINEDLLOVERRIDES="winhttp.dll=n,b" %command% in the game's Steam launch options after copying the profile into the game directory. Without that override the loader DLL is never loaded by Proton, and the game starts unmodded even though every file is present in the folder.

Work the checks in order and stop at the first one that changes the symptom. That step is the cause; the checks after it only matter if the symptom survives.

Next: change one thing at a time, relaunch after each change from Start modded, and keep the copy of the working setup you made before you started.