Open jwinarske opened 8 months ago
drm_info reporting: https://drmdb.emersion.fr/snapshots/7228be56432f
UEFI
export WORKSPACE=/work/git/tianocore
mkdir -p $WORKSPACE
cd $WORKSPACE
git clone https://github.com/tianocore/edk2.git
pushd edk2
git checkout edk2-stable202311
git submodule update --init
popd
git clone https://github.com/tianocore/edk2-platforms.git
pushd edk2-platforms
git submodule update --init
git apply ../patches/DesignWare/0001-DesignWare-DwEmmcDxe-Enabled-Internal-IDMAC-interrup.patch
git apply ../patches/DesignWare/0002-DesignWare-DwEmmcDxe-Add-CPU-little-endian-option.patch
git apply ../patches/DesignWare/0003-DesignWare-DwEmmcDxe-Remove-ARM-dependency-library.patch
git apply ../patches/DesignWare/0004-DesignWare-DwEmmcDxe-Add-handling-for-SDMMC.patch
git apply ../patches/DesignWare/0004-DesignWare-DwEmmcDxe-Add-handling-for-SDMMC.patc
git apply ../patches/DesignWare/0004-DesignWare-DwEmmcDxe-Add-handling-for-SDMMC.patch
git apply ../patches/DesignWare/0005-Force-DMA-buffer-to-allocate-below-4GB.patch
git apply ../patches/Starfive/0001-Add_Pci_controller_driver.patch
git apply ../patches/Starfive/0002-Add_SPI_protocol_and_driver_support.patch
git apply ../patches/Starfive/0003-Add_firmware_volume_block_protocol.patch
git apply ../patches/Starfive/0004-Add_JH7110_Silicon_Package.patch
git apply ../patches/Starfive/0005-Add_VisionFive_2_platform.patch
popd
git clone https://github.com/tianocore/edk2-non-osi.git
export PACKAGES_PATH=$PWD/edk2:$PWD/edk2-platforms:$PWD/edk2-non-osi
sudo yum install autoconf automake python3 libmpc-devel mpfr-devel gmp-devel gawk bison flex texinfo patchutils gcc gcc-c++ zlib-devel expat-devel
git clone https://github.com/riscv-collab/riscv-gnu-toolchain.git
pushd riscv-gnu-toolchain
./configure --prefix=/opt/riscv
mkdir /opt/riscv
sudo chown -R $USER:$USER /opt/riscv
make linux
export PATH=$PATH:/opt/riscv/bin
export GCC5_RISCV64_PREFIX=riscv64-unknown-linux-gnu-
cd $WORKSPACE
source ./edksetup.sh
export NUM_CPUS=$((`getconf _NPROCESSORS_ONLN` + 2))
build -n $NUM_CPUS -a RISCV64 -t GCC5 -p Platform/StarFive/VisionFive2/VisionFive2.dsc
Flash Recovery via RS-232: https://github.com/starfive-tech/Tools/tree/master#recovery
Moved to https://github.com/riscv/meta-riscv master
MACHINE ?= "visionfive2"
INHERIT += "rm_work"
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INIT_MANAGER = "systemd"
DISTRO_FEATURES:append = " wayland opengl"
# localization
DEFAULT_TIMEZONE = "America/Los_Angeles"
# ENABLE_BINARY_LOCALE_GENERATION = "1"
# IMAGE_LINGUAS:append = " en-us"
# GLIBC_GENERATE_LOCALES:append = " en_US.UTF-8"
IMAGE_INSTALL:append = " \
tzdata-core \
tzdata-americas \
"
DISTRO_FEATURES:append = " systemd alsa wifi bluetooth usbhost pipewire"
DISTRO_FEATURES:remove = "sysvinit usbgadget ptest xen x11"
COMBINED_FEATURES += "alsa "
INIT_MANAGER = "systemd"
LICENSE_FLAGS_ACCEPTED += " commercial"
DISTRO_FEATURES:append = " opengl wayland pam"
PACKAGECONFIG:append:pn-weston = " remoting"
DISTRO_FEATURES:append = " vulkan"
IMAGE_INSTALL:append = " \
\
curl \
geoclue \
gpsd \
\
dart-sdk \
\
vulkan-tools \
vulkan-caps-viewer \
sascha-samples \
vkcube \
drm-info \
\
pipewire \
pipewire-modules-meta \
pipewire-modules-rt \
pipewire-spa-plugins-meta \
pipewire-spa-plugins-alsa \
pipewire-spa-plugins-audioconvert \
pipewire-spa-plugins-audiomixer \
pipewire-spa-plugins-bluez5 \
pipewire-spa-plugins-codec-bluez5-aac \
pipewire-spa-plugins-codec-bluez5-faststream \
pipewire-spa-plugins-codec-bluez5-opus \
pipewire-spa-plugins-codec-bluez5-sbc \
pipewire-spa-plugins-dbus \
pipewire-spa-plugins-ffmpeg \
pipewire-spa-plugins-libcamera \
pipewire-spa-plugins-volume \
pipewire-spa-plugins-vulkan \
pipewire-alsa \
gstreamer1.0-pipewire \
pipewire-tools \
pipewire-spa-tools \
alsa-utils \
pipewire-spa-plugins-libcamera \
\
ffmpeg \
libsf-codaj12 \
libsf-omxil \
libsf-wave420l \
libsf-wave511 \
jpu-module \
vdec-module \
venc-module \
\
v4l-utils \
i2c-tools \
canutils \
\
visionfive2-pvr-graphics \
\
gdb \
ldd \
strace \
"
PACKAGECONFIG:append:pn-mesa-pvr = " egl"
PACKAGECONFIG:remove:pn-qtbase = " gl"
PACKAGECONFIG:append:pn-qtbase = " gles2"
/dev/dri/card1: data uploaded to https://drmdb.emersion.fr/snapshots/1e04f6c29705
/dev/dri/card0: data uploaded to https://drmdb.emersion.fr/snapshots/19db21e516c8
$ vulkaninfo
==========
VULKANINFO
==========
Vulkan Instance Version: 1.3.275
Instance Extensions: count = 9
==============================
VK_EXT_debug_report : extension revision 10
VK_EXT_debug_utils : extension revision 2
VK_KHR_device_group_creation : extension revision 1
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_LUNARG_direct_driver_loading : extension revision 1
Layers:
=======
Device Properties and Extensions:
=================================
GPU0:
VkPhysicalDeviceProperties:
---------------------------
apiVersion = 1.3.225 (4206817)
driverVersion = 1.525.317 (6345021)
vendorID = 0x1010
deviceID = 0x36054182
deviceType = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
deviceName = PowerVR B-Series BXE-4-32
pipelineCacheUUID = 3dd16000-2432-0036-00b6-0014632b6500
VkPhysicalDeviceLimits:
-----------------------
maxImageDimension1D = 8192
maxImageDimension2D = 8192
maxImageDimension3D = 2048
maxImageDimensionCube = 8192
maxImageArrayLayers = 2048
maxTexelBufferElements = 65536
maxUniformBufferRange = 134217728
maxStorageBufferRange = 134217728
maxPushConstantsSize = 256
maxMemoryAllocationCount = 4294967295
maxSamplerAllocationCount = 4294967295
bufferImageGranularity = 0x00000001
sparseAddressSpaceSize = 0x4000000000
maxBoundDescriptorSets = 8
maxPerStageDescriptorSamplers = 32
maxPerStageDescriptorUniformBuffers = 64
maxPerStageDescriptorStorageBuffers = 36
maxPerStageDescriptorSampledImages = 48
maxPerStageDescriptorStorageImages = 8
maxPerStageDescriptorInputAttachments = 8
maxPerStageResources = 224
maxDescriptorSetSamplers = 256
maxDescriptorSetUniformBuffers = 256
maxDescriptorSetUniformBuffersDynamic = 8
maxDescriptorSetStorageBuffers = 256
maxDescriptorSetStorageBuffersDynamic = 8
maxDescriptorSetSampledImages = 256
maxDescriptorSetStorageImages = 256
maxDescriptorSetInputAttachments = 256
maxVertexInputAttributes = 16
maxVertexInputBindings = 16
maxVertexInputAttributeOffset = 65535
maxVertexInputBindingStride = 2147483648
maxVertexOutputComponents = 68
maxTessellationGenerationLevel = 0
maxTessellationPatchSize = 0
maxTessellationControlPerVertexInputComponents = 0
maxTessellationControlPerVertexOutputComponents = 0
maxTessellationControlPerPatchOutputComponents = 0
maxTessellationControlTotalOutputComponents = 0
maxTessellationEvaluationInputComponents = 0
maxTessellationEvaluationOutputComponents = 0
maxGeometryShaderInvocations = 0
maxGeometryInputComponents = 0
maxGeometryOutputComponents = 0
maxGeometryOutputVertices = 0
maxGeometryTotalOutputComponents = 0
maxFragmentInputComponents = 68
maxFragmentOutputAttachments = 8
maxFragmentDualSrcAttachments = 8
maxFragmentCombinedOutputResources = 52
maxComputeSharedMemorySize = 16384
maxComputeWorkGroupCount: count = 3
65536
65536
65536
maxComputeWorkGroupInvocations = 512
maxComputeWorkGroupSize: count = 3
512
512
64
subPixelPrecisionBits = 4
subTexelPrecisionBits = 8
mipmapPrecisionBits = 8
maxDrawIndexedIndexValue = 4294967295
maxDrawIndirectCount = 2147483648
maxSamplerLodBias = 15
maxSamplerAnisotropy = 16
maxViewports = 1
maxViewportDimensions: count = 2
8192
8192
viewportBoundsRange: count = 2
-16384
16384
viewportSubPixelBits = 0
minMemoryMapAlignment = 64
minTexelBufferOffsetAlignment = 0x00000010
minUniformBufferOffsetAlignment = 0x00000004
minStorageBufferOffsetAlignment = 0x00000004
minTexelOffset = -8
maxTexelOffset = 7
minTexelGatherOffset = -8
maxTexelGatherOffset = 7
minInterpolationOffset = -0.5
maxInterpolationOffset = 0.5
subPixelInterpolationOffsetBits = 4
maxFramebufferWidth = 8192
maxFramebufferHeight = 8192
maxFramebufferLayers = 2048
framebufferColorSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
framebufferDepthSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
framebufferStencilSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
framebufferNoAttachmentsSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
maxColorAttachments = 8
sampledImageColorSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
sampledImageIntegerSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
sampledImageDepthSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
sampledImageStencilSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
storageImageSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
maxSampleMaskWords = 1
timestampComputeAndGraphics = true
timestampPeriod = 1
maxClipDistances = 8
maxCullDistances = 8
maxCombinedClipAndCullDistances = 8
discreteQueuePriorities = 2
pointSizeRange: count = 2
1
511
lineWidthRange: count = 2
0.0625
16
pointSizeGranularity = 0.0625
lineWidthGranularity = 0.0625
strictLines = false
standardSampleLocations = true
optimalBufferCopyOffsetAlignment = 0x00000004
optimalBufferCopyRowPitchAlignment = 0x00000004
nonCoherentAtomSize = 0x00000001
VkPhysicalDeviceSparseProperties:
---------------------------------
residencyStandard2DBlockShape = false
residencyStandard2DMultisampleBlockShape = false
residencyStandard3DBlockShape = false
residencyAlignedMipSize = false
residencyNonResidentStrict = false
VkPhysicalDeviceBlendOperationAdvancedPropertiesEXT:
----------------------------------------------------
advancedBlendMaxColorAttachments = 8
advancedBlendIndependentBlend = true
advancedBlendNonPremultipliedSrcColor = false
advancedBlendNonPremultipliedDstColor = false
advancedBlendCorrelatedOverlap = false
advancedBlendAllOperations = false
VkPhysicalDeviceCustomBorderColorPropertiesEXT:
-----------------------------------------------
maxCustomBorderColorSamplers = 59
VkPhysicalDevicePipelineRobustnessPropertiesEXT:
------------------------------------------------
defaultRobustnessStorageBuffers = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT
defaultRobustnessUniformBuffers = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT
defaultRobustnessVertexInputs = PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_DISABLED_EXT
defaultRobustnessImages = PIPELINE_ROBUSTNESS_IMAGE_BEHAVIOR_DISABLED_EXT
VkPhysicalDeviceProvokingVertexPropertiesEXT:
---------------------------------------------
provokingVertexModePerPipeline = true
transformFeedbackPreservesTriangleFanProvokingVertex = false
VkPhysicalDevicePushDescriptorPropertiesKHR:
--------------------------------------------
maxPushDescriptors = 32
VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT:
----------------------------------------------------
maxVertexAttribDivisor = 4294967295
VkPhysicalDeviceVulkan11Properties:
-----------------------------------
deviceUUID = 33362035-3020-3534-2031-383200000000
driverUUID = 36333435-3032-3100-0000-000000000000
deviceNodeMask = 0
deviceLUIDValid = false
subgroupSize = 1
subgroupSupportedStages: count = 3
SHADER_STAGE_VERTEX_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_COMPUTE_BIT
subgroupSupportedOperations: count = 6
SUBGROUP_FEATURE_BASIC_BIT
SUBGROUP_FEATURE_VOTE_BIT
SUBGROUP_FEATURE_ARITHMETIC_BIT
SUBGROUP_FEATURE_BALLOT_BIT
SUBGROUP_FEATURE_SHUFFLE_BIT
SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT
subgroupQuadOperationsInAllStages = false
pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_USER_CLIP_PLANES_ONLY
maxMultiviewViewCount = 6
maxMultiviewInstanceIndex = 134217727
protectedNoFault = true
maxPerSetDescriptors = 1024
maxMemoryAllocationSize = 0x40000000
VkPhysicalDeviceVulkan12Properties:
-----------------------------------
driverID = DRIVER_ID_IMAGINATION_PROPRIETARY
driverName = PowerVR B-Series Vulkan Driver
driverInfo = 1.19@6345021
conformanceVersion:
major = 1
minor = 3
subminor = 3
patch = 1
denormBehaviorIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_32_BIT_ONLY
roundingModeIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_NONE
shaderSignedZeroInfNanPreserveFloat16 = true
shaderSignedZeroInfNanPreserveFloat32 = true
shaderSignedZeroInfNanPreserveFloat64 = true
shaderDenormPreserveFloat16 = true
shaderDenormPreserveFloat32 = false
shaderDenormPreserveFloat64 = true
shaderDenormFlushToZeroFloat16 = false
shaderDenormFlushToZeroFloat32 = false
shaderDenormFlushToZeroFloat64 = false
shaderRoundingModeRTEFloat16 = true
shaderRoundingModeRTEFloat32 = true
shaderRoundingModeRTEFloat64 = true
shaderRoundingModeRTZFloat16 = false
shaderRoundingModeRTZFloat32 = false
shaderRoundingModeRTZFloat64 = false
maxUpdateAfterBindDescriptorsInAllPools = 0
shaderUniformBufferArrayNonUniformIndexingNative = false
shaderSampledImageArrayNonUniformIndexingNative = false
shaderStorageBufferArrayNonUniformIndexingNative = false
shaderStorageImageArrayNonUniformIndexingNative = false
shaderInputAttachmentArrayNonUniformIndexingNative = false
robustBufferAccessUpdateAfterBind = false
quadDivergentImplicitLod = false
maxPerStageDescriptorUpdateAfterBindSamplers = 0
maxPerStageDescriptorUpdateAfterBindUniformBuffers = 0
maxPerStageDescriptorUpdateAfterBindStorageBuffers = 0
maxPerStageDescriptorUpdateAfterBindSampledImages = 0
maxPerStageDescriptorUpdateAfterBindStorageImages = 0
maxPerStageDescriptorUpdateAfterBindInputAttachments = 0
maxPerStageUpdateAfterBindResources = 0
maxDescriptorSetUpdateAfterBindSamplers = 0
maxDescriptorSetUpdateAfterBindUniformBuffers = 0
maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 0
maxDescriptorSetUpdateAfterBindStorageBuffers = 0
maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 0
maxDescriptorSetUpdateAfterBindSampledImages = 0
maxDescriptorSetUpdateAfterBindStorageImages = 0
maxDescriptorSetUpdateAfterBindInputAttachments = 0
supportedDepthResolveModes: count = 1
RESOLVE_MODE_SAMPLE_ZERO_BIT
supportedStencilResolveModes: count = 1
RESOLVE_MODE_SAMPLE_ZERO_BIT
independentResolveNone = true
independentResolve = true
filterMinmaxSingleComponentFormats = false
filterMinmaxImageComponentMapping = false
maxTimelineSemaphoreValueDifference = 4294967295
framebufferIntegerColorSampleCounts: count = 3
SAMPLE_COUNT_1_BIT
SAMPLE_COUNT_2_BIT
SAMPLE_COUNT_4_BIT
VkPhysicalDeviceVulkan13Properties:
-----------------------------------
minSubgroupSize = 1
maxSubgroupSize = 1
maxComputeWorkgroupSubgroups = 512
requiredSubgroupSizeStages: count = 6
SHADER_STAGE_VERTEX_BIT
SHADER_STAGE_TESSELLATION_CONTROL_BIT
SHADER_STAGE_TESSELLATION_EVALUATION_BIT
SHADER_STAGE_GEOMETRY_BIT
SHADER_STAGE_FRAGMENT_BIT
SHADER_STAGE_COMPUTE_BIT
maxInlineUniformBlockSize = 65536
maxPerStageDescriptorInlineUniformBlocks = 32
maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks = 32
maxDescriptorSetInlineUniformBlocks = 256
maxDescriptorSetUpdateAfterBindInlineUniformBlocks = 256
maxInlineUniformTotalSize = 4294967295
integerDotProduct8BitUnsignedAccelerated = false
integerDotProduct8BitSignedAccelerated = false
integerDotProduct8BitMixedSignednessAccelerated = false
integerDotProduct4x8BitPackedUnsignedAccelerated = false
integerDotProduct4x8BitPackedSignedAccelerated = false
integerDotProduct4x8BitPackedMixedSignednessAccelerated = false
integerDotProduct16BitUnsignedAccelerated = false
integerDotProduct16BitSignedAccelerated = false
integerDotProduct16BitMixedSignednessAccelerated = false
integerDotProduct32BitUnsignedAccelerated = false
integerDotProduct32BitSignedAccelerated = false
integerDotProduct32BitMixedSignednessAccelerated = false
integerDotProduct64BitUnsignedAccelerated = false
integerDotProduct64BitSignedAccelerated = false
integerDotProduct64BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating8BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating8BitSignedAccelerated = false
integerDotProductAccumulatingSaturating8BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating4x8BitPackedUnsignedAccelerated = false
integerDotProductAccumulatingSaturating4x8BitPackedSignedAccelerated = false
integerDotProductAccumulatingSaturating4x8BitPackedMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating16BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating16BitSignedAccelerated = false
integerDotProductAccumulatingSaturating16BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating32BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating32BitSignedAccelerated = false
integerDotProductAccumulatingSaturating32BitMixedSignednessAccelerated = false
integerDotProductAccumulatingSaturating64BitUnsignedAccelerated = false
integerDotProductAccumulatingSaturating64BitSignedAccelerated = false
integerDotProductAccumulatingSaturating64BitMixedSignednessAccelerated = false
storageTexelBufferOffsetAlignmentBytes = 0x00000010
storageTexelBufferOffsetSingleTexelAlignment = true
uniformTexelBufferOffsetAlignmentBytes = 0x00000010
uniformTexelBufferOffsetSingleTexelAlignment = false
maxBufferSize = 0x40000000
VkPhysicalDeviceHostImageCopyPropertiesEXT:
copySrcLayoutCount = 0
pCopySrcLayouts:
copyDstLayoutCount = 0
pCopyDstLayouts:
optimalTilingLayoutUUID = 00000000-0000-0000-0000-000000000000
identicalMemoryTypeRequirements = false
Device Extensions: count = 86
VK_ARM_rasterization_order_attachment_access : extension revision 1
VK_EXT_attachment_feedback_loop_layout : extension revision 2
VK_EXT_blend_operation_advanced : extension revision 2
VK_EXT_border_color_swizzle : extension revision 1
VK_EXT_buffer_device_address : extension revision 2
VK_EXT_conditional_rendering : extension revision 2
VK_EXT_custom_border_color : extension revision 12
VK_EXT_debug_marker : extension revision 4
VK_EXT_depth_clip_control : extension revision 1
VK_EXT_device_memory_report : extension revision 2
VK_EXT_extended_dynamic_state : extension revision 1
VK_EXT_extended_dynamic_state2 : extension revision 1
VK_EXT_external_memory_dma_buf : extension revision 1
VK_EXT_global_priority : extension revision 2
VK_EXT_global_priority_query : extension revision 1
VK_EXT_host_query_reset : extension revision 1
VK_EXT_image_compression_control : extension revision 1
VK_EXT_image_drm_format_modifier : extension revision 2
VK_EXT_image_robustness : extension revision 1
VK_EXT_index_type_uint8 : extension revision 1
VK_EXT_inline_uniform_block : extension revision 1
VK_EXT_pipeline_creation_cache_control : extension revision 3
VK_EXT_pipeline_creation_feedback : extension revision 1
VK_EXT_pipeline_robustness : extension revision 1
VK_EXT_primitive_topology_list_restart : extension revision 1
VK_EXT_private_data : extension revision 1
VK_EXT_provoking_vertex : extension revision 1
VK_EXT_queue_family_foreign : extension revision 1
VK_EXT_rasterization_order_attachment_access : extension revision 1
VK_EXT_scalar_block_layout : extension revision 1
VK_EXT_separate_stencil_usage : extension revision 1
VK_EXT_shader_demote_to_helper_invocation : extension revision 1
VK_EXT_subgroup_size_control : extension revision 2
VK_EXT_subpass_merge_feedback : extension revision 2
VK_EXT_texel_buffer_alignment : extension revision 1
VK_EXT_tooling_info : extension revision 1
VK_EXT_vertex_attribute_divisor : extension revision 3
VK_KHR_16bit_storage : extension revision 1
VK_KHR_8bit_storage : extension revision 1
VK_KHR_bind_memory2 : extension revision 1
VK_KHR_buffer_device_address : extension revision 1
VK_KHR_copy_commands2 : extension revision 1
VK_KHR_create_renderpass2 : extension revision 1
VK_KHR_dedicated_allocation : extension revision 3
VK_KHR_depth_stencil_resolve : extension revision 1
VK_KHR_descriptor_update_template : extension revision 1
VK_KHR_device_group : extension revision 4
VK_KHR_draw_indirect_count : extension revision 1
VK_KHR_driver_properties : extension revision 1
VK_KHR_dynamic_rendering : extension revision 1
VK_KHR_external_fence : extension revision 1
VK_KHR_external_fence_fd : extension revision 1
VK_KHR_external_memory : extension revision 1
VK_KHR_external_memory_fd : extension revision 1
VK_KHR_external_semaphore : extension revision 1
VK_KHR_external_semaphore_fd : extension revision 1
VK_KHR_format_feature_flags2 : extension revision 2
VK_KHR_get_memory_requirements2 : extension revision 1
VK_KHR_global_priority : extension revision 1
VK_KHR_image_format_list : extension revision 1
VK_KHR_imageless_framebuffer : extension revision 1
VK_KHR_maintenance1 : extension revision 2
VK_KHR_maintenance2 : extension revision 1
VK_KHR_maintenance3 : extension revision 1
VK_KHR_maintenance4 : extension revision 2
VK_KHR_multiview : extension revision 1
VK_KHR_push_descriptor : extension revision 2
VK_KHR_relaxed_block_layout : extension revision 1
VK_KHR_sampler_mirror_clamp_to_edge : extension revision 3
VK_KHR_sampler_ycbcr_conversion : extension revision 14
VK_KHR_separate_depth_stencil_layouts : extension revision 1
VK_KHR_shader_draw_parameters : extension revision 1
VK_KHR_shader_float16_int8 : extension revision 1
VK_KHR_shader_float_controls : extension revision 4
VK_KHR_shader_integer_dot_product : extension revision 1
VK_KHR_shader_non_semantic_info : extension revision 1
VK_KHR_shader_subgroup_extended_types : extension revision 1
VK_KHR_shader_terminate_invocation : extension revision 1
VK_KHR_spirv_1_4 : extension revision 1
VK_KHR_storage_buffer_storage_class : extension revision 1
VK_KHR_synchronization2 : extension revision 1
VK_KHR_timeline_semaphore : extension revision 2
VK_KHR_uniform_buffer_standard_layout : extension revision 1
VK_KHR_variable_pointers : extension revision 1
VK_KHR_vulkan_memory_model : extension revision 3
VK_KHR_zero_initialize_workgroup_memory : extension revision 1
VkQueueFamilyProperties:
========================
queueProperties[0]:
-------------------
minImageTransferGranularity = (1,1,1)
queueCount = 2
queueFlags = QUEUE_GRAPHICS_BIT | QUEUE_COMPUTE_BIT | QUEUE_TRANSFER_BIT
timestampValidBits = 64
present support = false
VkQueueFamilyGlobalPriorityPropertiesKHR:
-----------------------------------------
priorityCount = 3
priorities: count = 3
QUEUE_GLOBAL_PRIORITY_LOW_KHR
QUEUE_GLOBAL_PRIORITY_MEDIUM_KHR
QUEUE_GLOBAL_PRIORITY_HIGH_KHR
VkPhysicalDeviceMemoryProperties:
=================================
memoryHeaps: count = 1
memoryHeaps[0]:
size = 4062998528 (0xf22c7000) (3.78 GiB)
flags: count = 1
MEMORY_HEAP_DEVICE_LOCAL_BIT
memoryTypes: count = 4
memoryTypes[0]:
heapIndex = 0
propertyFlags = 0x0001: count = 1
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
usable for:
IMAGE_TILING_OPTIMAL:
color images
FORMAT_D16_UNORM
FORMAT_X8_D24_UNORM_PACK32
FORMAT_D32_SFLOAT
FORMAT_S8_UINT
FORMAT_D24_UNORM_S8_UINT
FORMAT_D32_SFLOAT_S8_UINT
(non-sparse)
IMAGE_TILING_LINEAR:
color images
(non-sparse)
memoryTypes[1]:
heapIndex = 0
propertyFlags = 0x0011: count = 2
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_LAZILY_ALLOCATED_BIT
usable for:
IMAGE_TILING_OPTIMAL:
color images
FORMAT_D16_UNORM
FORMAT_X8_D24_UNORM_PACK32
FORMAT_D32_SFLOAT
FORMAT_S8_UINT
FORMAT_D24_UNORM_S8_UINT
FORMAT_D32_SFLOAT_S8_UINT
(transient only)
IMAGE_TILING_LINEAR:
color images
(transient only)
memoryTypes[2]:
heapIndex = 0
propertyFlags = 0x0007: count = 3
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_COHERENT_BIT
usable for:
IMAGE_TILING_OPTIMAL:
color images
FORMAT_D16_UNORM
FORMAT_X8_D24_UNORM_PACK32
FORMAT_D32_SFLOAT
FORMAT_S8_UINT
FORMAT_D24_UNORM_S8_UINT
FORMAT_D32_SFLOAT_S8_UINT
(non-sparse)
IMAGE_TILING_LINEAR:
color images
(non-sparse)
memoryTypes[3]:
heapIndex = 0
propertyFlags = 0x000b: count = 3
MEMORY_PROPERTY_DEVICE_LOCAL_BIT
MEMORY_PROPERTY_HOST_VISIBLE_BIT
MEMORY_PROPERTY_HOST_CACHED_BIT
usable for:
IMAGE_TILING_OPTIMAL:
color images
FORMAT_D16_UNORM
FORMAT_X8_D24_UNORM_PACK32
FORMAT_D32_SFLOAT
FORMAT_S8_UINT
FORMAT_D24_UNORM_S8_UINT
FORMAT_D32_SFLOAT_S8_UINT
(non-sparse)
IMAGE_TILING_LINEAR:
color images
(non-sparse)
VkPhysicalDeviceFeatures:
=========================
robustBufferAccess = true
fullDrawIndexUint32 = true
imageCubeArray = true
independentBlend = true
geometryShader = false
tessellationShader = false
sampleRateShading = true
dualSrcBlend = true
logicOp = true
multiDrawIndirect = true
drawIndirectFirstInstance = true
depthClamp = true
depthBiasClamp = true
fillModeNonSolid = false
depthBounds = false
wideLines = true
largePoints = true
alphaToOne = true
multiViewport = false
samplerAnisotropy = true
textureCompressionETC2 = true
textureCompressionASTC_LDR = true
textureCompressionBC = false
occlusionQueryPrecise = true
pipelineStatisticsQuery = false
vertexPipelineStoresAndAtomics = true
fragmentStoresAndAtomics = true
shaderTessellationAndGeometryPointSize = false
shaderImageGatherExtended = true
shaderStorageImageExtendedFormats = true
shaderStorageImageMultisample = false
shaderStorageImageReadWithoutFormat = true
shaderStorageImageWriteWithoutFormat = true
shaderUniformBufferArrayDynamicIndexing = true
shaderSampledImageArrayDynamicIndexing = true
shaderStorageBufferArrayDynamicIndexing = true
shaderStorageImageArrayDynamicIndexing = true
shaderClipDistance = true
shaderCullDistance = true
shaderFloat64 = false
shaderInt64 = true
shaderInt16 = true
shaderResourceResidency = false
shaderResourceMinLod = false
sparseBinding = false
sparseResidencyBuffer = false
sparseResidencyImage2D = false
sparseResidencyImage3D = false
sparseResidency2Samples = false
sparseResidency4Samples = false
sparseResidency8Samples = false
sparseResidency16Samples = false
sparseResidencyAliased = false
variableMultisampleRate = false
inheritedQueries = false
VkPhysicalDeviceAttachmentFeedbackLoopLayoutFeaturesEXT:
--------------------------------------------------------
attachmentFeedbackLoopLayout = true
VkPhysicalDeviceBlendOperationAdvancedFeaturesEXT:
--------------------------------------------------
advancedBlendCoherentOperations = true
VkPhysicalDeviceBorderColorSwizzleFeaturesEXT:
----------------------------------------------
borderColorSwizzle = true
borderColorSwizzleFromImage = true
VkPhysicalDeviceBufferDeviceAddressFeaturesEXT:
-----------------------------------------------
bufferDeviceAddress = true
bufferDeviceAddressCaptureReplay = false
bufferDeviceAddressMultiDevice = false
VkPhysicalDeviceConditionalRenderingFeaturesEXT:
------------------------------------------------
conditionalRendering = true
inheritedConditionalRendering = false
VkPhysicalDeviceCustomBorderColorFeaturesEXT:
---------------------------------------------
customBorderColors = true
customBorderColorWithoutFormat = false
VkPhysicalDeviceDepthClipControlFeaturesEXT:
--------------------------------------------
depthClipControl = true
VkPhysicalDeviceDeviceMemoryReportFeaturesEXT:
----------------------------------------------
deviceMemoryReport = true
VkPhysicalDeviceExtendedDynamicState2FeaturesEXT:
-------------------------------------------------
extendedDynamicState2 = true
extendedDynamicState2LogicOp = false
extendedDynamicState2PatchControlPoints = false
VkPhysicalDeviceExtendedDynamicStateFeaturesEXT:
------------------------------------------------
extendedDynamicState = true
VkPhysicalDeviceGlobalPriorityQueryFeaturesKHR:
-----------------------------------------------
globalPriorityQuery = true
VkPhysicalDeviceImageCompressionControlFeaturesEXT:
---------------------------------------------------
imageCompressionControl = true
VkPhysicalDeviceIndexTypeUint8FeaturesEXT:
------------------------------------------
indexTypeUint8 = true
VkPhysicalDevicePipelineRobustnessFeaturesEXT:
----------------------------------------------
pipelineRobustness = true
VkPhysicalDevicePrimitiveTopologyListRestartFeaturesEXT:
--------------------------------------------------------
primitiveTopologyListRestart = true
primitiveTopologyPatchListRestart = true
VkPhysicalDeviceProvokingVertexFeaturesEXT:
-------------------------------------------
provokingVertexLast = true
transformFeedbackPreservesProvokingVertex = false
VkPhysicalDeviceRasterizationOrderAttachmentAccessFeaturesEXT:
--------------------------------------------------------------
rasterizationOrderColorAttachmentAccess = true
rasterizationOrderDepthAttachmentAccess = true
rasterizationOrderStencilAttachmentAccess = false
VkPhysicalDeviceSubpassMergeFeedbackFeaturesEXT:
------------------------------------------------
subpassMergeFeedback = true
VkPhysicalDeviceTexelBufferAlignmentFeaturesEXT:
------------------------------------------------
texelBufferAlignment = true
VkPhysicalDeviceVertexAttributeDivisorFeaturesKHR:
--------------------------------------------------
vertexAttributeInstanceRateDivisor = true
vertexAttributeInstanceRateZeroDivisor = true
VkPhysicalDeviceVulkan11Features:
---------------------------------
storageBuffer16BitAccess = true
uniformAndStorageBuffer16BitAccess = true
storagePushConstant16 = true
storageInputOutput16 = true
multiview = true
multiviewGeometryShader = false
multiviewTessellationShader = false
variablePointersStorageBuffer = true
variablePointers = true
protectedMemory = false
samplerYcbcrConversion = true
shaderDrawParameters = true
VkPhysicalDeviceVulkan12Features:
---------------------------------
samplerMirrorClampToEdge = true
drawIndirectCount = true
storageBuffer8BitAccess = true
uniformAndStorageBuffer8BitAccess = true
storagePushConstant8 = true
shaderBufferInt64Atomics = false
shaderSharedInt64Atomics = false
shaderFloat16 = true
shaderInt8 = true
descriptorIndexing = false
shaderInputAttachmentArrayDynamicIndexing = false
shaderUniformTexelBufferArrayDynamicIndexing = false
shaderStorageTexelBufferArrayDynamicIndexing = false
shaderUniformBufferArrayNonUniformIndexing = false
shaderSampledImageArrayNonUniformIndexing = false
shaderStorageBufferArrayNonUniformIndexing = false
shaderStorageImageArrayNonUniformIndexing = false
shaderInputAttachmentArrayNonUniformIndexing = false
shaderUniformTexelBufferArrayNonUniformIndexing = false
shaderStorageTexelBufferArrayNonUniformIndexing = false
descriptorBindingUniformBufferUpdateAfterBind = false
descriptorBindingSampledImageUpdateAfterBind = false
descriptorBindingStorageImageUpdateAfterBind = false
descriptorBindingStorageBufferUpdateAfterBind = false
descriptorBindingUniformTexelBufferUpdateAfterBind = false
descriptorBindingStorageTexelBufferUpdateAfterBind = false
descriptorBindingUpdateUnusedWhilePending = false
descriptorBindingPartiallyBound = false
descriptorBindingVariableDescriptorCount = false
runtimeDescriptorArray = false
samplerFilterMinmax = false
scalarBlockLayout = true
imagelessFramebuffer = true
uniformBufferStandardLayout = true
shaderSubgroupExtendedTypes = true
separateDepthStencilLayouts = true
hostQueryReset = true
timelineSemaphore = true
bufferDeviceAddress = true
bufferDeviceAddressCaptureReplay = true
bufferDeviceAddressMultiDevice = false
vulkanMemoryModel = true
vulkanMemoryModelDeviceScope = true
vulkanMemoryModelAvailabilityVisibilityChains = true
shaderOutputViewportIndex = false
shaderOutputLayer = false
subgroupBroadcastDynamicId = true
VkPhysicalDeviceVulkan13Features:
---------------------------------
robustImageAccess = true
inlineUniformBlock = true
descriptorBindingInlineUniformBlockUpdateAfterBind = false
pipelineCreationCacheControl = true
privateData = true
shaderDemoteToHelperInvocation = true
shaderTerminateInvocation = true
subgroupSizeControl = true
computeFullSubgroups = true
synchronization2 = true
textureCompressionASTC_HDR = false
shaderZeroInitializeWorkgroupMemory = true
dynamicRendering = true
shaderIntegerDotProduct = true
maintenance4 = true
Missing Vulkan Error Extension. Need to patch for this
visionfive2:/usr/bin/vulkan-samples# ./bloom
Could not create Vulkan instance :
ERROR_EXTENSION_NOT_PRESENT
vkcube
# vkcube
failed to initialize wayland, falling back to xcb
failed to initialize kms, falling back to headless
1 physical devices
vendor id 1010, device name PowerVR B-Series BXE-4-32
ERROR: vkGetDeviceQueue2: Invalid device [VUID-vkGetDeviceQueue2-device-parameter]
Aborted (core dumped)
https://doc-en.rvspace.org/Doc_Center/visionfive_2.html
https://github.com/meta-flutter/meta-flutter/issues/453 https://github.com/jwinarske/meta-vulkan/issues/19 https://github.com/jwinarske/meta-vulkan/issues/18
The following config/patch produces a
core-image-weston
image:layers
conf/local.conf
meta-starfive
starfive-kirkstone
patch