iter1 minimal compute probe — captured 2026-05-19 on ohm (PineTab2 v2.0, RK3566, Mali-G52 r1 MC1, Mesa 26.0.6, kernel 7.0.0-danctnix1-6) Source: panvk-bifrost/iter1/{probe_compute.c, probe_compute.comp, Makefile} Deployed to: /tmp/panvk-iter1/ Build: clean (no warnings with -Wall -Wextra) Binary: 260592 bytes SPV: 560 bytes ===== RUN #1 (no validation layer) ===== $ PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 ./probe_compute [step] vkCreateInstance [step] vkEnumeratePhysicalDevices WARNING: panvk is not a conformant Vulkan implementation, testing use only. [info] gpu='Mali-G52 r1 MC1' apiVersion=1.0.335 driverVersion=109051910 [step] vkGetPhysicalDeviceQueueFamilyProperties [info] using queue family 0 (flags=0x7) [step] vkCreateDevice [step] vkCreateBuffer (storage, host-visible) [info] buffer memReq size=64 alignment=64 typeBits=0x7 [step] vkAllocateMemory [step] vkMapMemory (pre-write 0xDEADBEEF sentinel) [step] vkCreateDescriptorSetLayout [step] vkCreateDescriptorPool [step] vkAllocateDescriptorSets [step] vkUpdateDescriptorSets [step] vkCreateShaderModule (from probe_compute.spv) [step] vkCreatePipelineLayout [step] vkCreateComputePipelines [step] vkCreateCommandPool [step] vkAllocateCommandBuffers [step] vkBeginCommandBuffer + record dispatch [step] vkCreateFence [step] vkQueueSubmit [step] vkWaitForFences (5s timeout) [step] vkInvalidateMappedMemoryRanges + readback [info] buffer[0] = 0xcafebabe (expected 0xcafebabe) [PASS] PanVk-Bifrost compute dispatch wrote the expected pattern. ===== RC=0 ===== ===== RUN #2 (VK_LAYER_KHRONOS_validation enabled) ===== $ PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 \ VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validation ./probe_compute [same step trace as above] [info] buffer[0] = 0xcafebabe (expected 0xcafebabe) [PASS] PanVk-Bifrost compute dispatch wrote the expected pattern. ===== RC=0 ===== No validation-layer warnings or errors emitted. (vkCreateInstance succeeded with the layer string in VK_INSTANCE_LAYERS, which implies the loader found and activated the layer; otherwise it would return VK_ERROR_LAYER_NOT_PRESENT.) ===== STABILITY: 5 consecutive reruns ===== $ for i in 1 2 3 4 5; do PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 ./probe_compute; done [info] buffer[0] = 0xcafebabe (expected 0xcafebabe) [PASS] PanVk-Bifrost compute dispatch wrote the expected pattern. [info] buffer[0] = 0xcafebabe (expected 0xcafebabe) [PASS] PanVk-Bifrost compute dispatch wrote the expected pattern. [info] buffer[0] = 0xcafebabe (expected 0xcafebabe) [PASS] PanVk-Bifrost compute dispatch wrote the expected pattern. [info] buffer[0] = 0xcafebabe (expected 0xcafebabe) [PASS] PanVk-Bifrost compute dispatch wrote the expected pattern. [info] buffer[0] = 0xcafebabe (expected 0xcafebabe) [PASS] PanVk-Bifrost compute dispatch wrote the expected pattern. 6/6 runs PASS. ===== DMESG (panfrost-related, full boot tail) ===== [ 5.331157] panfrost fde60000.gpu: clock rate = 594000000 [ 5.331201] panfrost fde60000.gpu: bus_clock rate = 500000000 [ 5.336259] panfrost fde60000.gpu: [drm:panfrost_devfreq_init [panfrost]] Failed to register cooling device [ 5.336430] panfrost fde60000.gpu: mali-g52 id 0x7402 major 0x1 minor 0x0 status 0x0 [ 5.336443] panfrost fde60000.gpu: features: 00000000,00000df7, issues: 00000000,00000400 [ 5.336450] panfrost fde60000.gpu: Features: L2:0x07110206 Shader:0x00000002 Tiler:0x00000209 Mem:0x1 MMU:0x00002823 AS:0xff JS:0x7 [ 5.336458] panfrost fde60000.gpu: shader_present=0x1 l2_present=0x1 [ 5.344566] panfrost fde60000.gpu: [drm] Using Transparent Hugepage [ 5.347277] [drm] Initialized panfrost 1.6.0 for fde60000.gpu on minor 1 No GPU faults, no MMU faults, no kernel-side panfrost warnings after running the probe 6 times.