diff --git a/README.md b/README.md
index 05414c6c..490ba8fe 100644
--- a/README.md
+++ b/README.md
@@ -277,6 +277,7 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| noxim | PROTON_NO_XIM | Enabled by default. Do not attempt to use XIM (X Input Methods) support. XIM support is known to cause crashes with libx11 older than version 1.7. |
| nativevulkanloader | | Use the Vulkan loader shipped with the game instead of Proton's built-in Vulkan loader. This breaks VR support, but is required by a few games. |
| forcelgadd | PROTON_FORCE_LARGE_ADDRESS_AWARE | Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. |
+| heapdelayfree| PROTON_HEAP_DELAY_FREE| Delay freeing some memory, to work around application use-after-free bugs. |
| gamedrive | PROTON_SET_GAME_DRIVE | Create an S: drive which points to the Steam Library which contains the game. |
| noforcelgadd | | Disable forcelgadd. If both this and `forcelgadd` are set, enabled wins. |
| oldglstr | PROTON_OLD_GL_STRING | Set some driver overrides to limit the length of the GL extension string, for old games that crash on very long extension strings. |
diff --git a/proton b/proton
index 67f7ac72..0084a547 100755
--- a/proton
+++ b/proton
@@ -730,6 +730,7 @@ class Session:
self.check_environment("PROTON_HIDE_NVIDIA_GPU", "hidenvgpu")
self.check_environment("PROTON_SET_GAME_DRIVE", "gamedrive")
self.check_environment("PROTON_NO_XIM", "noxim")
+ self.check_environment("PROTON_HEAP_DELAY_FREE", "heapdelayfree")
if "noesync" in self.compat_config:
self.env.pop("WINEESYNC", "")
@@ -756,6 +757,9 @@ class Session:
if "forcelgadd" in self.compat_config:
self.env["WINE_LARGE_ADDRESS_AWARE"] = "1"
+ if "heapdelayfree" in self.compat_config:
+ self.env["WINE_HEAP_DELAY_FREE"] = "1"
+
if "vkd3dbindlesstb" in self.compat_config:
append_to_env_str(self.env, "VKD3D_CONFIG", "force_bindless_texel_buffer", ",")