Captured 2026-05-19 from ohm (PineTab2 v2.0 / RK3566 / Mali-G52 r1 MC1)
Command: PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1 vulkaninfo
Stripped: leading "DISPLAY not set" / "XDG_RUNTIME_DIR invalid" stderr noise.

==========
VULKANINFO
==========

Vulkan Instance Version: 1.4.350


Instance Extensions: count = 19
===============================
	VK_EXT_acquire_xlib_display            : extension revision 1
	VK_EXT_debug_report                    : extension revision 10
	VK_EXT_debug_utils                     : extension revision 2
	VK_EXT_direct_mode_display             : extension revision 1
	VK_EXT_display_surface_counter         : extension revision 1
	VK_EXT_headless_surface                : extension revision 1
	VK_EXT_layer_settings                  : extension revision 2
	VK_KHR_device_group_creation           : extension revision 1
	VK_KHR_display                         : extension revision 23
	VK_KHR_external_fence_capabilities     : extension revision 1
	VK_KHR_external_memory_capabilities    : extension revision 1
	VK_KHR_external_semaphore_capabilities : extension revision 1
	VK_KHR_get_physical_device_properties2 : extension revision 2
	VK_KHR_portability_enumeration         : extension revision 1
	VK_KHR_surface                         : extension revision 25
	VK_KHR_wayland_surface                 : extension revision 6
	VK_KHR_xcb_surface                     : extension revision 6
	VK_KHR_xlib_surface                    : extension revision 6
	VK_LUNARG_direct_driver_loading        : extension revision 1

Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
	apiVersion        = 1.0.335 (4194639)
	driverVersion     = 26.0.6 (109051910)
	vendorID          = 0x13b5
	deviceID          = 0x74021000
	deviceType        = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName        = Mali-G52 r1 MC1
	pipelineCacheUUID = 287f3481-6415-7361-b1e9-14774b59e609

VkPhysicalDeviceLimits (selected):
----------------------------------
	maxImageDimension1D                    = 65536
	maxImageDimension2D                    = 16383
	maxImageDimension3D                    = 512        # small — Bifrost limitation
	maxImageDimensionCube                  = 16383
	maxImageArrayLayers                    = 65536
	maxBoundDescriptorSets                 = 4          # LOW — many engines want 8
	maxPushConstantsSize                   = 256
	maxComputeSharedMemorySize             = 32768
	maxComputeWorkGroupCount               = 65535/65535/65535
	maxComputeWorkGroupInvocations         = 384
	maxComputeWorkGroupSize                = 384/384/384
	maxViewports                           = 1          # single viewport
	maxViewportDimensions                  = 16384/16384
	maxFramebufferWidth/Height/Layers      = 16384/16384/256
	framebufferColorSampleCounts           = {1x, 4x}   # no 2x or 8x MSAA
	maxColorAttachments                    = 8
	timestampComputeAndGraphics            = false      # TIMESTAMPS BROKEN
	timestampPeriod                        = 0
	maxDrawIndirectCount                   = 1
	maxClipDistances                       = 0          # no gl_ClipDistance
	maxCullDistances                       = 0

VkPhysicalDeviceDriverPropertiesKHR:
------------------------------------
	driverID           = DRIVER_ID_MESA_PANVK
	driverName         = panvk
	driverInfo         = Mesa 26.0.6-arch1.1
	conformanceVersion = 0.0.0.0

VkPhysicalDeviceFeatures (selected, supported):
-----------------------------------------------
	robustBufferAccess                      = true
	fullDrawIndexUint32                     = true
	imageCubeArray                          = true
	independentBlend                        = true
	sampleRateShading                       = true
	dualSrcBlend                            = true
	logicOp                                 = true
	drawIndirectFirstInstance               = true
	depthClamp                              = true
	depthBiasClamp                          = true
	wideLines                               = true
	largePoints                             = true
	samplerAnisotropy                       = true
	textureCompressionETC2                  = true
	textureCompressionASTC_LDR              = true
	textureCompressionBC                    = true
	occlusionQueryPrecise                   = true
	shaderImageGatherExtended               = true
	shaderStorageImageExtendedFormats       = true
	shaderStorageImageReadWithoutFormat     = true
	shaderStorageImageWriteWithoutFormat    = true
	shaderUniformBufferArrayDynamicIndexing = true
	shaderSampledImageArrayDynamicIndexing  = true
	shaderStorageBufferArrayDynamicIndexing = true
	shaderStorageImageArrayDynamicIndexing  = true
	shaderInt64                             = true
	shaderInt16                             = true

VkPhysicalDeviceFeatures (selected, NOT supported):
---------------------------------------------------
	geometryShader                          = false    # Mali never had geometry
	tessellationShader                      = false    # Mali never had tess
	multiDrawIndirect                       = false
	multiViewport                           = false
	alphaToOne                              = false
	fillModeNonSolid                        = false    # no wireframe
	depthBounds                             = false
	pipelineStatisticsQuery                 = false
	vertexPipelineStoresAndAtomics          = false
	fragmentStoresAndAtomics                = false
	shaderTessellationAndGeometryPointSize  = false
	shaderStorageImageMultisample           = false
	shaderClipDistance                      = false
	shaderCullDistance                      = false
	shaderFloat64                           = false
	shaderFloat16                           = false    # surprising — see 16bit_storage
	shaderResourceResidency                 = false
	shaderResourceMinLod                    = false
	sparseBinding                           = false    # v10+ only
	sparseResidency*                        = false (all)
	variableMultisampleRate                 = false
	inheritedQueries                        = false

VkQueueFamilyProperties:
------------------------
	queueProperties[0]:
		queueCount         = 1
		queueFlags         = QUEUE_GRAPHICS_BIT | QUEUE_COMPUTE_BIT | QUEUE_TRANSFER_BIT
		timestampValidBits = 0     # timestamps broken
		present support    = false # no-surface query — needs WSI surface present

VkPhysicalDeviceMemoryProperties:
---------------------------------
	memoryHeaps[0]:
		size  = 6043143168 (5.63 GiB)  # UMA — full system RAM as device-local
		flags = MEMORY_HEAP_DEVICE_LOCAL_BIT
	memoryTypes:
		[0] DEVICE_LOCAL_BIT
		[1] DEVICE_LOCAL_BIT | HOST_VISIBLE_BIT | HOST_CACHED_BIT
		[2] DEVICE_LOCAL_BIT | HOST_VISIBLE_BIT | HOST_COHERENT_BIT

Device Extensions: count = 118
==============================
[Full list — 118 extensions. Notable ones below; full list in repo at this path.]

VK_EXT_4444_formats VK_EXT_border_color_swizzle VK_EXT_buffer_device_address
VK_EXT_calibrated_timestamps VK_EXT_custom_border_color VK_EXT_depth_bias_control
VK_EXT_depth_clamp_zero_one VK_EXT_depth_clip_control VK_EXT_depth_clip_enable
VK_EXT_device_memory_report VK_EXT_extended_dynamic_state VK_EXT_extended_dynamic_state2
VK_EXT_external_memory_dma_buf VK_EXT_graphics_pipeline_library VK_EXT_hdr_metadata
VK_EXT_host_image_copy VK_EXT_host_query_reset VK_EXT_image_drm_format_modifier
VK_EXT_image_robustness VK_EXT_index_type_uint8 VK_EXT_inline_uniform_block
VK_EXT_line_rasterization VK_EXT_load_store_op_none
VK_EXT_multisampled_render_to_single_sampled VK_EXT_non_seamless_cube_map
VK_EXT_physical_device_drm VK_EXT_pipeline_creation_cache_control
VK_EXT_pipeline_robustness VK_EXT_primitive_topology_list_restart VK_EXT_private_data
VK_EXT_provoking_vertex VK_EXT_queue_family_foreign VK_EXT_scalar_block_layout
VK_EXT_separate_stencil_usage VK_EXT_shader_demote_to_helper_invocation
VK_EXT_shader_module_identifier VK_EXT_shader_replicated_composites
VK_EXT_shader_subgroup_ballot VK_EXT_shader_subgroup_vote VK_EXT_texel_buffer_alignment
VK_EXT_texture_compression_astc_hdr VK_EXT_tooling_info VK_EXT_vertex_attribute_divisor
VK_EXT_vertex_input_dynamic_state
VK_KHR_16bit_storage VK_KHR_8bit_storage VK_KHR_bind_memory2
VK_KHR_buffer_device_address VK_KHR_copy_commands2 VK_KHR_create_renderpass2
VK_KHR_dedicated_allocation VK_KHR_depth_stencil_resolve
VK_KHR_descriptor_update_template VK_KHR_device_group VK_KHR_driver_properties
VK_KHR_dynamic_rendering VK_KHR_dynamic_rendering_local_read
VK_KHR_external_fence VK_KHR_external_fence_fd VK_KHR_external_memory
VK_KHR_external_memory_fd VK_KHR_external_semaphore VK_KHR_external_semaphore_fd
VK_KHR_format_feature_flags2 VK_KHR_global_priority
VK_KHR_image_format_list VK_KHR_imageless_framebuffer
VK_KHR_index_type_uint8 VK_KHR_line_rasterization VK_KHR_load_store_op_none
VK_KHR_maintenance1 VK_KHR_maintenance2 VK_KHR_maintenance3 VK_KHR_maintenance9
VK_KHR_map_memory2 VK_KHR_multiview VK_KHR_pipeline_binary
VK_KHR_pipeline_executable_properties VK_KHR_pipeline_library
VK_KHR_present_id2 VK_KHR_present_wait2 VK_KHR_push_descriptor
VK_KHR_relaxed_block_layout VK_KHR_sampler_mirror_clamp_to_edge
VK_KHR_sampler_ycbcr_conversion VK_KHR_separate_depth_stencil_layouts
VK_KHR_shader_clock VK_KHR_shader_draw_parameters VK_KHR_shader_expect_assume
VK_KHR_shader_float16_int8 VK_KHR_shader_float_controls
VK_KHR_shader_integer_dot_product VK_KHR_shader_non_semantic_info
VK_KHR_shader_relaxed_extended_instruction VK_KHR_shader_subgroup_rotate
VK_KHR_shader_terminate_invocation VK_KHR_storage_buffer_storage_class
VK_KHR_swapchain VK_KHR_synchronization2 VK_KHR_timeline_semaphore
VK_KHR_unified_image_layouts VK_KHR_uniform_buffer_standard_layout
VK_KHR_variable_pointers VK_KHR_vertex_attribute_divisor
VK_KHR_vulkan_memory_model VK_KHR_zero_initialize_workgroup_memory

NOT in extension list (worth noting):
	VK_EXT_descriptor_indexing               # bindless descriptors
	VK_EXT_transform_feedback                # XFB
	VK_EXT_conditional_rendering
	VK_KHR_ray_tracing_*                     # RT not on Bifrost
	VK_EXT_mesh_shader                       # mesh not on Bifrost
	VK_EXT_fragment_shader_interlock
	VK_EXT_fragment_density_map              # Mali variable rate shading

End of vulkaninfo capture.
