-
-
Notifications
You must be signed in to change notification settings - Fork 487
Environment Variables
- Introduction
- umu
- External Documentation
- %command%
- Commonly Used Environment Variables
- How to Set Environment Variables
In short, environment variables are a way to pass settings to a game on launch. Environment variables can tell the Proton runner to output a verbose log which can then allow the user to debug the game. Environment variables can also tell Proton to use different DLLs, either those bundled with Proton or those bundled with the game in the game's installed directory.
Do note many guides online will include tutorials on how to set environment variables in Steam. If you are using the Heroic Games Launcher, do not set environment variables in Steam. Instead set these variables directly in the Heroic Games Launcher. This page will cover how to do so. In addition, many guides will include %command%
, this bit is specifically for Steam. It does not apply to Heroic. Do not add `%command% to environment variables you set in the Heroic Games Launcher.
Another important thing to keep in mind is that many guides can be frivolous with setting environment variables. These can be seen as a "magic bullet" to fix a game but in some cases, these environment variables can be unnecessary which can either not fix the game at all or mask the actual issue at hand.
Typically the most common use-case for an environment variable is debugging. In these cases, you will set an environment variable that prints out a verbose log which can allow you to further investigate the issue at hand. After you have resolved the issue, you can disable the environment variable.
umu is a tool that allows the Steam runtime to work outside of Steam. It should be used in conjunction with Proton-GE.
If an environment variable successfully fixes a game, it can be upstreamed to the umu database and the umu protonfixes repository. Once these fixes are upstreamed, the fixes are automatically applied to your game. In these cases, the environment variable will be handled by umu entirely and do not need to be handled by the user.
You can view the umu database to see the list of fixes currently being applied when using umu.
The umu database and proton-fixes repository are user-driven. If you have discovered a fix, create both a database entry and proton-fixes entry for your game. Once these are approved and merged, these fixes are applied to the game automatically for any user who installs the game.
- DXVK Debug Variables
- Wine Debug Variables
- Wine DLL Overrides
- Wine Environment Variables
- Proton Environment Variables
- VKD3D Environment Variables
As noted in the introduction, %command% is **specifically for Steam**. **Do not** use
%command%` when setting environment variables in the Heroic Games Launcher.
-
WINEDEBUG=+fixme
- Outputs verbose logging information.
-
WINEDLLOVERRIDE="DLLNAME=n,b"
- The
n
andb
stand fornative
andbuilt-in
. This environment variable tells Proton to first check for any DLLs in the game's directory. If this fails or if it cannot find a DLL, it falls back to the DLL bundled with Proton. - For more information, see Wine Environment Variables
- The
- Open the Heroic Games Launcher.
- Select a game and open the game's page.
- In the top right, click the
Settings
button. -
- Click the
Advanced
tab and scroll down to theEnvironment Variables
section. -
- Set your environment variable(s), this example will use
WINEDEBUG=+fixme
as an example: -
- Click the green
+
icon to save the environment variable(s). -
- Your environment variable(s) will now be applied to this game in specific.
If you are using WINEDEBUG=+fixme
or any debug variables, follow the below steps to locate the verbose log:
- Launch the game so it produces a new verbose log. After you have launched the game (even if it crashes), close out of it and open the Heroic Games Launcher.
- Open the game's page, click
Report a problem running this game
. -
- Either click
SHOW LOG FILE IN FOLDER
orUPLOAD LOG FILE
, the first will open the directory of the log, the latter will upload the log to a website that you can then share with someone if you are receiving support. - Once you have investigated the log, you can remove the environment variable by returning to the
Advanced
tab in the game's settings and clicking the-
button. -
If you have not debugged a log before, typically locating error messages or repeating messages and using a search engine of your choice is a good way to begin. If you are still struggling to debug your log, join the Heroic Games Launcher Discord and create a support post with your log attached.
- Home
- Troubleshooting
- Getting Started with Heroic
- Platforms
- Game Fixes
- Contributing
- Custom Themes
- Trivia