Skip to content

Commit e68f9ea

Browse files
check if is defined. If it is, make sure the path exists, if it isn't, download and use the latest stable ULWGL proton version
1 parent 204998c commit e68f9ea

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

gamelauncher.sh

+30-2
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,15 @@
33
# use for debug only.
44
# set -x
55

6-
if [[ -z $1 ]] || [[ -z $WINEPREFIX ]] || [[ -z $GAMEID ]] || [[ -z $PROTONPATH ]]; then
6+
if [[ -z $1 ]] || [[ -z $WINEPREFIX ]] || [[ -z $GAMEID ]]; then
77
echo 'Usage: WINEPREFIX=<wine-prefix-path> GAMEID=<ulwgl-id> PROTONPATH=<proton-version-path> ./gamelauncher.sh <executable-path> <arguments>'
88
echo 'Ex:'
99
echo 'WINEPREFIX=$HOME/Games/epic-games-store GAMEID=egs PROTONPATH="$HOME/.steam/steam/compatibilitytools.d/GE-Proton8-28" ./gamelauncher.sh "$HOME/Games/epic-games-store/drive_c/Program Files (x86)/Epic Games/Launcher/Portal/Binaries/Win32/EpicGamesLauncher.exe" "-opengl -SkipBuildPatchPrereq"'
1010
exit 1
1111
fi
12+
13+
ULWGL_PROTON_VER="ULWGL-Proton-8.0-5"
14+
1215
if [[ $WINEPREFIX ]]; then
1316
if [[ ! -d "$WINEPREFIX" ]]; then
1417
mkdir -p "$WINEPREFIX"
@@ -25,7 +28,32 @@ if [[ $WINEPREFIX ]]; then
2528
ln -s "../drive_c" "$WINEPREFIX/dosdevices/c:" &> /dev/null
2629
fi
2730
fi
28-
export PROTONPATH="$PROTONPATH"
31+
if [[ -n $PROTONPATH ]]; then
32+
if [[ ! -d $PROTONPATH ]]; then
33+
echo "ERROR: $PROTONPATH is invalid, aborting!"
34+
exit 1
35+
fi
36+
fi
37+
if [[ -z $PROTONPATH ]]; then
38+
if [[ ! -d "$PWD"/ULWGL-Proton-Stable ]]; then
39+
wget https://github.com/Open-Wine-Components/ULWGL-Proton/releases/download/$ULWGL_PROTON_VER/$ULWGL_PROTON_VER.tar.gz
40+
wget https://github.com/Open-Wine-Components/ULWGL-Proton/releases/download/$ULWGL_PROTON_VER/$ULWGL_PROTON_VER.sha512sum
41+
checksum=$(sha512sum $ULWGL_PROTON_VER.tar.gz)
42+
if [[ "$checksum" == $(cat $ULWGL_PROTON_VER.sha512sum) ]]; then
43+
tar -zxvf $ULWGL_PROTON_VER.tar.gz --one-top-level="$PWD"/ULWGL-Proton-Stable
44+
rm $ULWGL_PROTON_VER.tar.gz
45+
rm $ULWGL_PROTON_VER.sha512sum
46+
else
47+
echo "ERROR: $ULWGL_PROTON_VER.tar.gz checksum does not match $ULWGL_PROTON_VER.sha512sum, aborting!"
48+
rm $ULWGL_PROTON_VER.tar.gz
49+
rm $ULWGL_PROTON_VER.sha512sum
50+
exit 1
51+
fi
52+
fi
53+
PROTONPATH="$PWD"/ULWGL-Proton-Stable/$ULWGL_PROTON_VER
54+
else
55+
export PROTONPATH="$PROTONPATH"
56+
fi
2957
export ULWGL_ID="$GAMEID"
3058
export STEAM_COMPAT_APP_ID="0"
3159
numcheck='^[0-9]+$'

0 commit comments

Comments
 (0)