Closed suamor closed 6 months ago
I'm not sure what you're asking here. If you want to use MO2 you have to enable and start it per-game. Once installed you enable it for your game from the Game Menu. If you're unsure of how to do this, you use SteamTinkerLaunch as a compatibility tool for your game and it will start up.
If you want to use MO2 standalone, you use the command steamtinkerlaunch mo2 start
.
For compatibility, make sure your game Proton Version on the Game Menu and the ModOrganizer 2 Proton version on the Global Menu are set to the same version.
I have tried to start STL from steam, but it didn't work as I expected. Reason is that Steam forces Updates.
I don't know what you mean, why would Steam updating itself break SteamTinkerLaunch? Are you trying to use SteamTinkerLaunch without using a game with it?
Also, in future, please don't ignore the issue template.
I use Steamtinkerlaunch from github (14.0.20240112-4).
There are options available but I can only change option when I run STL from Steam. I have not found any GameID associated to the mo2 installation. What I want to do is change wine / STL configuration related to the game I manage from mo2.
Because of that I have tried to run STL from Steam, but I found that I apparently need a separate prefix which does not make sense to me since I manage the game from mo2.
So how do I change the wine configuration with this kind of installation?
(The update topic is unrelated to STL, it's specific to the game I manage in mo2. Should I need to run mo2 from Steam using STL to open the configuration window, then I would not be able to do that).
Sorry, I still really don't understand what you mean.
Here's how ModOrganizer 2 works:
~/.config/steamtinkerlaunch/mo2/compatdata/pfx
. This is the ModOrganizer 2 Wine prefix, and this is where mods are installed to when you run steamtinkerlaunch mo2 start
. Games are not started from here, this is only used for mod configuration.modorganizer.ini
per-game is updated to point to the global installation. Per-game, ModOrganizer 2 is installed into /path/to/game/pfx/drive_c/Modding/MO2
.steamtinkerlaunch mo2 winecfg
. Similarly, you can run Winetricks in the MO2 prefix with steamtinkerlaunch mo2 winetricks
.Because of that I have tried to run STL from Steam, but I found that I apparently need a separate prefix which does not make sense to me since I manage the game from mo2. So how do I change the wine configuration with this kind of installation?
I'm really sorry but I don't understand what you mean. You run SteamTinkerLaunch with each game from Steam, you do not run SteamTinkerLaunch standalone from Steam. As noted on the Readme and Wiki, SteamTinkerLaunch is used as a compatibility tool for Proton games, and as a launch option for native games.
Ok, then I understand what went wrong. I have tried to use winecfg (only), but it seems that GE-Proton8-27 has not included it (actually neither stable nor GE has included it). It looks like I need to use normal wine.
Update: As below, GE-Proton8-27 has included it, but it is not in the "bin" folder. Only proton-tkg has winecfg in the bin folder as well (without ".exe").
Winecfg is included with system wine. You should install it into your system. No build of Wine other than vanilla Wine to my understanding includes this.
EDIT: My mistake, GE-Proton and Valve Proton do include Winecfg. I'm not sure what you're talking about.
GE-Proton8-27/files/lib64/wine/x86_64-windows/winecfg.exe
.
GE-Proton8-27/files/lib/wine/i386-windows/winecfg.exe
.Proton 8.0/dist/lib64/wine/x86_64-windows/winecfg.exe
.
Proton 8.0/dist/lib/wine/i386-windows/winecfg.exe
.By default, though, system Winecfg is preferred. Not that it should matter, but I verified that STL can use the Proton-included Winecfg executables, and when forced to use one or the other by editing the code, steamtinkerlaunch mo2 winecfg
works fine.
Closing as this is a system issue, not a SteamTinkerLaunch issue.
This is interesting. I didn't know these files were hidden away into a deep-level folder. But anyway there was an error that "winecfg" was not found when I run STL. I don't know the cause of that issue.
$ ./steamtinkerlaunch --version
steamtinkerlaunch-v14.0.20240112-4 $ ./steamtinkerlaunch mo2 winecfg
wineserver: using server-side synchronization. wine: RLIMIT_NICE is <= 20, unable to use setpriority safely Application could not be started, or no application associated with the specified file. ShellExecuteEx failed: File not found.
Using current GE-Proton, but winecfg was not added to files/bin folder and STL is not looking inside the lib folder if it does not find a different winecfg.
Also note that all these executables have ".exe" added.
What does which winetricks
return from your system, out of interest?
It would also be useful if you could provide a log for trying to run steamtinkerlaunch mo2 winecfg
.
Using current GE-Proton, but winecfg was not added to files/bin folder and STL is not looking inside the lib folder if it does not find a different winecfg.
It uses the find
command for this, and there are various symlinks for these EXEs, but in testing they have worked (this same logic is used for Vortex winecfg and One-Time Run Winecfg).
SteamTinkerLaunch will use the systemwide Winecfg if available, and if not found, will search for and use the Winecfg found for the current Proton version.
Did a bit of investigating, could reproduce the issue with some strange edge-cases.
It seems like if Winecfg is not on the system and for some reason RUNPROTON
is undefined, no Winecfg executable can be found. I'm not sure in what cases RUNPROTON
would be blank, but in such a case I'll push a commit that uses USEMO2PROTON
's path.
Tentative fix was pushed in 0633d11. Please re-test when you can :slightly_smiling_face:
Same issue can occur with Vortex, created a generic function to perform this with some extra checks and will push another commit that uses it. Functionality should remain intact, using system winecfg
, and falling back to USEMO2PROTON
or USEVORTEXPROTON
if we can't find a Winecfg for USEPROTON
(which should be set in most cases, but in cases where it isn't, this should fix the problem in the same way as 0633d11).
The latest version of SteamTinkerLaunch is now v14.0.20240116-2
, but the previous version v14.0.20240116-1
and onward should also fix the issue. -2
was just a change to apply the fix in a re-usable function.
What does
which winetricks
return from your system, out of interest?It would also be useful if you could provide a log for trying to run
steamtinkerlaunch mo2 winecfg
.Using current GE-Proton, but winecfg was not added to files/bin folder and STL is not looking inside the lib folder if it does not find a different winecfg.
It uses the
find
command for this, and there are various symlinks for these EXEs, but in testing they have worked (this same logic is used for Vortex winecfg and One-Time Run Winecfg).SteamTinkerLaunch will use the systemwide Winecfg if available, and if not found, will search for and use the Winecfg found for the current Proton version.
winetricks is in /usr/bin/winetricks. But running protontricks I found that it uses winetricks from proton folder, not from system folder. Seems like this could be a problem since I need the latest winetricks. I probably need to replace it manually :-(
The log from $ ./steamtinkerlaunch mo2 winecfg (not original folder names):
` Mon Jan 15 07:50:26 CET 2024 INFO - initAID - Set AID to PLACEHOLDERAID '31337'
Mon Jan 15 07:50:26 CET 2024 INFO - loadLangFile - Language from command line is 'english'
Mon Jan 15 07:50:26 CET 2024 INFO - loadLangFile - SYSTEMSTLCFGDIR is '/usr/share/steamtinkerlaunch'
Mon Jan 15 07:50:26 CET 2024 INFO - loadLangFile - Command line language 'english' is no file - trying to find its absolute path
Mon Jan 15 07:50:26 CET 2024 INFO - getCurrentCommandline - No Proton in command line arguments 'mo2 winecfg' Mon Jan 15 07:50:26 CET 2024 INFO - saveOrgVars - Storing some original variables to restore them later Mon Jan 15 07:50:27 CET 2024 INFO - emptyVars - Emptied some original variables as they slowdown several system calls when started from steam Mon Jan 15 07:50:27 CET 2024 INFO - emptyVars - Set $PATH to '/home/USER/.local/bin:/home/USER/bin:/home/USER/.local/share/umake/bin:/home/USER/.local/bin:/home/USER/bin:/home/USER/.local/share/umake/bin:/home/USER/.local/bin:/home/USER/bin:/home/USER/.local/share/umake/bin:/home/USER/.local/bin:/home/USER/bin:/home/USER/.local/share/umake/bin:/home/USER/.local/bin:/home/USER/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:' Mon Jan 15 07:50:27 CET 2024 START - ######### Initializing Game Launch 31337 using SteamTinkerLaunch v14.0.20240112-4 ######### Mon Jan 15 07:50:27 CET 2024 INFO - main - Starting with a clean log Mon Jan 15 07:50:27 CET 2024 INFO - main - Start creating default configs Mon Jan 15 07:50:27 CET 2024 INFO - createDefaultCfgs - START Mon Jan 15 07:50:27 CET 2024 INFO - loadLanguage - First load the default language 'english' to make sure all variables are filled Mon Jan 15 07:50:27 CET 2024 INFO - loadLangFile - Language from command line is 'english' Mon Jan 15 07:50:27 CET 2024 INFO - loadLangFile - GLOBALSTLLANGDIR is '/home/USER/stl/prefix/lang' Mon Jan 15 07:50:27 CET 2024 INFO - loadLangFile - Command line language 'english' is no file - trying to find its absolute path Mon Jan 15 07:50:27 CET 2024 INFO - loadLangFile - Loading language file from script directory '/home/USER/stl/prefix/lang/english.txt' Mon Jan 15 07:50:27 CET 2024 INFO - loadLanguage - Loading STLLANG from '/home/USER/.config/steamtinkerlaunch/global.conf' Mon Jan 15 07:50:27 CET 2024 INFO - loadLanguage - STLLANG from '/home/USER/.config/steamtinkerlaunch/global.conf' is 'english' Mon Jan 15 07:50:27 CET 2024 INFO - createDefaultCfgs - setSteamPaths: Mon Jan 15 07:50:27 CET 2024 INFO - setSteamPaths - Reading Steam Path variables from '/dev/shm/steamtinkerlaunch/steampaths.txt' Mon Jan 15 07:50:27 CET 2024 INFO - getGameOS - Starting game OS detection Mon Jan 15 07:50:27 CET 2024 INFO - getGameOS - STEAM_COMPAT_DATA_PATH is not defined, so this is either a Linux Game or no game was started at all Mon Jan 15 07:50:28 CET 2024 INFO - listAllSettingsEntries - '/dev/shm/steamtinkerlaunch/setentries.txt' already exists - nothing to do Mon Jan 15 07:50:28 CET 2024 INFO - createDefaultCfgs - STOP Mon Jan 15 07:50:28 CET 2024 SKIP - listSteamLibraries - not recreating already available '/dev/shm/steamtinkerlaunch/SteamLibraries.txt' Mon Jan 15 07:50:28 CET 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_LIBRARY_PATHS set to '/external/SteamLibrary/steamapps:/home/USER/.local/share/Steam/steamapps:/media/suamor/Windows/SteamLibrary/steamapps' Mon Jan 15 07:50:28 CET 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_MOUNTS set to '/external/SteamLibrary/steamapps/common/Steamworks Shared:/home/USER/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier:/home/USER/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper:/home/USER/.local/share/Steam/steamapps/common/Steamworks Shared:/media/suamor/Windows/SteamLibrary/steamapps/common/Steamworks Shared' Mon Jan 15 07:50:28 CET 2024 INFO - setSteamLibraryPaths - STEAM_COMPAT_TOOL_PATHS set to '/external/SteamLibrary/steamapps/common/Steamworks Shared:/home/USER/.local/share/Steam/steamapps/common/SteamLinuxRuntime_soldier:/home/USER/.local/share/Steam/steamapps/common/SteamLinuxRuntime_sniper:/home/USER/.local/share/Steam/steamapps/common/Steamworks Shared:/media/suamor/Windows/SteamLibrary/steamapps/common/Steamworks Shared' Mon Jan 15 07:50:28 CET 2024 INFO - main - Checking internal dependencies: Mon Jan 15 07:50:28 CET 2024 INFO - setAwkBin - Found 'gawk' as an 'awk' variant. It should work without any issues, because 'gawk' was tested completely Mon Jan 15 07:50:28 CET 2024 INFO - checkIntDeps - Result of version check for yad binary '/usr/bin/yad' is '13.0' Mon Jan 15 07:50:28 CET 2024 INFO - checkIntDeps - Yad is set correctly in the Global Config, nothing to do. Mon Jan 15 07:50:28 CET 2024 INFO - main - Initializing first Proton: Mon Jan 15 07:50:28 CET 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 Mon Jan 15 07:50:28 CET 2024 INFO - initFirstProton - Initializing Proton Mon Jan 15 07:50:28 CET 2024 INFO - initFirstProton - Initial Proton version 'FIRSTUSEPROTON' from '/home/USER/.config/steamtinkerlaunch/default_template.conf' is 'proton-8.0-4c' Mon Jan 15 07:50:28 CET 2024 INFO - main - Initializing default window resolution Mon Jan 15 07:50:28 CET 2024 INFO - setInitWinXY - Using '1440x810' from config '/dev/shm/steamtinkerlaunch/defres.txt' Mon Jan 15 07:50:28 CET 2024 INFO - main - Welcome to SteamTinkerLaunch Mon Jan 15 07:50:28 CET 2024 INFO - removeEmptyFiles - Removing empty files from '/home/USER/.config/steamtinkerlaunch/games/appinfo' Mon Jan 15 07:50:28 CET 2024 INFO - removeEmptyFiles - Removing empty files from '/home/USER/.config/steamtinkerlaunch/games/header' Mon Jan 15 07:50:28 CET 2024 INFO - main - Checking command line: incoming arguments 'mo2 winecfg' Mon Jan 15 07:50:28 CET 2024 INFO - setMO2Vars - No game wineprefix found in env, so using a global instance of 'mo2' Mon Jan 15 07:50:28 CET 2024 INFO - setMO2Vars - The mo2 helper-file is set to '/home/USER/stl/prefix/misc/mo2games.txt' Mon Jan 15 07:50:28 CET 2024 INFO - setMO2Vars - Preparing Proton variables for a global mo2 instance Mon Jan 15 07:50:28 CET 2024 INFO - setMO2Vars - Using GE-Proton8-27 for ModOrganizer Mon Jan 15 07:50:29 CET 2024 INFO - setModWine - DNPROTON is '/home/USER/.local/share/Steam/compatibilitytools.d/GE-Proton8-27/proton' Mon Jan 15 07:50:29 CET 2024 INFO - setModWine - DNPROTON is a file -- it is '/home/USER/.local/share/Steam/compatibilitytools.d/GE-Proton8-27/proton' Mon Jan 15 07:50:29 CET 2024 INFO - getWinecfgExecutable - Trying to use Winetricks with game Proton version Mon Jan 15 07:50:29 CET 2024 WARN - getWinecfgExecutable - RUNPROTON is empty - '' - Maybe this is not a Proton game? Mon Jan 15 07:50:29 CET 2024 INFO - mo2Winecfg - Running Winecfg for MO2 Mon Jan 15 07:50:29 CET 2024 INFO - mo2Winecfg - WINEDEBUG="-all" WINEPREFIX="/home/USER/.config/steamtinkerlaunch/mo2/compatdata/pfx" "/home/USER/.local/share/Steam/compatibilitytools.d/GE-Proton8-27/files/bin/wine" "" `
I wonder why so many paths are duplicated.. (my $PATH does not have the duplicates).
winecfg works with the latest commits.
Closing since the issue is fixed. Thanks!
I have set up successfully STL and MO2 and was able to get my old Skyrim SE to run with it. Now there are options how to proceed with Linux specific mods / features from here.
Since it seems STL has most of what I want, I thought I could change options for MO2. But how do I access these options?
I looked documentation and elsewhere but found no information about how change such configuration options when I use MO2. It looks like I have to deal with hard-coded set of options in global.conf.
I have tried to start STL from steam, but it didn't work as I expected. Reason is that Steam forces Updates. For Skyrim however I decide myself when I go to the next version since mods usually need a few months after an Update. Usually always start Skyrim (in this case SKSE) from MO2 which works fine.
Currently I following ways going forward
Any ideas are welcome.