From bdaaa53c33e9398567e8e7bfdd69a2147b2bf984 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Lidwin?= Date: Wed, 8 Jan 2025 00:48:37 +0100 Subject: [PATCH 1/3] fix(gog): make sure game directory is mounted in container --- src/backend/storeManagers/gog/setup.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/backend/storeManagers/gog/setup.ts b/src/backend/storeManagers/gog/setup.ts index 51cac97907..9e4f6fe0c7 100644 --- a/src/backend/storeManagers/gog/setup.ts +++ b/src/backend/storeManagers/gog/setup.ts @@ -207,6 +207,7 @@ async function setup( gameSettings, wait: false, protonVerb: 'run', + installFolderName: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, startFolder: path.join( gogSupportPath, @@ -269,8 +270,9 @@ async function setup( gameSettings, wait: false, protonVerb: 'run', + installFolderName: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, - startFolder: gogRedistPath + startFolder: gameInfo.install.install_path }) } } @@ -314,6 +316,7 @@ async function setup( gameSettings, wait: false, protonVerb: 'run', + installFolderName: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, startFolder: path.join( gogSupportPath, @@ -393,6 +396,7 @@ async function setup( startFolder: gogRedistPath, wait: false, protonVerb: 'run', + installFolderName: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, // We are running those commands after we check if prefix is valid, this shouldn't cause issues gameInstallPath: gameInfo.install.install_path! }) From 0e3a37b645bbec7a72f5b63221aa89d43025f5ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Lidwin?= Date: Wed, 8 Jan 2025 12:14:04 +0100 Subject: [PATCH 2/3] fix: ensure other codepaths have proper access too --- src/backend/storeManagers/gog/setup.ts | 12 ++---------- src/backend/storeManagers/legendary/setup.ts | 1 + 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/backend/storeManagers/gog/setup.ts b/src/backend/storeManagers/gog/setup.ts index 9e4f6fe0c7..48bbce6fd3 100644 --- a/src/backend/storeManagers/gog/setup.ts +++ b/src/backend/storeManagers/gog/setup.ts @@ -209,11 +209,7 @@ async function setup( protonVerb: 'run', installFolderName: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, - startFolder: path.join( - gogSupportPath, - appName, - supportCommand.gameID - ) + startFolder: gameInfo.install.install_path }) } } @@ -318,11 +314,7 @@ async function setup( protonVerb: 'run', installFolderName: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, - startFolder: path.join( - gogSupportPath, - appName, - manifestProduct.productId - ) + startFolder: gameInfo.install.install_path }) } } diff --git a/src/backend/storeManagers/legendary/setup.ts b/src/backend/storeManagers/legendary/setup.ts index 5064df8fc1..233c0c3204 100644 --- a/src/backend/storeManagers/legendary/setup.ts +++ b/src/backend/storeManagers/legendary/setup.ts @@ -51,6 +51,7 @@ export const legendarySetup = async (appName: string) => { ) { await runWineCommand({ gameSettings, + installFolderName: gameInfo.install.install_path, commandParts: [ join( gameInfo.install.install_path ?? '', From 0e6e5638b708085e3ce33dac3c8336a9c32c6aa7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Lidwin?= Date: Thu, 9 Jan 2025 00:26:22 +0100 Subject: [PATCH 3/3] fix: use gameInstallPath for STEAM_COMPAT_INSTALL_PATH --- src/backend/launcher.ts | 3 ++- src/backend/storeManagers/gog/setup.ts | 7 +++---- src/backend/storeManagers/legendary/setup.ts | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/backend/launcher.ts b/src/backend/launcher.ts index 032d15ee71..f94551d37a 100644 --- a/src/backend/launcher.ts +++ b/src/backend/launcher.ts @@ -1100,6 +1100,7 @@ async function runWineCommand({ wait, protonVerb = 'run', installFolderName, + gameInstallPath, options, startFolder, skipPrefixCheckIKnowWhatImDoing = false, @@ -1153,7 +1154,7 @@ async function runWineCommand({ const env_vars: Record = { ...process.env, GAMEID: 'umu-0', - ...setupEnvVars(settings), + ...setupEnvVars(settings, gameInstallPath), ...setupWineEnvVars(settings, installFolderName), PROTON_VERB: protonVerb } diff --git a/src/backend/storeManagers/gog/setup.ts b/src/backend/storeManagers/gog/setup.ts index 48bbce6fd3..1e805f0f57 100644 --- a/src/backend/storeManagers/gog/setup.ts +++ b/src/backend/storeManagers/gog/setup.ts @@ -207,7 +207,7 @@ async function setup( gameSettings, wait: false, protonVerb: 'run', - installFolderName: gameInfo.install.install_path, + gameInstallPath: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, startFolder: gameInfo.install.install_path }) @@ -266,7 +266,7 @@ async function setup( gameSettings, wait: false, protonVerb: 'run', - installFolderName: gameInfo.install.install_path, + gameInstallPath: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, startFolder: gameInfo.install.install_path }) @@ -312,7 +312,7 @@ async function setup( gameSettings, wait: false, protonVerb: 'run', - installFolderName: gameInfo.install.install_path, + gameInstallPath: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, startFolder: gameInfo.install.install_path }) @@ -388,7 +388,6 @@ async function setup( startFolder: gogRedistPath, wait: false, protonVerb: 'run', - installFolderName: gameInfo.install.install_path, skipPrefixCheckIKnowWhatImDoing: true, // We are running those commands after we check if prefix is valid, this shouldn't cause issues gameInstallPath: gameInfo.install.install_path! }) diff --git a/src/backend/storeManagers/legendary/setup.ts b/src/backend/storeManagers/legendary/setup.ts index 233c0c3204..05bbe0eeca 100644 --- a/src/backend/storeManagers/legendary/setup.ts +++ b/src/backend/storeManagers/legendary/setup.ts @@ -51,7 +51,7 @@ export const legendarySetup = async (appName: string) => { ) { await runWineCommand({ gameSettings, - installFolderName: gameInfo.install.install_path, + gameInstallPath: gameInfo.install.install_path, commandParts: [ join( gameInfo.install.install_path ?? '',