3 Commits
5 changed files with 15 additions and 2 deletions

No files matched your search

+1 -1
View File
@@ -81,7 +81,7 @@ python glass.py uninstall
On the headset itself, `~/.local/share/glass-shell/device/lgs on|off|toggle|status|dial V` does the same.
Native glass works out of the box. Releases ship glassd built for the Frame (`native/glassd/prebuilt/glassd`), and the installer puts it in place. `python glass.py install` does the same, then rebuilds glassd from the checkout's sources over it (if that build fails, the shipped binary stays). The daemon also puts the shipped binary in place whenever glassd is missing, so the LiquidAss toggle never starts CSS-only. Native mode is on by default (`device/defaults.json`).
Native glass works out of the box. Releases ship glassd built for the Frame (`native/glassd/prebuilt/glassd`), and the installer puts it in place. `python glass.py install` does the same, then rebuilds glassd from the checkout's sources over it (if that build fails, the shipped binary stays). The daemon also puts the shipped binary in place whenever glassd is missing, so the LiquidAss toggle never starts CSS-only. Native mode is on by default (`device/defaults.json`). The assPod's 3D renderer, podd, ships the same way (`native/podd/prebuilt/podd`).
## How it works
+8
View File
@@ -54,6 +54,7 @@ ACTIONS = {
PAGE = "systemui"
MODEL_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.realpath(__file__))), "asspod", "model") # the 3D body
PODD = os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(os.path.realpath(__file__)))), "native", "podd", "podd")
PODD_PREBUILT = os.path.join(os.path.dirname(PODD), "prebuilt", "podd")
PODD_SPEC = "/dev/shm/lgs/podd.json"
PODD_OUT = "/dev/shm/lgs/podd-out.json"
API = "window.__LGS_VRX && window.__LGS_VRX.asspod && window.__LGS_VRX.asspod.api"
@@ -1115,6 +1116,13 @@ def _podd_kill_strays():
async def _podd_start(ctx, model_dir, scale, finish):
"""podd up with its layout (podd-out.json), or None (then SteamVR's render models draw the body)."""
s = _st(ctx)
if not os.access(PODD, os.X_OK) and os.path.isfile(PODD_PREBUILT):
# the release's shipped podd (built for the Frame), when none was built here
try:
shutil.copyfile(PODD_PREBUILT, PODD)
os.chmod(PODD, 0o755)
except OSError as e:
_err(ctx, f"podd: {e!r}")
if not os.access(PODD, os.X_OK):
return None
_podd_spec(s, open=False, scale=scale, finish=finish)
+5
View File
@@ -91,6 +91,11 @@ install_app() {
cp "$tmp/new/native/glassd/prebuilt/glassd" "$tmp/new/native/glassd/glassd"
chmod 755 "$tmp/new/native/glassd/glassd"
fi
# The assPod's 3D body: the release's shipped podd (built for the Frame from the same source)
if [ -f "$tmp/new/native/podd/prebuilt/podd" ]; then
cp "$tmp/new/native/podd/prebuilt/podd" "$tmp/new/native/podd/podd"
chmod 755 "$tmp/new/native/podd/podd"
fi
rm -rf "$DEST.old"
[ -d "$DEST" ] && mv "$DEST" "$DEST.old"
mv "$tmp/new" "$DEST"
Binary file not shown.
+1 -1
View File
@@ -15,5 +15,5 @@ trap 'rm -rf "$stage"' EXIT
python tools/build_asspod.py --check # the assPod page script must match its sources
git archive --format=tar HEAD device theme lab native | tar -xf - -C "$stage"
printf '%s\n' "$ver" > "$stage/VERSION"
tar -czf dist/LiquidAss-Frame.tar.gz -C "$stage" VERSION device theme lab native
tar -czf dist/LiquidAss-Frame.tar.gz --owner=0 --group=0 --numeric-owner -C "$stage" VERSION device theme lab native # no local user names in the archive
echo "dist/LiquidAss-Frame.tar.gz ($ver, $(git rev-parse --short HEAD))"