diff --git a/README.md b/README.md
index 25acd107..e1919f4d 100644
--- a/README.md
+++ b/README.md
@@ -275,6 +275,7 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| forcelgadd | PROTON_FORCE_LARGE_ADDRESS_AWARE | Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. Enabled by default. |
| 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. |
+| vkd3dfl12 | | Force the Direct3D 12 feature level to 12, regardless of driver support. |
| | WINE_FULLSCREEN_INTEGER_SCALING | Enable integer scaling mode, to give sharp pixels when upscaling. |
| cmdlineappend:| | Append the string after the colon as an argument to the game command. May be specified more than once. Escape commas and backslashes with a backslash. |
| d9vk | PROTON_USE_D9VK | **Note: Obsoleted in Proton 5.0.** In older versions, use Vulkan-based DXVK instead of OpenGL-based wined3d for d3d9. |
diff --git a/proton b/proton
index f2a2ab14..14c83d27 100755
--- a/proton
+++ b/proton
@@ -523,6 +523,10 @@ class Session:
if "forcelgadd" in self.compat_config:
self.env["WINE_LARGE_ADDRESS_AWARE"] = "1"
+ if "vkd3dfl12" in self.compat_config:
+ if not "VKD3D_FEATURE_LEVEL" in self.env:
+ self.env["VKD3D_FEATURE_LEVEL"] = "12_0"
+
if "SteamGameId" in self.env:
if self.env["WINEDEBUG"] != "-all":
lfile_path = os.environ["HOME"] + "/steam-" + os.environ["SteamGameId"] + ".log"