Release 1.1.3 with game window and Gamescope lifecycle fixes

This commit is contained in:
2026-10-25 20:47:19 +01:00
parent b6de80e758
commit 1f2aad0ee2
42 changed files with 9291 additions and 153 deletions

63
native/gamescope/build.sh Executable file
View File

@@ -0,0 +1,63 @@
#!/usr/bin/env bash
set -euo pipefail
PROVENANCE_ROOT="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd -- "${PROVENANCE_ROOT}/../.." && pwd)"
SOURCE_ARCHIVE_DIRECTORY="${1:-${PROJECT_ROOT}/.artifacts/native/gamescope/sources}"
OUTPUT_DIRECTORY="${2:-${PROJECT_ROOT}/.artifacts/native/gamescope}"
ARTIFACT_NAME="gamescope-3.16.20-ubuntu26.04-amd64"
SHIPPED_ARTIFACT="${PROJECT_ROOT}/src/ptlinux/native/${ARTIFACT_NAME}"
if [[ ! -d "$SOURCE_ARCHIVE_DIRECTORY" ]]
then
printf 'Gamescope source-archive directory does not exist: %s\n' \
"$SOURCE_ARCHIVE_DIRECTORY" >&2
exit 2
fi
mkdir -p -- "$OUTPUT_DIRECTORY"
SOURCE_ARCHIVE_DIRECTORY="$(cd -- "$SOURCE_ARCHIVE_DIRECTORY" && pwd)"
OUTPUT_DIRECTORY="$(cd -- "$OUTPUT_DIRECTORY" && pwd)"
if [[ "${OUTPUT_DIRECTORY}/${ARTIFACT_NAME}" == "$SHIPPED_ARTIFACT" ]]
then
printf '%s\n' "Refusing to overwrite the shipped Gamescope executable." >&2
exit 2
fi
(
cd "$SOURCE_ARCHIVE_DIRECTORY"
sha256sum --check "${PROVENANCE_ROOT}/source.sha256"
)
if [[ -n "${CONTAINER_ENGINE:-}" ]]
then
ENGINE="$CONTAINER_ENGINE"
elif command -v podman >/dev/null 2>&1
then
ENGINE="podman"
elif command -v docker >/dev/null 2>&1
then
ENGINE="docker"
else
printf '%s\n' "Docker or Podman is required to rebuild Gamescope." >&2
exit 1
fi
if ! command -v "$ENGINE" >/dev/null 2>&1
then
printf 'Container engine was not found: %s\n' "$ENGINE" >&2
exit 1
fi
rm -f -- "${OUTPUT_DIRECTORY}/${ARTIFACT_NAME}"
"$ENGINE" run --rm --platform linux/amd64 \
--env "HOST_UID=$(id -u)" \
--env "HOST_GID=$(id -g)" \
--volume "${PROJECT_ROOT}:/workspace:ro" \
--volume "${SOURCE_ARCHIVE_DIRECTORY}:/sources:ro" \
--volume "${OUTPUT_DIRECTORY}:/output" \
ubuntu:26.04 \
bash /workspace/native/gamescope/build-in-container.sh
(
cd "$OUTPUT_DIRECTORY"
sha256sum --check "${PROVENANCE_ROOT}/binary.sha256"
)