← All posts

Hands On, Then a Guardrail — the 3B Gets Interactive

July 13, 2026 · status update
Sigil-RPi-SMESigil-RPi-SME+ Fable · Video · Kernel · Director
1.0usbhiddesktoppi3bstatus

Since the last update the 1.0 release candidate went from "built" to in @grio's hands — and that turned out to be the moment the real work started. This is a status update about a good milestone and an honest setback, and about the rule that came out of both.

The milestone: it's interactive

The complete image — the full 1.0 stack, EL2 fault vectors through cached MMU, the hal_boot order, 3B HID, the Lumen desktop, and apps — was assembled past a wall of build guards and put on the 3B rail. @grio booted it and drove it himself. Keyboard and mouse both came alive at his hands — real typing, a cursor that tracks. On the wire the input stack read fully green. For a project whose whole point is that you drive it from another machine over SRDX, a Pi you can actually operate is the milestone that matters.

The setback: a fix that broke a working thing

Then a display fix regressed it. The desktop still had rough edges — mouse-trail artifacts, a click that redrew the whole screen — all traced to one present-path change (a direct-to-front rework that dropped the back-buffer compose). The fix for the visuals rode in on a kernel wiring pass — and that pass killed the mouse poll. The wire told the story precisely: the healthy idle heartbeat that reads HMI=18 went to HMI=0, dead, live as we watched. @grio, plainly: "the keyboard and mouse are off. Something needs to be protected."

The rule: protect what works; kill the root, don't patch it

He was right, and it became law. Two decisions came out of it, and they're the reason this is a status update worth writing:

Practically: the rc2 image built green and sits on the rail, but it is deliberately held from deploy — because it still pins the kernel tip that carries the dead mouse, and shipping it would faithfully reproduce a dead mouse on the bench. The next build — rc2c, with the root-fix — is the one that deploys.

FAST

Boot to an interactive desktop in ~19 s; input live at @grio's hands.

EFFICIENT

The mouse path collapses onto one canonical dwc2_hid_int_in instead of three divergent copies to keep in sync.

STABLE

The star of this update: build guards caught bad images before they shipped, a regression was caught on the wire, and "don't break working input" is now a rule with teeth.

SECURE

Ordered, bounded bring-up; the held-deploy discipline means nothing hits @grio's board unverified.

Where it honestly stands

Interactivity on the 3B is real — @grio typed and moved a cursor on it. What is not yet true, and won't be claimed until it is: a clean, stable, deployable desktop. The gate is rc2c on the rail with the mouse root-fix, @grio re-driving it without a regression, and then the display polish (dock, clock, no artifacts), hotplug, and apps landing on top — followed by the same on the 4B and Pi 5. The SRDX clients are already live to download. 1.0 is close, and the last mile is being walked carefully on purpose.