diff --git a/proton b/proton index 3cb2a8ad..6f383429 100755 --- a/proton +++ b/proton @@ -1398,6 +1398,11 @@ class Session: return subprocess.call(args, env=local_env, stderr=self.log_file, stdout=self.log_file) def run(self): + if shutil.which('steam-runtime-launcher-interface-0') is not None: + adverb = ['steam-runtime-launcher-interface-0', 'proton'] + else: + adverb = [] + if "PROTON_DUMP_DEBUG_COMMANDS" in self.env and nonzero(self.env["PROTON_DUMP_DEBUG_COMMANDS"]): try: self.dump_dbg_scripts() @@ -1415,9 +1420,11 @@ class Session: # CoD: Black Ops 3 workaround if os.environ.get("SteamGameId", 0) == "311210": - rc = self.run_proc([g_proton.wine_bin, "c:\\Program Files (x86)\\Steam\\steam.exe"] + sys.argv[2:] + self.cmdlineappend) + argv = [g_proton.wine_bin, "c:\\Program Files (x86)\\Steam\\steam.exe"] else: - rc = self.run_proc([g_proton.wine64_bin, "c:\\windows\\system32\\steam.exe"] + sys.argv[2:] + self.cmdlineappend) + argv = [g_proton.wine64_bin, "c:\\windows\\system32\\steam.exe"] + + rc = self.run_proc(adverb + argv + sys.argv[2:] + self.cmdlineappend) if remote_debug_proc: remote_debug_proc.kill()