diff --git a/README.md b/README.md index 67bba06..77c35c3 100644 --- a/README.md +++ b/README.md @@ -66,7 +66,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. `install` puts the shipped glassd (`native/glassd/prebuilt/glassd`, built for the Frame) in place, then rebuilds it from the 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 Liquid Glass 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`). ## How it works diff --git a/install.sh b/install.sh index 2398a31..18df9ca 100755 --- a/install.sh +++ b/install.sh @@ -74,6 +74,11 @@ install_app() { mkdir -p "$tmp/new/native/glassd" cp -p "$DEST/native/glassd/glassd" "$tmp/new/native/glassd/glassd" fi + # Native glass out of the box: the release's shipped glassd (built for the Frame) when none was kept + if [ ! -e "$tmp/new/native/glassd/glassd" ] && [ -f "$tmp/new/native/glassd/prebuilt/glassd" ]; then + cp "$tmp/new/native/glassd/prebuilt/glassd" "$tmp/new/native/glassd/glassd" + chmod 755 "$tmp/new/native/glassd/glassd" + fi rm -rf "$DEST.old" [ -d "$DEST" ] && mv "$DEST" "$DEST.old" mv "$tmp/new" "$DEST"