diff --git a/README.md b/README.md
index a5c618f9..6157fea9 100644
--- a/README.md
+++ b/README.md
@@ -212,5 +212,6 @@ the Wine prefix. Removing the option will revert to the previous behavior.
| nod3d10 | PROTON_NO_D3D10 | Disable d3d10.dll and dxgi.dll, for d3d10 games which can fall back to and run better with d3d9. |
| noesync | PROTON_NO_ESYNC | Do not use eventfd-based in-process synchronization primitives. |
| forcelgadd | PROTON_FORCE_LARGE_ADDRESS_AWARE | Force Wine to enable the LARGE_ADDRESS_AWARE flag for all executables. |
+| 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 ea67fcaf..00fe94ea 100755
--- a/proton
+++ b/proton
@@ -222,10 +222,17 @@ check_environment("PROTON_NO_D3D11", "nod3d11")
check_environment("PROTON_NO_D3D10", "nod3d10")
check_environment("PROTON_NO_ESYNC", "noesync")
check_environment("PROTON_FORCE_LARGE_ADDRESS_AWARE", "forcelgadd")
+check_environment("PROTON_OLD_GL_STRING", "oldglstr")
if not "noesync" in config_opts:
env["WINEESYNC"] = "1"
+if "oldglstr" in config_opts:
+ #mesa override
+ env["MESA_EXTENSION_MAX_YEAR"] = "2003"
+ #nvidia override
+ env["__GL_ExtensionStringVersion"] = "17700"
+
if "forcelgadd" in config_opts:
#forcelgadd should be used just for testing whether a game is helped by
#setting LARGE_ADDRESS_AWARE. If it does, then add an AppDefault in the