mirror of
https://github.com/MichaelScottsman/LiquidAss-Frame.git
synced 2026-10-18 08:01:07 +02:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3eac2fbff1 | ||
|
|
37502c7ac7 | ||
|
|
fe798703ea |
No files matched your search
@@ -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
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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.
@@ -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))"
|
||||
Reference in new issue
Block a user