It would be nice if the wrapper called `uname -m`, unless the steam emulation layers now require such a hook and their own binaries. I do not see that given the other binaries available in the runtime, though.
arch:
Code: Select all
SteamLibrary]$ find -name arch
./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-Z11LU3/usr/bin/arch
./steamapps/common/SteamLinuxRuntime_soldier/soldier_platform_2.0.20260805.254767/files/bin/arch
Code: Select all
SteamLibrary]$ ./steamapps/common/SteamLinuxRuntime_soldier/var/tmp-Z11LU3/usr/bin/uname -m
x86_64Code: Select all
#!/bin/bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
ARCH=$(arch)
if [[ "$ARCH" == "x86_64" ]]; then
exec "$SCRIPT_DIR/../x64_/factorio" "$@"
elif [[ "$ARCH" == "aarch64" ]] || [[ "$ARCH" == "arm64" ]]; then
if [[ -e "$SCRIPT_DIR/../arm64/factorio" ]]; then
exec "$SCRIPT_DIR/../arm64/factorio" "$@"
else
echo "factorio.sh: arm64 binary missing, launching x64 binary instead"
exec "$SCRIPT_DIR/../x64_/factorio" "$@"
fi
else
echo "factorio.sh: Unsupported architecture $ARCH"
exit 1
fi


