initial seed: retrofit campaign lineage from local working trees
panvk-bifrost campaigns (r1..r4 Vulkan compositor + r5.video1 Vulkan
video decode) shipped before this repo existed; the deliverable
patches live in marfrit-packages, but the reasoning chain, phase docs,
and source-state evidence lived only in local working trees on the
development host.
This retrofit imports:
- mesa-panvk-bifrost/ — r1..r4 era phase docs (iter1..iter18)
(libmali stub blobs at iter18/blob/ excluded
— 109MB of RE artifacts replaced with a README
pointer)
- mesa-panvk-bifrost-video/ — sibling campaign phase docs + probe
- evidence/ — frozen .tgz source snapshots at each milestone
(basis for the 0005 patch diff generation)
Future iterations should branch off here from day one, so each iter is
a commit rather than a snapshot. See [[feedback-session-local-process-pins]]
for the process drift this retrofit closes.
Total: 1.9 MB across 124 files.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# Iteration 7 close — GREEN
|
||||
|
||||
Closed **2026-05-19**, same session as iter1–6. **Operator-witnessed.**
|
||||
|
||||
## Locked question
|
||||
|
||||
(From [phase0_findings_iter7.md](phase0_findings_iter7.md))
|
||||
|
||||
> Run `vkcube --c 120 --wsi wayland` on ohm (Plasma/Wayland) with `PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1`. Verify: process exits 0, frames rendered, no GPU faults, no kernel-side panfrost errors. Operator may visually confirm.
|
||||
|
||||
## Result: GREEN
|
||||
|
||||
3 runs (120 frames + 120 frames + 240 frames), all RC=0. Validation layer active in run #2 — zero warnings.
|
||||
|
||||
**Operator visual confirmation: "Ich hab' ihn gesehen."** — vkcube's rotating textured cube rendered correctly on the PineTab2 screen.
|
||||
|
||||
Performance: 240 frames in 4.352s = **~55 FPS sustained**, vsync-locked.
|
||||
|
||||
No GPU faults, no MMU faults, no panfrost kernel errors across any run.
|
||||
|
||||
Evidence: [`phase0_evidence/iter7_vkcube_run.txt`](phase0_evidence/iter7_vkcube_run.txt).
|
||||
|
||||
## What the close tells us
|
||||
|
||||
All five hypotheses in [phase0_findings_iter7.md](phase0_findings_iter7.md) — **none materialized.**
|
||||
|
||||
- **VK_KHR_wayland_surface** works on PanVk-Bifrost against live Plasma compositor.
|
||||
- **Swapchain** path is functional (vkcube allocates a swapchain, runs through 240 frames).
|
||||
- **Present queue support** materializes correctly with a real surface (despite "present support = false" in headless vulkaninfo).
|
||||
- **Continuous frame submission** + acquire/present cycle works for hundreds of frames.
|
||||
- **vkcube's combined workload** (MVP UBO + textured cube + depth + present) — works.
|
||||
|
||||
This is the **first off-the-shelf application** in the campaign. It works. The PineTab2 + Mali-G52 + Mesa 26.0.6 + PanVk-Bifrost + Plasma stack can drive a rotating textured Vulkan cube at display refresh rate.
|
||||
|
||||
## Cumulative state — seven iters, ~43 runs, zero driver failures, operator-witnessed real-app workload
|
||||
|
||||
PanVk-Bifrost on Mali-G52 r1 v7 has been proven for:
|
||||
|
||||
| Surface | Iter |
|
||||
|---|---|
|
||||
| Compute pipeline | iter1 |
|
||||
| Image transfer ops | iter2 |
|
||||
| Graphics pipeline + dynamic rendering | iter3 |
|
||||
| Sampled textures + texelFetch | iter4 |
|
||||
| Vertex buffers + UBO + varying interp | iter5 |
|
||||
| Depth attachment + multi-draw | iter6 |
|
||||
| **Real app (vkcube) + WSI + Wayland + swapchain + continuous frames** | **iter7** |
|
||||
|
||||
## iter7 in-tree artifacts
|
||||
|
||||
- [`phase0_findings_iter7.md`](phase0_findings_iter7.md) — lock
|
||||
- [`phase0_evidence/iter7_vkcube_run.txt`](phase0_evidence/iter7_vkcube_run.txt) — run captures + operator-witness statement
|
||||
- (No iter7/ source dir — used stock vkcube)
|
||||
|
||||
## Next iter — iter8 lock proposal
|
||||
|
||||
**Zink-on-PanVk smoke: run a simple OpenGL ES application via Mesa's Zink driver (GL → Vulkan translation) backed by PanVk-Bifrost.** This is the bridge to TuxRacer.
|
||||
|
||||
Approach:
|
||||
1. Verify Zink is available in Mesa 26.0.6 on ohm (`MESA_LOADER_DRIVER_OVERRIDE=zink`).
|
||||
2. Run something simple under Zink: `glmark2-es2-wayland` (already present per pacman check in iter0; verify) or `es2_info` to confirm bindings, or write a minimal GL probe.
|
||||
3. Verify: GL context creates, GL rendering works, no crashes during a brief workload.
|
||||
|
||||
iter8 question:
|
||||
> **Verify Zink-on-PanVk works on ohm — run `glmark2-es2-wayland` (or equivalent stock ES2 demo) with `MESA_LOADER_DRIVER_OVERRIDE=zink` + `PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1` against Plasma/Wayland. Verify: at least one benchmark scene completes, no GPU faults, no Zink/Mesa crashes. If glmark2 has issues unrelated to Zink, fall back to es2gears or a minimal GL probe.**
|
||||
|
||||
If iter8 GREEN: PanVk-Bifrost is real and TuxRacer-via-Zink is on the path.
|
||||
|
||||
Pacing per 8-phase loop. iter8 opens immediately.
|
||||
Reference in New Issue
Block a user