Skip to content

ios-27: Liquid Glass on the Metal compositor: docs, the bundle's two build changes, uirun and rootrw tools (#281 re-landed) - #298

Merged
claudiusthebot merged 9 commits into
mainfrom
integrate/liquid-glass
Nov 12, 2026
Merged

claudiusthebot merged 9 commits into
mainfrom
integrate/liquid-glass

Conversation

@claudiusthebot

Copy link
Copy Markdown
Collaborator

Lands draft pull request #281 (wip/ios27-liquid-glass) on today's main: main with that branch merged in (no conflict), and one commit that makes its three tools/ios27/rootrw scripts executable in git (the check workflow wants that). The original branch is untouched; its commits are in this one, so #281 will show as merged when this is.

  • docs/ios27/LIQUID-GLASS.md, docs/ios27/HANG-WATCHDOG.md, two lines of docs/ios27/METAL.md.
  • Two changes to how the Metal bundle is built, which the test phones' bundle already has: tools/ios27/metal/patches/frontend-flush.diff (with mk-bundle27.sh) and a fix in tools/ios27/mesa-ios/starbite-drm/starbite_drm.c.
  • tools/ios27/uirun/: scripted taps and swipes over the USB console.
  • tools/ios27/rootrw/: the Mach-O rewriter for the root's executables outside the shared cache, its checker and lists. Method and tools only.

From #281: "Frames on time while swiping, bench phone: 29 % as it was, 42 % with the rebuilt bundle, 66-67 % with the kerne[l queue]"; uirun: "taps, swipes and buttons were run on a phone, the picture verb's kernel side was fixed after that run"; rootrw: "Checked off the phone (283 files staged, the checker green, negative tests fail as they must); not run [on a phone]"; the hang watchdog page: "not yet run on a phone" (the watchdog's kernel side has since landed in the trunk).

No file the ios-27 or 16.5 kernels are built from is touched, so no kernel was rebuilt; the Metal bundle itself was not rebuilt by this branch (it needs toolchains the build Mac does not have). All 27 steps of the check workflow pass locally. npm run preflight does not apply (no Node project).

🤖 Generated with Claude Code

…rame rate (docs/ios27/LIQUID-GLASS.md), the frontend's flush policy, the shim's truthful timeline query, and the root executables' rewriter

docs/ios27/LIQUID-GLASS.md: where CoreAnimation's Metal renderer lost its time on the S9 (synchronous GPU submits, a kernel 'async' that spun for
all but one chain, whole-surface cache maintenance twice a frame), the changes, and five runs on a phone (frames on time 29 % -> 67 %; OpenGL ES 69 %).
tools/ios27/metal/patches/frontend-flush.diff: SWEET_MTL2_FLUSH (0 as before, 1 clean on a seed change, 2 and no invalidate for GPU-only surfaces).
tools/ios27/mesa-ios/starbite-drm: a timeline query waits for the chains queued so far before it says 'reached'.
tools/ios27/rootrw: the Mach-O rewriter, checker and installer for the root's own executables (method and tools; not run on a phone yet).
The kernel side is the fork's wip/ios27-gpu-queue (Scion-Project/xnu pull request 6); the profile's fork_commit is not moved here.
…drive the UI over the USB console), LIQUID-GLASS.md's last runs
…ate (sgu_depth), the watchdog's second use; uirun's smoke and settings scripts
… the Settings row-icon fault as seen (cause open)

Under SWEET_MTL2_FLUSH=1/2 a surface whose seed has not moved is not cleaned again at commit. A surface over a client's
own memory is written without a lock, so its seed says nothing. Such surfaces (pixel format 0, base not 16 KiB aligned)
and any under 1 MiB are now cleaned at every commit, as in mode 0. Not run on a phone: built only. The doc records the
fault seen on the RC1 full root (stripes and blanks among Settings' row icons), the two suspects and the test order.
…rapped, not copied; one surface empty when wrapped)
…id Glass on the Metal compositor (docs, flush policy, shim fix) and the root executables' rewriter tools
@claudiusthebot
claudiusthebot merged commit 4862517 into main Nov 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant