From 0ccdd414b5d3a2f9b4b2c66b8e24a3dbf454caa4 Mon Sep 17 00:00:00 2001 From: Eamonn Rea Date: Thu, 8 Jun 2023 19:54:06 +0100 Subject: [PATCH 1/2] Vortex: Only use the Steam Linux Runtime to install Vortex Adds a separate option to use Vortex with the SLR. Now the default is to only use the SLR for a Vortex install and if dotnet6 is not found, as the SLR Is required to install it. --- lang/dutch.txt | 6 ++++-- lang/english.txt | 4 ++++ steamtinkerlaunch | 25 ++++++++++++++++++++----- 3 files changed, 28 insertions(+), 7 deletions(-) diff --git a/lang/dutch.txt b/lang/dutch.txt index 1eabc0f1..f2b3310f 100644 --- a/lang/dutch.txt +++ b/lang/dutch.txt @@ -1164,5 +1164,7 @@ GUI_VORTEXCUSTOMVER="Custom Vortex version" DESC_VORTEXCUSTOMVER="The release tag of the Vortex version to install" NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" -GUI_VORTEXUSESLR="Use Steam Linux Runtime" -DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" \ No newline at end of file diff --git a/lang/english.txt b/lang/english.txt index d1470612..72ced4b0 100644 --- a/lang/english.txt +++ b/lang/english.txt @@ -1167,3 +1167,7 @@ NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime" DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/steamtinkerlaunch b/steamtinkerlaunch index 359f687b..df871f76 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -6,7 +6,7 @@ PREFIX="/usr" PROGNAME="SteamTinkerLaunch" NICEPROGNAME="Steam Tinker Launch" -PROGVERS="v14.0.20230607-2" +PROGVERS="v14.0.20230609-1 (vortex-runtime-pain)" PROGCMD="${0##*/}" SHOSTL="stl" GHURL="https://github.com" @@ -2664,6 +2664,7 @@ function setDefaultCfgValues { if [ -z "$VORTEXDOWNLOADPATH" ] ; then VORTEXDOWNLOADPATH="$STLVORTEXDIR/downloads"; fi if [ -z "$USEVORTEXPRERELEASE" ] ; then USEVORTEXPRERELEASE="0"; fi if [ -z "$VORTEXUSESLR" ] ; then VORTEXUSESLR="1"; fi + if [ -z "$VORTEXUSESLRPOSTINSTALL" ] ; then VORTEXUSESLRPOSTINSTALL="0"; fi if [ -z "$DISABLEVORTEXAUTOUPDATE" ] ; then DISABLEVORTEXAUTOUPDATE="0"; fi if [ -z "$USEVORTEXCUSTOMVER" ] ; then USEVORTEXCUSTOMVER="0"; fi if [ -z "$VORTEXCUSTOMVER" ] ; then VORTEXCUSTOMVER="$NON"; fi @@ -3124,6 +3125,8 @@ function saveCfg { echo "USEVORTEXPRERELEASE=\"$USEVORTEXPRERELEASE\"" echo "## $DESC_VORTEXUSESLR" echo "VORTEXUSESLR=\"$VORTEXUSESLR\"" + echo "## $DESC_VORTEXUSESLRPOSTINSTALL" + echo "VORTEXUSESLR=\"$VORTEXUSESLRPOSTINSTALL\"" echo "## $DESC_DISABLEVORTEXAUTOUPDATE" echo "DISABLEVORTEXAUTOUPDATE=\"$DISABLEVORTEXAUTOUPDATE\"" echo "## $DESC_USEVORTEXCUSTOMVER" @@ -5317,14 +5320,15 @@ function AllSettingsEntriesDummyFunction { --field=" $GUI_RUN_VORTEX_WINETRICKS!$DESC_RUN_VORTEX_WINETRICKS ('RUN_VORTEX_WINETRICKS')":CHK "${RUN_VORTEX_WINETRICKS/#-/ -}" `#CAT_Vortex` `#MENU_GAME` \ --field=" $GUI_RUN_VORTEX_WINECFG!$DESC_RUN_VORTEX_WINECFG ('RUN_VORTEX_WINECFG')":CHK "${RUN_VORTEX_WINECFG/#-/ -}" `#CAT_Vortex` `#MENU_GAME` \ --field=" $GUI_USEVORTEXPRERELEASE!$DESC_USEVORTEXPRERELEASE ('USEVORTEXPRERELEASE')":CHK "${USEVORTEXPRERELEASE/#-/ -}" `#CAT_Vortex` `#SUB_Checkbox` `#MENU_GLOBAL` \ ---field=" $GUI_VORTEXUSESLR!$DESC_VORTEXUSESLR ('VORTEXUSESLR')":CHK "${VORTEXUSESLR#-/ -}" `#CAT_Vortex` `#SUB_Checkbox` `#MENU_GLOBAL` \ --field=" $GUI_DISABLEVORTEXAUTOUPDATE!$DESC_DISABLEVORTEXAUTOUPDATE ('DISABLEVORTEXAUTOUPDATE')":CHK "${DISABLEVORTEXAUTOUPDATE/#-/ -}" `#CAT_Vortex` `#SUB_Checkbox` `#MENU_GLOBAL` \ +--field=" $GUI_VORTEXUSESLR!$DESC_VORTEXUSESLR ('VORTEXUSESLR')":CHK "${VORTEXUSESLR#-/ -}" `#CAT_Vortex` `#SUB_Checkbox` `#MENU_GLOBAL` \ --field=" $GUI_VORTEXDOWNLOADPATH!$DESC_VORTEXDOWNLOADPATH ('VORTEXDOWNLOADPATH')":DIR "${VORTEXDOWNLOADPATH/#-/ -}" `#CAT_Vortex` `#SUB_Directories` `#MENU_GLOBAL` \ --field=" $GUI_VORTEXCOMPDATA!$DESC_VORTEXCOMPDATA ('VORTEXCOMPDATA')":DIR "${VORTEXCOMPDATA/#-/ -}" `#CAT_Vortex` `#SUB_Directories` `#MENU_GLOBAL` \ --field=" $GUI_USEVORTEXPROTON!$DESC_USEVORTEXPROTON ('USEVORTEXPROTON')":CB "$(cleanDropDown "${USEVORTEXPROTON/#-/ -}" "$PROTYADLIST")" `#CAT_Vortex` `#MENU_GLOBAL` \ --field=" $GUI_USEVORTEXCUSTOMVER!$DESC_USEVORTEXCUSTOMVER ('USEVORTEXCUSTOMVER')":CHK "${USEVORTEXCUSTOMVER#-/ -}" `#CAT_Vortex` `#SUB_checkbox` `#MENU_GLOBAL` \ --field=" $GUI_VORTEXCUSTOMVER!$DESC_VORTEXCUSTOMVER ('VORTEXCUSTOMVER')":CBE "$( cleanDropDown "${VORTEXCUSTOMVER/#-/ -}" "v1.8.0!v1.7.0!v1.6.0!$NON" )" `#CAT_Vortex` `#SUB_checkbox` `#MENU_GLOBAL` \ --field=" $GUI_DISABLE_AUTOSTAGES!$(strFix "$DESC_DISABLE_AUTOSTAGES" "$PROGNAME") ('DISABLE_AUTOSTAGES')":CHK "${DISABLE_AUTOSTAGES/#-/ -}" `#CAT_Vortex` `#SUB_Checkbox` `#MENU_GLOBAL` \ +--field=" $GUI_VORTEXUSESLRPOSTINSTALL!$DESC_VORTEXUSESLRPOSTINSTALL ('VORTEXUSESLRPOSTINSTALL')":CHK "${VORTEXUSESLRPOSTINSTALL#-/ -}" `#CAT_Vortex` `#SUB_Checkbox` `#MENU_GLOBAL` \ --field="$(spanFont "$GUI_OPTSWINE" "H")":LBL "SKIP" `#CAT_Wine` `#HEAD_Wine` `#MENU_GAME` `#MENU_GLOBAL` \ --field=" $GUI_USEWINE!$DESC_USEWINE ('USEWINE')":CHK "${USEWINE/#-/ -}" `#CAT_Wine` `#SUB_Checkbox` `#MENU_GAME` \ --field=" $GUI_WINEVERSION!$DESC_WINEVERSION ('WINEVERSION')":CBE "$(cleanDropDown "${WINEVERSION/#-/ -}" "$WINEYADLIST")" `#CAT_Wine` `#MENU_GAME` \ @@ -14027,8 +14031,9 @@ function addVortexStage { function wineVortexRun { sleep 1 # required! - # Is there a way to improve this without the duplicated start cmd? - if [ -n "${SLRCMD[*]}" ]; then # Should only be set if VORTEXUSESLR is defined + ## Only use SLR is available and (if user explicitly wants to run Vortex with dotnet OR if dotnet6 is not already installed), because the SLR can cause hardlink deployment to fail + ## See also: https://github.com/sonic2kk/steamtinkerlaunch/issues/828 + if [[ -n "${SLRCMD[*]}" && ( "$VORTEXUSESLRPOSTINSTALL" -eq 1 || ! -d "$VORTEXPFX/$DRC/Program Files/dotnet" ) ]]; then PATH="$STLPATH" LD_LIBRARY_PATH="" LD_PRELOAD="" WINE="$VORTEXWINE" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="$VORTEXPFX" "${SLRCMD[@]}" "$@" > "$VWRUN" 2>/dev/null else PATH="$STLPATH" LD_LIBRARY_PATH="" LD_PRELOAD="" WINE="$VORTEXWINE" WINEARCH="win64" WINEDEBUG="-all" WINEPREFIX="$VORTEXPFX" "$@" > "$VWRUN" 2>/dev/null @@ -15141,12 +15146,22 @@ function setVortexVars { setModWine "SETVTXPROT" "VORTEXPROTON" "VORTEXWINE" fi + ## Both of the SLR options for Vortex assume a valid Vortex Proton version. + ## otherwise the SLR won't be used. + + # Use SLR to install Vortex -- Recommended, see https://github.com/sonic2kk/steamtinkerlaunch/issues/806 if [ "$VORTEXUSESLR" -eq 1 ]; then - writelog "INFO" "${FUNCNAME[0]} - VORTEXUSESLR is '$VORTEXUSESLR', using Steam Linux Runtime with Vortex" + writelog "INFO" "${FUNCNAME[0]} - VORTEXUSESLR is '$VORTEXUSESLR', using Steam Linux Runtime to install Vortex" setNonGameSLRReap "1" "$USEVORTEXPROTON" # Force the requested SLR for Vortex Proton version if we enable SLR option else writelog "INFO" "${FUNCNAME[0]} - Vortex will run WITHOUT the Steam Linux Runtime" fi + + ## Use SLR for Vortex in general - Not recommended, see https://github.com/sonic2kk/steamtinkerlaunch/issues/828 + if [ "$VORTEXUSESLRPOSTINSTALL" -eq 1 ]; then + writelog "WARN" "${FUNCNAME[0]} - WARNING: VORTEXUSESLRPOSTINSTALL is '$VORTEXUSESLRPOSTINSTALL', Vortex will be launched with the Steam Linux Runtime -- This may cause problems with mod deployment!" + setNonGameSLRReap "1" "$USEVORTEXPROTON" + fi } # TODO handle getting passed a custom executable From e5b400c72fcec73dd6b5068904d35908a63286ee Mon Sep 17 00:00:00 2001 From: Eamonn Rea Date: Sat, 10 Jun 2023 13:23:21 +0100 Subject: [PATCH 2/2] update langfiles and version bump --- lang/chinese.txt | 4 ++++ lang/dutch.txt | 2 +- lang/englishUK.txt | 4 ++++ lang/french.txt | 4 ++++ lang/german.txt | 4 ++++ lang/italian.txt | 4 ++++ lang/polish.txt | 4 ++++ lang/russian.txt | 4 ++++ steamtinkerlaunch | 2 +- 9 files changed, 30 insertions(+), 2 deletions(-) diff --git a/lang/chinese.txt b/lang/chinese.txt index 70cb9137..ba763ff6 100644 --- a/lang/chinese.txt +++ b/lang/chinese.txt @@ -1166,3 +1166,7 @@ NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime" DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/lang/dutch.txt b/lang/dutch.txt index f2b3310f..834d267a 100644 --- a/lang/dutch.txt +++ b/lang/dutch.txt @@ -1167,4 +1167,4 @@ NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" -DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" \ No newline at end of file +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/lang/englishUK.txt b/lang/englishUK.txt index 5d730ed5..58a5400a 100644 --- a/lang/englishUK.txt +++ b/lang/englishUK.txt @@ -1166,3 +1166,7 @@ NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime" DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/lang/french.txt b/lang/french.txt index 8aad0dd9..3a19645c 100644 --- a/lang/french.txt +++ b/lang/french.txt @@ -1166,3 +1166,7 @@ NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime" DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/lang/german.txt b/lang/german.txt index f5a9d828..521fc674 100644 --- a/lang/german.txt +++ b/lang/german.txt @@ -1168,3 +1168,7 @@ NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime" DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/lang/italian.txt b/lang/italian.txt index 294c4662..81fafd84 100644 --- a/lang/italian.txt +++ b/lang/italian.txt @@ -1166,3 +1166,7 @@ NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime" DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/lang/polish.txt b/lang/polish.txt index 4210aa6c..f95028f3 100644 --- a/lang/polish.txt +++ b/lang/polish.txt @@ -1166,3 +1166,7 @@ NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime" DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/lang/russian.txt b/lang/russian.txt index 01937b30..2bf1b4d7 100644 --- a/lang/russian.txt +++ b/lang/russian.txt @@ -1166,3 +1166,7 @@ NOTY_OTRSTART="Starting One-Time Run of 'XXX' with 'YYY'" NOTY_OTRSTARTNATIVE="Starting One-Time Run of 'XXX'" GUI_VORTEXUSESLR="Use Steam Linux Runtime" DESC_VORTEXUSESLR="start Vortex inside the Steam Linux Runtime (if available), which may improve compatibility" +GUI_VORTEXUSESLR="Use Steam Linux Runtime to install Vortex" +DESC_VORTEXUSESLR="run the Vortex installer inside the Steam Linux Runtime (if available) - will NOT be used once Vortex installs .NET 6 and is restarted" +GUI_VORTEXUSESLRPOSTINSTALL="Use Steam Linux Runtime" +DESC_VORTEXUSESLRPOSTINSTALL="run Vortex inside the Steam Linux Runtime (if available) - This may cause issues with mod deployment" diff --git a/steamtinkerlaunch b/steamtinkerlaunch index df871f76..9855bffd 100755 --- a/steamtinkerlaunch +++ b/steamtinkerlaunch @@ -6,7 +6,7 @@ PREFIX="/usr" PROGNAME="SteamTinkerLaunch" NICEPROGNAME="Steam Tinker Launch" -PROGVERS="v14.0.20230609-1 (vortex-runtime-pain)" +PROGVERS="v14.0.20230610-1" PROGCMD="${0##*/}" SHOSTL="stl" GHURL="https://github.com"