sonic2kk / steamtinkerlaunch

Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs
GNU General Public License v3.0
2.03k stars 69 forks source link

Launching Fallout NV through MO 2 results in the audio being sent to the incorrect audio source #1115

Closed megabytesofrem closed 1 month ago

megabytesofrem commented 1 month ago

System Information

Issue Description

Launching Fallout New Vegas through ModOrganizer 2 results in the audio for the game being sent to the incorrect audio source (monitor audio) instead of headphone audio (despite headphone audio being set as default).

This does not happen when running the game normally, or clicking "Play" on SteamTinkerLaunch itself but rather when pressing the play arrow on ModOrganizer 2. This occurs even when the incorrect audio source is disabled in the KDE System Settings.

Logs

Tue 28 May 04:23:53 BST 2024 INFO - setflatpak - started SteamTinkerLaunch from /usr/bin/steamtinkerlaunch
Tue 28 May 04:23:53 BST 2024 INFO - initAID - Set AID from STEAM_COMPAT_APP_ID to '22380'
Tue 28 May 04:23:53 BST 2024 INFO - initAID - Set OSCDP to STEAM_COMPAT_DATA_PATH '/home/rem/.local/share/Steam/steamapps/compatdata/22380'
Tue 28 May 04:23:53 BST 2024 INFO - loadLanguage - First load the default language 'english' to make sure all variables are filled
Tue 28 May 04:23:53 BST 2024 INFO - loadLangFile - Language from command line is 'english'
Tue 28 May 04:23:53 BST 2024 INFO - loadLangFile - GLOBALSTLLANGDIR is '/usr/share/steamtinkerlaunch/lang'
Tue 28 May 04:23:53 BST 2024 INFO - loadLangFile - Command line language 'english' is no file - trying to find its absolute path
Tue 28 May 04:23:53 BST 2024 INFO - loadLangFile - Loading found system wide /usr/share/steamtinkerlaunch/lang/english.txt
Tue 28 May 04:23:53 BST 2024 INFO - loadLanguage - Loading STLLANG from '/home/rem/.config/steamtinkerlaunch/global.conf'
Tue 28 May 04:23:53 BST 2024 INFO - loadLanguage - STLLANG from '/home/rem/.config/steamtinkerlaunch/global.conf' is 'english'
Tue 28 May 04:23:53 BST 2024 INFO - setLocalInstall - Looks like we don't have a local non-root install
Tue 28 May 04:23:53 BST 2024 INFO - updateConfigEntry - Option 'GLOBALCOLLECTIONDIR' is updated with the new value '/usr/share/steamtinkerlaunch/collections' in config 'global.conf'
Tue 28 May 04:23:53 BST 2024 INFO - getCurrentCommandline - No Proton in command line arguments 'mo2 start'
Tue 28 May 04:23:53 BST 2024 INFO - saveOrgVars - Storing some original variables to restore them later
Tue 28 May 04:23:53 BST 2024 INFO - emptyVars - Emptied some original variables as they slowdown several system calls when started from steam
Tue 28 May 04:23:53 BST 2024 INFO - emptyVars - Set $PATH to '/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl::'
Tue 28 May 04:23:53 BST 2024 START - ######### Initializing Game Launch 22380 using SteamTinkerLaunch v12.12 #########
Tue 28 May 04:23:53 BST 2024 INFO - main - Starting with a clean log
Tue 28 May 04:23:53 BST 2024 INFO - main - Start creating default configs
Tue 28 May 04:23:53 BST 2024 INFO - createDefaultCfgs - START
Tue 28 May 04:23:53 BST 2024 INFO - loadLanguage - First load the default language 'english' to make sure all variables are filled
Tue 28 May 04:23:53 BST 2024 INFO - loadLangFile - Language from command line is 'english'
Tue 28 May 04:23:53 BST 2024 INFO - loadLangFile - GLOBALSTLLANGDIR is '/usr/share/steamtinkerlaunch/lang'
Tue 28 May 04:23:53 BST 2024 INFO - loadLangFile - Command line language 'english' is no file - trying to find its absolute path
Tue 28 May 04:23:53 BST 2024 INFO - loadLangFile - Loading found system wide /usr/share/steamtinkerlaunch/lang/english.txt
Tue 28 May 04:23:53 BST 2024 INFO - loadLanguage - Loading STLLANG from '/home/rem/.config/steamtinkerlaunch/global.conf'
Tue 28 May 04:23:53 BST 2024 INFO - loadLanguage - STLLANG from '/home/rem/.config/steamtinkerlaunch/global.conf' is 'english'
Tue 28 May 04:23:53 BST 2024 INFO - createDefaultCfgs - setSteamPaths:
Tue 28 May 04:23:53 BST 2024 INFO - setSteamPaths - Reading Steam Path variables from '/dev/shm/steamtinkerlaunch/steampaths.txt'
Tue 28 May 04:23:53 BST 2024 INFO - getGameOS - Starting game OS detection
Tue 28 May 04:23:53 BST 2024 WARN - getGameOS - Could not extract the full game binary path from the incoming game launch command, so assuming this is a Windows game!
Tue 28 May 04:23:53 BST 2024 INFO - setWin - '' determined to be a Windows Game
Tue 28 May 04:23:53 BST 2024 INFO - createDefaultCfgs - createProtonList:
Tue 28 May 04:23:53 BST 2024 INFO - createDefaultCfgs - createProtonList end
Tue 28 May 04:23:53 BST 2024 INFO - updateWinRes - Waiting for Window 'SteamTinkerLaunch-MainMenu'
Tue 28 May 04:23:53 BST 2024 INFO - listAllSettingsEntries - '/dev/shm/steamtinkerlaunch/setentries.txt' already exists - nothing to do
Tue 28 May 04:23:53 BST 2024 INFO - createDefaultCfgs - STOP
Tue 28 May 04:23:53 BST 2024 SKIP - listSteamLibraries - not recreating already available '/dev/shm/steamtinkerlaunch/SteamLibraries.txt'
Tue 28 May 04:23:53 BST 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_LIBRARY_PATHS set to '/home/rem/.local/share/Steam/steamapps'
Tue 28 May 04:23:53 BST 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_MOUNTS set to '/home/rem/.local/share/Steam/steamapps/common/Steamworks Shared:/home/rem/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper'
Tue 28 May 04:23:53 BST 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_TOOL_PATHS set to '/home/rem/.local/share/Steam/compatibilitytools.d/GE-Proton9-5::/home/rem/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper:/home/rem/.local/share/Steam/steamapps/common/Steamworks Shared'
Tue 28 May 04:23:53 BST 2024 INFO - main - Checking internal dependencies:
Tue 28 May 04:23:53 BST 2024 INFO - checkIntDeps - Result of version check for yad binary '/usr/bin/yad' is '13.0'
Tue 28 May 04:23:53 BST 2024 INFO - main - Initializing first Proton:
Tue 28 May 04:23:53 BST 2024 INFO - initOldProtonArr - Creating an initial array with available Proton versions using the file '/dev/shm/steamtinkerlaunch/ProtonCSV.txt' which was created during a previous run
Tue 28 May 04:23:53 BST 2024 INFO - initFirstProton - Initializing Proton
Tue 28 May 04:23:53 BST 2024 INFO - initFirstProton - Initial Proton version 'FIRSTUSEPROTON' from '/home/rem/.config/steamtinkerlaunch/default_template.conf' is 'GE-Proton9-5'
Tue 28 May 04:23:53 BST 2024 INFO - main - Initializing default window resolution
Tue 28 May 04:23:53 BST 2024 INFO - setInitWinXY - Using '1920x1080' from config '/dev/shm/steamtinkerlaunch/defres.txt'
Tue 28 May 04:23:53 BST 2024 INFO - main - Welcome to SteamTinkerLaunch
Tue 28 May 04:23:53 BST 2024 INFO - removeEmptyFiles - Removing empty files from '/home/rem/.config/steamtinkerlaunch/games/appinfo'
Tue 28 May 04:23:53 BST 2024 INFO - removeEmptyFiles - Removing empty files from '/home/rem/.config/steamtinkerlaunch/games/header'
Tue 28 May 04:23:53 BST 2024 INFO - main - Checking command line: incoming arguments 'mo2 start'
Tue 28 May 04:23:53 BST 2024 INFO - setMO2Vars - Found the variable for the game wineprefix '/home/rem/.local/share/Steam/steamapps/compatdata/22380/pfx', so using a portable instance of 'mo2'
Tue 28 May 04:23:53 BST 2024 INFO - setMO2Vars - The mo2 helper-file is set to '/usr/share/steamtinkerlaunch/misc/mo2games.txt'
Tue 28 May 04:23:53 BST 2024 INFO - setMO2Vars - Preparing Proton variables for a portable mo2 instance
Tue 28 May 04:23:53 BST 2024 INFO - setMO2Vars - Using proton version 'GE-Proton9-5', which is currently configured for the game none
Tue 28 May 04:23:53 BST 2024 INFO - setMO2Vars - Using GE-Proton9-5 for ModOrganizer
Tue 28 May 04:23:53 BST 2024 INFO - setModWine - DNPROTON is '/home/rem/.local/share/Steam/compatibilitytools.d/GE-Proton9-5/proton'
Tue 28 May 04:23:53 BST 2024 INFO - setModWine - DNPROTON is a file -- it is '/home/rem/.local/share/Steam/compatibilitytools.d/GE-Proton9-5/proton'
Tue 28 May 04:23:53 BST 2024 SKIP - prepareMO2 - portable instance running - nothing to prepare
Tue 28 May 04:23:53 BST 2024 INFO - prepareMO2 - No ModOrganizer instance provided
Tue 28 May 04:23:53 BST 2024 INFO - setMO2Vars - The 'mo2' instance was already set to 'portable' during this run
Tue 28 May 04:23:53 BST 2024 INFO - setMO2Vars - The mo2 helper-file is set to '/usr/share/steamtinkerlaunch/misc/mo2games.txt'
Tue 28 May 04:23:53 BST 2024 INFO - setMO2DLMime - Desktopfile '/home/rem/.local/share/applications/ModOrganizer-steamtinkerlaunch-dl.desktop' looks to be up2date
Tue 28 May 04:23:53 BST 2024 INFO - startMO2 - Starting '/home/rem/.local/share/Steam/steamapps/compatdata/22380/pfx/drive_c/Modding/MO2/ModOrganizer.exe'
Tue 28 May 04:23:53 BST 2024 INFO - startMO2 - WINEDEBUG="-all" WINEPREFIX="/home/rem/.local/share/Steam/steamapps/compatdata/22380/pfx" "/home/rem/.local/share/Steam/compatibilitytools.d/GE-Proton9-5/files/bin/wine" "/home/rem/.local/share/Steam/steamapps/compatdata/22380/pfx/drive_c/Modding/MO2/ModOrganizer.exe"
Tue 28 May 04:23:54 BST 2024 SKIP - updateWinRes - Timeout waiting for Window 'SteamTinkerLaunch-MainMenu'
sonic2kk commented 1 month ago

I'm not sure why this happens, but this is more likely to do with some system/Wine problem than SteamTinkerLaunch, as you can check the script and see it isn't touching audio sources. I'm not even sure how it would do this, it's likely a Wine issue.

Also, you're using a very out-of-date version of SteamTinkerLaunch. Only the latest commit on master is ever supported at any given time, the issue templates asks you to check out master before filing an issue. Not that I expect it to resolve it, but worth noting.

megabytesofrem commented 1 month ago

I'm not sure why this happens, but this is more likely to do with some system/Wine problem than SteamTinkerLaunch, as you can check the script and see it isn't touching audio sources. I'm not even sure how it would do this, it's likely a Wine issue.

Also, you're using a very out-of-date version of SteamTinkerLaunch. Only the latest commit on master is ever supported at any given time, the issue templates asks you to check out master before filing an issue. Not that I expect it to resolve it, but worth noting.

The issue was due to lib32-pipewire not being present on the system. In reference to the out of date version, should I use ProtonUpQT to install it instead?

sonic2kk commented 1 month ago

You can use ProtonUp-Qt or clone the repo and sudo make install. Make sure to update regularly when you see new commits, regardless of what method you choose.

Be sure to uninstall with your package manager first, but make sure you still have the necessary dependencies installed as neither the Makefile nor ProtonUp-Qt handles dependencies for you.

There is also an AUR steamtinkerlaunch-git package but I'm unsure of the status of that.

The issue was due to lib32-pipewire not being present on the system

Wine/Proton likely depends on this, makes sense. They have dependencies on quite a few 32bit packages.

EDIT: Interesting, I can't see PipeWire noted anywhere on the Wine dependencies. I wonder where this requirement comes from. I do have PipeWire on my system, but not lib32-pipewire! I wonder what requires this, and why you ran into this issue. Perhaps this dependency is specific to Valve's flavour of Wine. I'm running vanilla Arch and not endeavourOS although I'm not sure that would make such a difference here.

I have at least one display with audio out, but I haven't had issues with the wrong audio source being used. I just tested again, although I'm using ModOrganizer v2.4.4 and not v2.5.0.

Still, I don't think this is specific to SteamTinkerLaunch, but a Wine oddity. Good to note that lib32-pipewire fixed it for you, in case others run into the problem.

EDIT 2: Ah, Wine depends on various ALSA/libpulse packages, including 32bit variants. It's possible lib32-pipewire satisfies some kind of dependency here.