danos/system
Daniel Samson 105203b447
display: layer client API + the display-demo client (D4)
Drive the compositor from a separate process, proving the pipeline end to end.

- runtime.display: a Layer handle (fill / blitTile / configure / damage /
  destroy), createLayer, and a color(r,g,b) helper that caches the mode and
  packs via protocol.pack. Coordinates are signed over the u32 wire fields
  (@bitCast both ways), so a layer may sit or move partly off-screen.
- system/services/display-demo: the input-source analog for the compositor — a
  full-screen wallpaper, a rectangle it slides back and forth (moved by
  configure each frame, so the damage-driven present repaints old + new), and a
  cursor. Presents in a loop paced by runtime.time. Wired into build + initrd.

Fix this surfaced: protocol.message_maximum was 4096, but the kernel caps every
IPC message at MESSAGE_MAXIMUM = 256, so replyWait rejected the oversized receive
buffer with -E2BIG and the serve loop had been spinning since D2 (invisibly, as
those gates matched init-time heartbeats). Set it to 256; blit_tile is now
explicitly a small-tile path (larger bitmaps are the deferred shm surface).

Gate: `python3 test/qemu_test.py display-demo` — the demo drives frames of
motion through the layer client API and logs `display-demo: ok`. Regression:
zig build test, display (D1), display-service (D2/D3), and default zig build.
2026-07-14 01:56:37 +01:00
..
devices display: framebuffer handoff primitive + service design (D1) 2026-07-14 00:54:56 +01:00
drivers fat/usb-storage: flush the device cache on close so writes survive power-off 2026-07-13 23:29:15 +01:00
kernel display: layer client API + the display-demo client (D4) 2026-07-14 01:56:37 +01:00
services display: layer client API + the display-demo client (D4) 2026-07-14 01:56:37 +01:00
abi.zig display: the compositor service — claim, double-buffer, present (D2) 2026-07-14 01:26:25 +01:00
boot-handoff.zig zig fmt 2026-07-12 16:04:58 +01:00
initial-ramdisk.zig Post-reorg cleanup: POSIX layer, and naming fixes 2026-07-10 13:33:06 +01:00
parameters.zig USB driver stack: xHCI transfers, HID keyboard/mouse, mass storage 2026-07-13 14:11:00 +01:00