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.