Files
marfrit a4e7d8ab90 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>
2026-05-23 05:25:37 +02:00

59 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Phase 0 — substrate for iter7
Opened **2026-05-19** after [iter6 close GREEN](phase8_iteration6_close.md).
## Locked research question — iter7
> **Run stock `vkcube --c 120 --wsi wayland` (Vulkan reference rotating-cube demo) on ohm against the live Plasma/Wayland session, with `PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1`. Verify:**
>
> - Process exits 0
> - 120 frames rendered (vkcube reports if --c was honored)
> - No GPU faults in dmesg during the run
> - No kernel-side panfrost errors
> - Operator may visually confirm correct cube rendering (PineTab2 has its own display)
## Why this shape
iter16 closed all the synthetic-probe paths. iter7 is the **first real off-the-shelf application**. New surface area:
- **WSI / swapchain (`VK_KHR_swapchain`)** — first time we use the swapchain path.
- **`VK_KHR_wayland_surface`** — first time we connect to a live Wayland compositor.
- **Continuous frame submission** — many `vkQueueSubmit` calls in sequence, with synchronization across frames.
- **Acquire/present cycle** — vkAcquireNextImageKHR + vkQueuePresentKHR per frame.
- **vkcube's own state** — rotation matrix per frame, textured cube vertices, depth buffer, all bundled together.
If vkcube works end-to-end, that's massive validation toward TuxRacer-via-Zink. If it crashes, we have a known-reference reproducer + a real bug to characterize.
## Session info (gathered)
- Active user: `mfritsche` (UID 1001) on `tty1`
- `XDG_RUNTIME_DIR=/run/user/1001`
- `WAYLAND_DISPLAY=wayland-0` (socket present at `/run/user/1001/wayland-0`)
- vkcube version: from `vulkan-tools 1.4.350.0-1` package
## Hypothesis space
1. **`VK_KHR_wayland_surface` plumbing.** First-ever PanVk-Bifrost test of Wayland surface creation.
2. **Swapchain creation.** PanVk's swapchain path may have stale or untested code on v6/v7 — particularly modifier-aware swapchain images.
3. **Present queue** — vulkaninfo's "present support = false" on the only queue family (no-surface query) may turn into a runtime issue when a real surface exists.
4. **Continuous frame submission** — sync2 / timeline semaphore plumbing across frames.
5. **vkcube's specific draw shape** — textured cube uses MVP UBO, vertex buffer with positions, normals, texcoords; texture upload; depth test. All things proven in isolation, but combined here.
## In-scope (LOCKED 2026-05-19 for iter7)
- 120 frames of vkcube via Wayland WSI on ohm.
- Stock binary (no modifications).
- Whatever GPU PanVk picks (single Mali on ohm).
## Out-of-scope (LOCKED 2026-05-19 for iter7)
- VK_KHR_xcb_surface / VK_KHR_xlib_surface paths.
- VK_KHR_display direct-mode (would conflict with Plasma session).
- VK_EXT_headless_surface (not strictly needed if Wayland works).
- vkmark / Zink (iter8+).
- vkcube subtests (--use_staging variations).
## Reference
- Prior closes: [iter1](phase8_iteration1_close.md) [iter6](phase8_iteration6_close.md).