iter7 vkcube — captured 2026-05-19 on ohm
(PineTab2 v2.0, RK3566, Mali-G52 r1 MC1, Mesa 26.0.6, kernel 7.0.0-danctnix1-6)
Operator session: mfritsche (UID 1001), Plasma/Wayland on tty1, wayland-0 socket.

===== RUN #1 (--c 120 --wsi wayland) =====
$ sudo -u mfritsche XDG_RUNTIME_DIR=/run/user/1001 WAYLAND_DISPLAY=wayland-0 \
  PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 timeout 30 vkcube --c 120 --wsi wayland

WARNING: panvk is not a conformant Vulkan implementation, testing use only.
Selected GPU 0: Mali-G52 r1 MC1, type: IntegratedGpu
===== RC=0 =====

===== RUN #2 (--c 120 --wsi wayland --validate) =====
$ sudo -u mfritsche XDG_RUNTIME_DIR=/run/user/1001 WAYLAND_DISPLAY=wayland-0 \
  PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 timeout 30 vkcube --c 120 --wsi wayland --validate

WARNING: panvk is not a conformant Vulkan implementation, testing use only.
Selected GPU 0: Mali-G52 r1 MC1, type: IntegratedGpu
===== RC=0 =====
(VK_LAYER_KHRONOS_validation active, zero warnings printed.)

===== RUN #3 (--c 240, timed) =====
$ time sudo -u mfritsche XDG_RUNTIME_DIR=/run/user/1001 WAYLAND_DISPLAY=wayland-0 \
  PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 timeout 30 vkcube --c 240 --wsi wayland

WARNING: panvk is not a conformant Vulkan implementation, testing use only.
Selected GPU 0: Mali-G52 r1 MC1, type: IntegratedGpu

real    0m4.352s
user    0m0.176s
sys     0m0.251s
===== RC=0 =====

→ 240 frames / 4.352s = ~55.1 FPS sustained.
  Almost certainly vsync-locked to display refresh (60Hz on PineTab2).
  user+sys CPU = 0.43s out of 4.35s wall → ~10% CPU, the rest is GPU+vsync wait.

===== OPERATOR VISUAL CONFIRMATION =====
2026-05-19, mfritsche: "Ich hab' ihn gesehen." — vkcube's rotating textured
cube was visually verified on the PineTab2 screen during the run.

===== DMESG =====
No panfrost faults, no MMU faults, no GPU error messages logged during or
after the 3 vkcube runs.

===== KEY OBSERVATIONS =====

1. PanVk-Bifrost handles the canonical Vulkan reference application end-to-end:
   - VK_KHR_wayland_surface creates a surface against the Plasma compositor
   - VK_KHR_swapchain allocates swapchain images
   - vkAcquireNextImageKHR + vkQueuePresentKHR cycle works for 240 frames
   - Rotating MVP matrix per frame, textured cube vertex buffer, depth test
   - 55 FPS sustained on a single-core (MC1) Mali-G52 — vsync-locked

2. The "present support = false" line in vulkaninfo (from an off-line surface
   query) is misleading — with an actual Wayland surface in play, vkcube
   negotiates a present-capable swapchain without issues.

3. Validation layer reports zero warnings even with --validate.

4. This is the first real-app smoke test in this campaign and it passes
   without any code path failing.
