From cc9c109bf6f606e00aa732607f65b523de5b21c0 Mon Sep 17 00:00:00 2001 From: Arkadiusz Hiler Date: Tue, 5 Oct 2021 17:37:22 +0300 Subject: [PATCH] proton: Add usenativexinput13 compat config option. Various games using KT Engine like recent WRC and TT Isle of Man, when run in a win10 prefix, try to load UWP/xinput1_3.dll that ships with the games. It seems to be mostly-compatible xinput implementation built on top of windows.gaming.input.dll. However if we try to replace it with the builtin the game crashes because it tries to call entry points that are not available in the original xinput (that's the "mostly-compatible" part), so we need this override. Since our windows.gaming.input.dll implementation is just a stub controllers other than steering wheels (which are handled through dinput) do not work. --- proton | 3 +++ 1 file changed, 3 insertions(+) diff --git a/proton b/proton index 8f58684e..c0a101fb 100755 --- a/proton +++ b/proton @@ -1047,6 +1047,9 @@ class Session: if "hidenvgpu" in self.compat_config: self.env["WINE_HIDE_NVIDIA_GPU"] = "1" + if "usenativexinput13" in self.compat_config: + self.dlloverrides["xinput1_3"] = "n" + if "PROTON_CRASH_REPORT_DIR" in self.env: self.env["WINE_CRASH_REPORT_DIR"] = self.env["PROTON_CRASH_REPORT_DIR"]