Skip to content

[BUG] : Launch Options in flatpak BSManager don't seem to be processed properly #1015

@cubee-cb

Description

@cubee-cb

Issue encountered

Entering OBS_VKCAPTURE=1 %command% in the launch options text creates the following command:

17:27:40.837 › Injecting OBS_VKCAPTURE="1" to the env launch command
17:27:40.837 › Linux spawn command
> flatpak-spawn --host --env=SteamAppId="620980" --env=SteamOverlayGameId="620980" --env=SteamGameId="620980" --env=WINEDLLOVERRIDES="winhttp=n,b" --env=STEAM_COMPAT_DATA_PATH="/home/curin/BSManager/SharedContent/compatdata" --env=STEAM_COMPAT_INSTALL_PATH="/home/curin/BSManager/BSInstances/1.40.8" --env=STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/curin/.steam/steam" --env=STEAM_COMPAT_APP_ID="620980" --env=SteamEnv="1" --env=OXR_PARALLEL_VIEWS="1" "/home/curin/.local/share/Steam/steamapps/common/Proton - Experimental/proton" run "/home/curin/BSManager/BSInstances/1.40.8/Beat Saber.exe" --no-yeet

As you can see, it says it is injecting the variable but it is nowhere to be found in the command itself.

"Adding" the launch option with + instead injects it into the wrong location (not as an environment variable):

17:36:36.350 › Injecting OBS_VKCAPTURE="1" to the env launch command
17:36:36.350 › Linux spawn command
> flatpak-spawn --host --env=SteamAppId="620980" --env=SteamOverlayGameId="620980" --env=SteamGameId="620980" --env=WINEDLLOVERRIDES="winhttp=n,b" --env=STEAM_COMPAT_DATA_PATH="/home/curin/BSManager/SharedContent/compatdata" --env=STEAM_COMPAT_INSTALL_PATH="/home/curin/BSManager/BSInstances/1.40.8" --env=STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/curin/.steam/steam" --env=STEAM_COMPAT_APP_ID="620980" --env=SteamEnv="1" --env=OXR_PARALLEL_VIEWS="1" "/home/curin/.local/share/Steam/steamapps/common/Proton - Experimental/proton" run "/home/curin/BSManager/BSInstances/1.40.8/Beat Saber.exe" OBS_VKCAPTURE=1 %command% --no-yeet

Neither of the above result in OBS_VKCAPTURE taking effect; it should show up in OBS as a source for Game Capture (from obs-vkcapture plugin) as it does when launched through Steam with the same launch option.

Expected Behavior

The environment variable should be injected as --env=OBS_VKCAPTURE="1", and as a result should allow obs-vkcapture in this case to work.

Steps to Reproduce

Optionally, set up OBS with the obs-vkcapture plugin.

  1. Open BSManager with console output.
  2. Enter OBS_VKCAPTURE=1 %command% into the launch options. (whether it is "added" or "pinned" or simply left in the text box does not matter too much)
  3. Hit Launch
  4. Look at the Console Output and see that the environment variable is either not present or is in the wrong location.

Operating System

Linux

Version

1.5.6 flatpak

Additional Context

Entering the flatpak with bash and running the flatpak-spawn command with --env=OBS_VKCAPTURE="1" added manually results in the proper behaviour. (though Beat Saber itself remains on a black screen in this scenario)

Some setup of launch options results in all of them being added to the command (in the same incorrect way) despite not being enabled in the UI. I'm not sure exactly how to reproduce this other than having 3+ launch options "pinned" (one of them being a disabled gamescope button), with only OBS_VKCAPTURE=1 %command% enabled. I'm also not sure if this is a separate issue or if it's related to this processing issue.

Uncut segment from launch via added button:

17:36:36.244 › Linux exec command
> flatpak-spawn --host  ps awwxo pid,args | grep "[s]team-runtime-launcher-service"
17:36:36.295 › Error while checking if Steam is running as admin Error: Unable to build process from pid: File not found: /proc/8117
    at m.isElevated (/app/lib/io.bsmanager.bsmanager/resources/app.asar/dist/main/main.js:14:1390378)
17:36:36.296 › Launch version {
  version: {
    BSVersion: '1.40.8',
    BSManifest: '8437413909225671968',
    OculusBinaryId: '9637940462972313',
    ReleaseURL: 'https://steamcommunity.com/games/620980/announcements/detail/510712822654566578',
    ReleaseImg: 'https://clan.fastly.steamstatic.com/images//32055887/5e32755428ba8f737bf7e9cb7cfc58465b72818c.png',
    ReleaseDate: '1753369967',
    year: '2025',
    recommended: true,
    path: '/home/curin/BSManager/BSInstances/1.40.8',
    ino: 21263269,
    metadata: { id: '72474e42-18bf-4f87-8498-3ea7a7c957e0', store: 'steam' },
    color: '#fcce68'
  },
  launchMods: [],
  command: 'OBS_VKCAPTURE=1 %command% OBS_VKCAPTURE=1 %command%',
  admin: false
}
17:36:36.301 › Linux exec command
> flatpak-spawn --host  ps awwxo args | grep -c "[s]team-runtime-launcher-service"
17:36:36.350 › Injecting OBS_VKCAPTURE="1" to the env launch command
17:36:36.350 › Linux spawn command
> flatpak-spawn --host --env=SteamAppId="620980" --env=SteamOverlayGameId="620980" --env=SteamGameId="620980" --env=WINEDLLOVERRIDES="winhttp=n,b" --env=STEAM_COMPAT_DATA_PATH="/home/curin/BSManager/SharedContent/compatdata" --env=STEAM_COMPAT_INSTALL_PATH="/home/curin/BSManager/BSInstances/1.40.8" --env=STEAM_COMPAT_CLIENT_INSTALL_PATH="/home/curin/.steam/steam" --env=STEAM_COMPAT_APP_ID="620980" --env=SteamEnv="1" --env=OXR_PARALLEL_VIEWS="1" "/home/curin/.local/share/Steam/steamapps/common/Proton - Experimental/proton" run "/home/curin/BSManager/BSInstances/1.40.8/Beat Saber.exe" OBS_VKCAPTURE=1 %command% --no-yeet
17:37:02.917 › BS process exit with code 0
17:37:02.918 › BS process exit code 0

Interestingly, the command field lists the button's launch option twice. I only have one custom button, it is the only launch option enabled and the text field is empty.

Metadata

Metadata

Assignees

Labels

bugSomething isn't workinglinux

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions