diff --git a/docs/webxr-chromium.md b/docs/webxr-chromium.md index 5b7d3c8..df151fc 100644 --- a/docs/webxr-chromium.md +++ b/docs/webxr-chromium.md @@ -3,6 +3,10 @@ Goal: open a web VR180 or 360 player (DeoVR and DL8 embeds, WebXR samples), press its VR button, and watch in 3D in the headset. +A standalone, public version of this build (build script, the SO_PEERCRED +patch, and a Frame-side installer that adds "Chromium XR" to the Steam library) +is at [saphid/chromium-webxr-steam-frame](https://github.com/saphid/chromium-webxr-steam-frame). + ## Why Flathub Chromium can't **Verified 2026-09-25** (Frame BUILD_ID 20260922.6101926, Flathub diff --git a/scripts/build-chromium-xr.sh b/scripts/build-chromium-xr.sh index 9c477f4..4b1dafb 100755 --- a/scripts/build-chromium-xr.sh +++ b/scripts/build-chromium-xr.sh @@ -36,12 +36,18 @@ if ! git -C src rev-parse -q --verify HEAD >/dev/null 2>&1; then fi guard stage "src at $(git -C src log -1 --format='%h %s')" -stage "gclient sync" -gclient sync --nohooks --no-history -D --shallow --revision "src@$(git -C src rev-parse HEAD)" -j 8 -guard -stage "runhooks" -gclient runhooks -src/build/linux/sysroot_scripts/install-sysroot.py --arch=arm64 +rev=$(git -C src rev-parse HEAD) +# Sync once per revision: once the patch below is applied, gclient sync +# refuses to run on the modified checkout, so re-runs must skip it. +if [ "$(cat "$W/synced" 2>/dev/null)" != "$rev" ]; then + stage "gclient sync" + gclient sync --nohooks --no-history -D --shallow --revision "src@$rev" -j 8 + guard + stage "runhooks" + gclient runhooks + src/build/linux/sysroot_scripts/install-sysroot.py --arch=arm64 + echo "$rev" > "$W/synced" +fi guard cd src # CL 8441736's XR seccomp policy refuses getsockopt, and SteamVR's IPC client