diff --git a/build_proton.sh b/build_proton.sh index d1b32e09..6ca0f822 100755 --- a/build_proton.sh +++ b/build_proton.sh @@ -109,12 +109,6 @@ PATH="$TOOLS_DIR32/bin:$PATH" $I386_WRAPPER winebuild --dll --fake-module -E vrc cp -a vrclient.dll.so "$DST_DIR"/lib/wine/ cp -a vrclient.dll.fake "$DST_DIR"/lib/wine/fakedlls/vrclient.dll -echo "Creating default wine prefix..." -cd "$TOP" -rm -rf "$DST_DIR"/share/default_pfx -WINEPREFIX="$DST_DIR"/share/default_pfx $AMD64_WRAPPER "$DST_DIR/bin/wine64" wineboot -WINEPREFIX="$DST_DIR"/share/default_pfx $AMD64_WRAPPER "$DST_DIR/bin/wineserver" -w - echo "Packaging..." cd "$TOP" diff --git a/proton b/proton index 4878f02b..541324de 100755 --- a/proton +++ b/proton @@ -32,6 +32,9 @@ if not ("STEAM_COMPAT_DATA_PATH" in os.environ): log("No compat data path?") sys.exit(1) +if "STEAM_COMPAT_CONFIG" in os.environ: + config = os.environ["STEAM_COMPAT_CONFIG"] + basedir = os.path.dirname(sys.argv[0]) bindir = basedir + "/dist/bin/" libdir = basedir + "/dist/lib64:" + basedir + "/dist/lib" @@ -48,8 +51,6 @@ if not os.path.exists(basedir + "/dist") or \ tar.close() shutil.copy(basedir + "/version", basedir + "/dist/") -prefix = os.environ["STEAM_COMPAT_DATA_PATH"] + "/pfx/" - env = dict(os.environ) env["WINEDEBUG"] = "-all" @@ -65,14 +66,19 @@ if not lfile_path is None: else: lfile = None -env["WINEPREFIX"] = prefix if "LD_LIBRARY_PATH" in os.environ: env["LD_LIBRARY_PATH"] = libdir + ":" + env["LD_LIBRARY_PATH"] else: env["LD_LIBRARY_PATH"] = libdir -if "STEAM_COMPAT_CONFIG" in os.environ: - config = os.environ["STEAM_COMPAT_CONFIG"] +if not os.path.isdir(basedir + "/dist/share/default_pfx"): + #make default prefix + env["WINEPREFIX"] = basedir + "/dist/share/default_pfx" + run_wine([wine_path, "wineboot"]) + run_wine([bindir + "/wineserver", "-w"]) + +prefix = os.environ["STEAM_COMPAT_DATA_PATH"] + "/pfx/" +env["WINEPREFIX"] = prefix if not os.path.isdir(prefix): #copy default prefix into place