From ad35af81e99b00b8f3d7db74b4bb4693104246f8 Mon Sep 17 00:00:00 2001 From: Andrew Eikum Date: Mon, 21 Jan 2019 13:23:57 -0600 Subject: [PATCH] proton: Add runtime variable to limit GL extension string length --- README.md | 1 + proton | 7 +++++++ 2 files changed, 8 insertions(+) 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