From 5e2cf117ce06104da0a582414a27ec0594a02b51 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 42ea687a..32f9d7a1 100755 --- a/proton +++ b/proton @@ -1058,6 +1058,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"]