protonscr

GOG Galaxy Client

protonopen Game compatibility - Unofficial
ValveSoftware/Proton#7081 · opened 2023-09-07 by deftdawg · updated 2025-01-29 · 1 comments · github
Ddeftdawg 2023-09-07 github

Please describe your issue in as much detail as possible:

When starting C:/Program Files (x86)/GOG Galaxy/GalaxyClient.exe, I get a ntfs not detected warning dialog because the Proton/Wine is starting on the Z:\ (which reports an file-system type of '') rather than C:\ (which identifies itself as ntfs).

image

From looking at Steam console output and inspecting with PRESSURE_VESSEL_SHELL=instead, the flow seems to be as follows:

  1. Steam attempts to change directory to Start In (this only works for absolute host system paths, not within proton prefix drive_c paths)
  2. Steam starts pressure vessel
  3. Pressure vessel starts proton in Z:\.... (basically any CWD outside of the prefix is converted to a Z:\path)
  4. GalaxyClient detects Z: as filesystem type ''

Steps for reproducing this issue:

  1. Download GOG galaxy installer
export GOG_GALAXY_OFFLINE_INSTALLER_URL=$(curl -s "https://remote-config.gog.com/components/webinstaller?component_version=2.0.0" | jq -r '."content"."windows"."downloadLink"')
# "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/2.0.68.112/setup_galaxy_2.0.68.112.exe"
curl -sL ${GOG_GALAXY_OFFLINE_INSTALLER_URL} > setup_galaxy.exe
  1. Add a non-steam game
  2. set Target to setup_galaxy.exe (with correct path)
  3. Add Launch Options of /VERYSILENT /NORESTART
  4. set Force Steam Play to true in Compatbility
  5. start the shortcut
  6. check that compdata with GalaxyClient.exe was created
  7. edit shortcut
  8. replace Target setup_galaxy.exe with C:/Program Files (x86)/GOG Galaxy/GalaxyClient.exe and delete/clear Launch Options
  9. restart shortcut

Workaround #\1 - absolute file paths

It is possible to workaround this issue by replacing the Target with an absolute path on the system.

i.e. Target /home/deftdawg/.local/share/Steam/steamapps/compatdata/2475413791/pfx/drive_c/Program Files (x86)/GOG Galaxy/GalaxyClient.exe

The drawbacks of this approach are around lack of portability and user unfriendliness:

  • app id for non-steam games is random, so this path is different in both start (/home/userX) and in the middle (compdata/12345689) making it unpredictable / unreproducible between different systems or different adds of non-steam games.
  • The user must locate the file within the proton prefix deep inside compdata to specify its full path, this could be challenging for a novice.
  • compdata may be in different install paths on different distros

Workaround #\2 - using start.exe -- Better way

Target C:/windows/command/start.exe
Launch Options /D C: "C:/Program Files (x86)/GOG Galaxy/GalaxyClient.exe"

This workaround was a bit tricky to figure out, it uses start.exe to change the drive to C: before executing the command to start GalaxyClient.exe, this is portable between systems and reasonably easy to follow.

Suggestion for fixing in Steam / Pressure Vessel

It would be helpful if when Compatibility -> Force the use of a specific Steam play was on that Steam would check if the Start In path is a Linux path / exists on the host OR a Windows path and if it's a Windows path (or not on the host), then pass the path value to Pressure Vessel for it to configure Proton to start in.

Or if Pressure Vessel would tell proton to start on the drive of the Target application

Or have Pressure Vessel start on Proton on C:\ by default.

Your system information

  • Steam Runtime Version: Proton Experimental

  • Distribution (e.g. Ubuntu 18.04): NixOS 23.05

  • What compatibility tool are you using?: Proton Experimental

  • What versions are listed in steamapps/common/SteamLinuxRuntime/VERSIONS.txt?

  • What versions are listed in steamapps/common/SteamLinuxRuntime_soldier/VERSIONS.txt?

  • What versions are listed in steamapps/common/SteamLinuxRuntime_sniper/VERSIONS.txt?

head -50 ~/.local/share/Steam/steamapps/common/SteamLinuxRuntime*/VERSIONS.txt
==> /home/deftdawg/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper/VERSIONS.txt <==
#Name   Version         Runtime Runtime_Version Comment
depot   0.20230718.55074                        # Overall version number
pressure-vessel 0.20230718.0    scout           # pressure-vessel-bin.tar.gz
scripts 0.20230718.0                    # from steam-runtime-tools
sniper  0.20230718.55074        sniper  0.20230718.55074        # sniper_platform_0.20230718.55074/

==> /home/deftdawg/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier/VERSIONS.txt <==
#Name   Version         Runtime Runtime_Version Comment
depot   0.20230718.55075                        # Overall version number
pressure-vessel 0.20230718.0    scout           # pressure-vessel-bin.tar.gz
scripts 0.20230718.0                    # from steam-runtime-tools
soldier 0.20230718.55075        soldier 0.20230718.55075        # soldier_platform_0.20230718.55075/

==> /home/deftdawg/.local/share/Steam/steamapps/common/SteamLinuxRuntime/VERSIONS.txt <==
#Name   Version         Runtime Runtime_Version Comment
depot   0.20230605.0                    # Overall version number
LD_LIBRARY_PATH -       scout   -       # see ~/.steam/root/ubuntu12_32/steam-runtime/version.txt
scripts 0.20230605.0                    # from steam-runtime-tools
Kkayzzen01 2025-01-29 github

I would like to bring some new information.

Today I noticed that I was unable to install or uninstall games with versions higher than 9.13.

How to reproduce:

Install Lutris, install GOG Galaxy via Lutris, install proton-GE/proton. I used proton-up to install proton-GE for ease.

Set the proton version to GOG Galaxy, launch GOG Galaxy and try to install any game.

Proton versions