DSchroer / dslcad

DSLCad is a programming language & interpreter for building 3D models.
https://dslcad.com
GNU Lesser General Public License v2.1
470 stars 14 forks source link

Unable to find a GPU! Make sure you have installed required driver #9

Closed setop closed 1 year ago

setop commented 1 year ago

What are the system requirements ?

$ RUST_BACKTRACE=full ./dslcad 
2023-02-12T12:08:56.889380Z  INFO winit::platform_impl::platform::x11::window: Guessed window scale factor: 1    
thread 'main' panicked at 'Unable to find a GPU! Make sure you have installed required drivers! For extra information, see: https://github.com/bevyengine/bevy/blob/latest/docs/linux_dependencies.md', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_render-0.9.0/src/renderer/mod.rs:121:10
stack backtrace:
   0:     0x563a658ded2a - std::backtrace_rs::backtrace::libunwind::trace::h34aec3ef6cd8ad7e
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x563a658ded2a - std::backtrace_rs::backtrace::trace_unsynchronized::h8035d38698d0f7a8
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x563a658ded2a - std::sys_common::backtrace::_print_fmt::hff968f6695a1ba22
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x563a658ded2a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h7eea0efe77acf1ec
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x563a6590739e - core::fmt::write::hc553f17407eb0b48
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/fmt/mod.rs:1208:17
   5:     0x563a658d9f55 - std::io::Write::write_fmt::h62e5f01a089f48c0
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/io/mod.rs:1682:15
   6:     0x563a658deaf5 - std::sys_common::backtrace::_print::h52d116aff3db4cd1
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x563a658deaf5 - std::sys_common::backtrace::print::h9e7d2f98fb7af075
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x563a658e03ff - std::panicking::default_hook::{{closure}}::hf74999dab2d0a95c
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:267:22
   9:     0x563a658e013b - std::panicking::default_hook::hc11ca7d10c44c42f
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:286:9
  10:     0x563a658e0b0c - std::panicking::rust_panic_with_hook::hdb4da1ae79c845a5
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:688:13
  11:     0x563a658e08a9 - std::panicking::begin_panic_handler::{{closure}}::h02b5b35b126d5cf2
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:579:13
  12:     0x563a658df1dc - std::sys_common::backtrace::__rust_end_short_backtrace::h6c6853376cf416d1
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/sys_common/backtrace.rs:137:18
  13:     0x563a658e05b2 - rust_begin_unwind
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:575:5
  14:     0x563a63c3d343 - core::panicking::panic_fmt::hfd9e949092070b66
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/panicking.rs:64:14
  15:     0x563a65904ae1 - core::panicking::panic_display::h45b76cd63e812370
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/panicking.rs:135:5
  16:     0x563a65904a8b - core::panicking::panic_str::he2d190e15dd7e6c1
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/panicking.rs:119:5
  17:     0x563a63c3d306 - core::option::expect_failed::h240c1b84e7fce7a2
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/option.rs:1879:5
  18:     0x563a64643850 - bevy_render::renderer::initialize_renderer::{{closure}}::h59960cd9e1f3a947
  19:     0x563a646350cb - std::thread::local::LocalKey<T>::with::h71274ee9c519bf7a
  20:     0x563a646fc97b - <bevy_render::RenderPlugin as bevy_app::plugin::Plugin>::build::hf0a5dc2f01793b2c
  21:     0x563a64d424ed - bevy_app::app::App::add_boxed_plugin::h11d0a59f2d91c623
  22:     0x563a64d46066 - bevy_app::plugin_group::PluginGroupBuilder::finish::h1a9feacc1dfc859f
  23:     0x563a63cc0f1d - dslcad::editor::main::he65d9fbd04faa0c9
  24:     0x563a63c57a69 - dslcad::main::hce5bdefa6f9cc6f4
  25:     0x563a63c60a03 - std::sys_common::backtrace::__rust_begin_short_backtrace::h53532dbd9feb7c16
  26:     0x563a63c79939 - std::rt::lang_start::{{closure}}::h410593887c6bbf5f
  27:     0x563a658d2dec - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h9ab31282e87f134a
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/core/src/ops/function.rs:606:13
  28:     0x563a658d2dec - std::panicking::try::do_call::h42ddf5b01d0b4bc7
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:483:40
  29:     0x563a658d2dec - std::panicking::try::hfb70320d7386c61a
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:447:19
  30:     0x563a658d2dec - std::panic::catch_unwind::h978c9edbad2bb4d4
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panic.rs:137:14
  31:     0x563a658d2dec - std::rt::lang_start_internal::{{closure}}::h04ede5bd2f26b553
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/rt.rs:148:48
  32:     0x563a658d2dec - std::panicking::try::do_call::ha6b9da35a0885c93
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:483:40
  33:     0x563a658d2dec - std::panicking::try::h3325520cab3a642e
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panicking.rs:447:19
  34:     0x563a658d2dec - std::panic::catch_unwind::h160beec6f047175b
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/panic.rs:137:14
  35:     0x563a658d2dec - std::rt::lang_start_internal::h79190e3a877a769d
                               at /rustc/fc594f15669680fa70d255faec3ca3fb507c3405/library/std/src/rt.rs:148:20
  36:     0x563a63c57ab5 - main
  37:     0x7f955a054d0a - __libc_start_main
                               at ./csu/../csu/libc-start.c:308:16
  38:     0x563a63c4db6a - _start
  39:                0x0 - <unknown>
DSchroer commented 1 year ago

Right now I am using the defaults from bevy to handle the rendering. You should be able to run the CLI on almost any system.

The bevy dependencies are here: https://github.com/bevyengine/bevy/blob/latest/docs/linux_dependencies.md

For your case I would say you need some kind of vulkan enabled driver. One of vulkan-radeon, vulkan-intel, or mesa-vulkan-drivers.

DSchroer commented 1 year ago

I have updated the documentation to list the specific requirements. Ill close the ticket for now unless you have more specific issues regarding missing dependencies.

ghost commented 1 year ago

I has NVIDIA GPU with nvidia-legacy-390xx drivers and mesa-vulkan-drivers installed, but it still fails:

$ dslcad
2023-02-15T16:10:30.214117Z  INFO winit::platform_impl::platform::x11::window: Guessed window scale factor: 1.1458333333333333    
thread 'main' panicked at 'Unable to find a GPU! Make sure you have installed required drivers! For extra information, see: https://github.com/bevyengine/bevy/blob/latest/docs/linux_dependencies.md', /root/.cargo/registry/src/github.com-1ecc6299db9ec823/bevy_render-0.9.0/src/renderer/mod.rs:121:10
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
DSchroer commented 1 year ago

What do you get if you run vulkaninfo on your system?

ghost commented 1 year ago

What do you get if you run vulkaninfo on your system?

Here it is:

vulkaninfo ``` $ vulkaninfo WARNING: [Loader Message] Code 0 : loader_scanned_icd_add: Driver libGLX_nvidia.so.0 supports Vulkan 1.3, but only supports loader interface version 4. Interface version 5 or newer required to support this version of Vulkan (Policy #LDP_DRIVER_7) WARNING: lavapipe is not a conformant vulkan implementation, testing use only. ========== VULKANINFO ========== Vulkan Instance Version: 1.3.216 Instance Extensions: count = 20 =============================== VK_EXT_acquire_drm_display : extension revision 1 VK_EXT_acquire_xlib_display : extension revision 1 VK_EXT_debug_report : extension revision 9 VK_EXT_debug_utils : extension revision 2 VK_EXT_direct_mode_display : extension revision 1 VK_EXT_display_surface_counter : extension revision 1 VK_KHR_device_group_creation : extension revision 1 VK_KHR_display : extension revision 21 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_display_properties2 : extension revision 1 VK_KHR_get_physical_device_properties2 : extension revision 1 VK_KHR_get_surface_capabilities2 : extension revision 1 VK_KHR_portability_enumeration : extension revision 1 VK_KHR_surface : extension revision 25 VK_KHR_surface_protected_capabilities : extension revision 1 VK_KHR_wayland_surface : extension revision 6 VK_KHR_xcb_surface : extension revision 6 VK_KHR_xlib_surface : extension revision 6 Layers: count = 3 ================= VK_LAYER_MESA_device_select (Linux device selection layer) Vulkan version 1.3.211, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id = 0 (llvmpipe (LLVM 14.0.5, 256 bits)) Layer-Device Extensions: count = 0 VK_LAYER_MESA_overlay (Mesa Overlay layer) Vulkan version 1.3.211, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id = 0 (llvmpipe (LLVM 14.0.5, 256 bits)) Layer-Device Extensions: count = 0 VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.3.194, layer version 1: Layer Extensions: count = 0 Devices: count = 1 GPU id = 0 (llvmpipe (LLVM 14.0.5, 256 bits)) Layer-Device Extensions: count = 0 Presentable Surfaces: ===================== GPU id : 0 (llvmpipe (LLVM 14.0.5, 256 bits)): Surface types: count = 2 VK_KHR_xcb_surface VK_KHR_xlib_surface Formats: count = 0 Present Modes: count = 4 PRESENT_MODE_IMMEDIATE_KHR PRESENT_MODE_MAILBOX_KHR PRESENT_MODE_FIFO_KHR PRESENT_MODE_FIFO_RELAXED_KHR VkSurfaceCapabilitiesKHR: ------------------------- minImageCount = 3 maxImageCount = 0 currentExtent: width = 256 height = 256 minImageExtent: width = 256 height = 256 maxImageExtent: width = 256 height = 256 maxImageArrayLayers = 1 supportedTransforms: count = 1 SURFACE_TRANSFORM_IDENTITY_BIT_KHR currentTransform = SURFACE_TRANSFORM_IDENTITY_BIT_KHR supportedCompositeAlpha: count = 2 COMPOSITE_ALPHA_OPAQUE_BIT_KHR COMPOSITE_ALPHA_INHERIT_BIT_KHR supportedUsageFlags: count = 6 IMAGE_USAGE_TRANSFER_SRC_BIT IMAGE_USAGE_TRANSFER_DST_BIT IMAGE_USAGE_SAMPLED_BIT IMAGE_USAGE_STORAGE_BIT IMAGE_USAGE_COLOR_ATTACHMENT_BIT IMAGE_USAGE_INPUT_ATTACHMENT_BIT VkSurfaceCapabilities2EXT: -------------------------- supportedSurfaceCounters: None VkSurfaceProtectedCapabilitiesKHR: ---------------------------------- supportsProtected = false Device Groups: ============== Group 0: Properties: physicalDevices: count = 1 llvmpipe (LLVM 14.0.5, 256 bits) (ID: 0) subsetAllocation = 0 WARNING: lavapipe is not a conformant vulkan implementation, testing use only. Present Capabilities: llvmpipe (LLVM 14.0.5, 256 bits) (ID: 0): Can present images from the following devices: count = 1 llvmpipe (LLVM 14.0.5, 256 bits) (ID: 0) Present modes: count = 1 DEVICE_GROUP_PRESENT_MODE_LOCAL_BIT_KHR Device Properties and Extensions: ================================= GPU0: VkPhysicalDeviceProperties: --------------------------- apiVersion = 4202700 (1.2.204) driverVersion = 1 (0x0001) vendorID = 0x10005 deviceID = 0x0000 deviceType = PHYSICAL_DEVICE_TYPE_CPU deviceName = llvmpipe (LLVM 14.0.5, 256 bits) pipelineCacheUUID = 76616c2d-6c6c-206e-6f3d-270000000000 VkPhysicalDeviceLimits: ----------------------- maxImageDimension1D = 16384 maxImageDimension2D = 16384 maxImageDimension3D = 4096 maxImageDimensionCube = 32768 maxImageArrayLayers = 2048 maxTexelBufferElements = 134217728 maxUniformBufferRange = 65536 maxStorageBufferRange = 134217728 maxPushConstantsSize = 128 maxMemoryAllocationCount = 4294967295 maxSamplerAllocationCount = 32768 bufferImageGranularity = 0x00000040 sparseAddressSpaceSize = 0x00000000 maxBoundDescriptorSets = 8 maxPerStageDescriptorSamplers = 32 maxPerStageDescriptorUniformBuffers = 15 maxPerStageDescriptorStorageBuffers = 16 maxPerStageDescriptorSampledImages = 128 maxPerStageDescriptorStorageImages = 16 maxPerStageDescriptorInputAttachments = 8 maxPerStageResources = 128 maxDescriptorSetSamplers = 32768 maxDescriptorSetUniformBuffers = 256 maxDescriptorSetUniformBuffersDynamic = 256 maxDescriptorSetStorageBuffers = 256 maxDescriptorSetStorageBuffersDynamic = 256 maxDescriptorSetSampledImages = 256 maxDescriptorSetStorageImages = 256 maxDescriptorSetInputAttachments = 256 maxVertexInputAttributes = 32 maxVertexInputBindings = 32 maxVertexInputAttributeOffset = 2047 maxVertexInputBindingStride = 2048 maxVertexOutputComponents = 128 maxTessellationGenerationLevel = 64 maxTessellationPatchSize = 32 maxTessellationControlPerVertexInputComponents = 128 maxTessellationControlPerVertexOutputComponents = 128 maxTessellationControlPerPatchOutputComponents = 128 maxTessellationControlTotalOutputComponents = 4096 maxTessellationEvaluationInputComponents = 128 maxTessellationEvaluationOutputComponents = 128 maxGeometryShaderInvocations = 32 maxGeometryInputComponents = 64 maxGeometryOutputComponents = 128 maxGeometryOutputVertices = 1024 maxGeometryTotalOutputComponents = 1024 maxFragmentInputComponents = 128 maxFragmentOutputAttachments = 8 maxFragmentDualSrcAttachments = 2 maxFragmentCombinedOutputResources = 40 maxComputeSharedMemorySize = 32768 maxComputeWorkGroupCount: count = 3 65535 65535 65535 maxComputeWorkGroupInvocations = 1024 maxComputeWorkGroupSize: count = 3 1024 1024 1024 subPixelPrecisionBits = 8 subTexelPrecisionBits = 8 mipmapPrecisionBits = 4 maxDrawIndexedIndexValue = 4294967295 maxDrawIndirectCount = 4294967295 maxSamplerLodBias = 16 maxSamplerAnisotropy = 16 maxViewports = 16 maxViewportDimensions: count = 2 16384 16384 viewportBoundsRange: count = 2 -32768 32768 viewportSubPixelBits = 0 minMemoryMapAlignment = 64 minTexelBufferOffsetAlignment = 0x00000010 minUniformBufferOffsetAlignment = 0x00000010 minStorageBufferOffsetAlignment = 0x00000010 minTexelOffset = -32 maxTexelOffset = 31 minTexelGatherOffset = -32 maxTexelGatherOffset = 31 minInterpolationOffset = -2 maxInterpolationOffset = 2 subPixelInterpolationOffsetBits = 8 maxFramebufferWidth = 16384 maxFramebufferHeight = 16384 maxFramebufferLayers = 2048 framebufferColorSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT framebufferDepthSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT framebufferStencilSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT framebufferNoAttachmentsSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT maxColorAttachments = 8 sampledImageColorSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT sampledImageIntegerSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT sampledImageDepthSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT sampledImageStencilSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT storageImageSampleCounts: count = 2 SAMPLE_COUNT_1_BIT SAMPLE_COUNT_4_BIT maxSampleMaskWords = 1 timestampComputeAndGraphics = true timestampPeriod = 1 maxClipDistances = 8 maxCullDistances = 8 maxCombinedClipAndCullDistances = 8 discreteQueuePriorities = 2 pointSizeRange: count = 2 0 255 lineWidthRange: count = 2 1 255 pointSizeGranularity = 0.125 lineWidthGranularity = 0.0078125 strictLines = true standardSampleLocations = true optimalBufferCopyOffsetAlignment = 0x00000080 optimalBufferCopyRowPitchAlignment = 0x00000080 nonCoherentAtomSize = 0x00000040 VkPhysicalDeviceSparseProperties: --------------------------------- residencyStandard2DBlockShape = false residencyStandard2DMultisampleBlockShape = false residencyStandard3DBlockShape = false residencyAlignedMipSize = false residencyNonResidentStrict = false VkPhysicalDeviceCustomBorderColorPropertiesEXT: ----------------------------------------------- maxCustomBorderColorSamplers = 32768 VkPhysicalDeviceDepthStencilResolveProperties: ---------------------------------------------- supportedDepthResolveModes: count = 2 RESOLVE_MODE_SAMPLE_ZERO_BIT RESOLVE_MODE_AVERAGE_BIT supportedStencilResolveModes: count = 1 RESOLVE_MODE_SAMPLE_ZERO_BIT independentResolveNone = false independentResolve = false VkPhysicalDeviceDescriptorIndexingProperties: --------------------------------------------- maxUpdateAfterBindDescriptorsInAllPools = 67108863 shaderUniformBufferArrayNonUniformIndexingNative = false shaderSampledImageArrayNonUniformIndexingNative = false shaderStorageBufferArrayNonUniformIndexingNative = false shaderStorageImageArrayNonUniformIndexingNative = false shaderInputAttachmentArrayNonUniformIndexingNative = false robustBufferAccessUpdateAfterBind = true quadDivergentImplicitLod = false maxPerStageDescriptorUpdateAfterBindSamplers = 65536 maxPerStageDescriptorUpdateAfterBindUniformBuffers = 65536 maxPerStageDescriptorUpdateAfterBindStorageBuffers = 65536 maxPerStageDescriptorUpdateAfterBindSampledImages = 65536 maxPerStageDescriptorUpdateAfterBindStorageImages = 65536 maxPerStageDescriptorUpdateAfterBindInputAttachments = 65536 maxPerStageUpdateAfterBindResources = 65536 maxDescriptorSetUpdateAfterBindSamplers = 65536 maxDescriptorSetUpdateAfterBindUniformBuffers = 65536 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 16 maxDescriptorSetUpdateAfterBindStorageBuffers = 65536 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16 maxDescriptorSetUpdateAfterBindSampledImages = 65536 maxDescriptorSetUpdateAfterBindStorageImages = 65536 maxDescriptorSetUpdateAfterBindInputAttachments = 65536 VkPhysicalDeviceDriverProperties: --------------------------------- driverID = DRIVER_ID_MESA_LLVMPIPE driverName = llvmpipe driverInfo = Mesa 22.0.5 (LLVM 14.0.5) conformanceVersion = 0.0.0.0 VkPhysicalDeviceExternalMemoryHostPropertiesEXT: ------------------------------------------------ minImportedHostPointerAlignment = 0x00001000 VkPhysicalDeviceFloatControlsProperties: ---------------------------------------- denormBehaviorIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL roundingModeIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL shaderSignedZeroInfNanPreserveFloat16 = true shaderSignedZeroInfNanPreserveFloat32 = true shaderSignedZeroInfNanPreserveFloat64 = true shaderDenormPreserveFloat16 = false shaderDenormPreserveFloat32 = false shaderDenormPreserveFloat64 = false shaderDenormFlushToZeroFloat16 = false shaderDenormFlushToZeroFloat32 = false shaderDenormFlushToZeroFloat64 = false shaderRoundingModeRTEFloat16 = true shaderRoundingModeRTEFloat32 = true shaderRoundingModeRTEFloat64 = true shaderRoundingModeRTZFloat16 = false shaderRoundingModeRTZFloat32 = false shaderRoundingModeRTZFloat64 = false VkPhysicalDeviceIDProperties: ----------------------------- deviceUUID = 00000000-0000-0000-0000-000000000000 driverUUID = 00000000-0000-0000-0000-000000000000 deviceNodeMask = 0 deviceLUIDValid = false VkPhysicalDeviceLineRasterizationPropertiesEXT: ----------------------------------------------- lineSubPixelPrecisionBits = 8 VkPhysicalDeviceMaintenance3Properties: --------------------------------------- maxPerSetDescriptors = 1024 maxMemoryAllocationSize = 0x80000000 VkPhysicalDeviceMultiDrawPropertiesEXT: --------------------------------------- maxMultiDrawCount = 2048 VkPhysicalDeviceMultiviewProperties: ------------------------------------ maxMultiviewViewCount = 6 maxMultiviewInstanceIndex = 2147483647 VkPhysicalDevicePointClippingProperties: ---------------------------------------- pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES VkPhysicalDeviceProtectedMemoryProperties: ------------------------------------------ protectedNoFault = false VkPhysicalDeviceProvokingVertexPropertiesEXT: --------------------------------------------- provokingVertexModePerPipeline = true transformFeedbackPreservesTriangleFanProvokingVertex = true VkPhysicalDevicePushDescriptorPropertiesKHR: -------------------------------------------- maxPushDescriptors = 32 VkPhysicalDeviceSamplerFilterMinmaxProperties: ---------------------------------------------- filterMinmaxSingleComponentFormats = true filterMinmaxImageComponentMapping = true VkPhysicalDeviceSubgroupProperties: ----------------------------------- subgroupSize = 8 supportedStages: count = 4 SHADER_STAGE_FRAGMENT_BIT SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL_GRAPHICS SHADER_STAGE_ALL supportedOperations: count = 4 SUBGROUP_FEATURE_BASIC_BIT SUBGROUP_FEATURE_VOTE_BIT SUBGROUP_FEATURE_ARITHMETIC_BIT SUBGROUP_FEATURE_BALLOT_BIT quadOperationsInAllStages = false VkPhysicalDeviceTimelineSemaphoreProperties: -------------------------------------------- maxTimelineSemaphoreValueDifference = 18446744073709551615 VkPhysicalDeviceTransformFeedbackPropertiesEXT: ----------------------------------------------- maxTransformFeedbackStreams = 4 maxTransformFeedbackBuffers = 4 maxTransformFeedbackBufferSize = 0xffffffff maxTransformFeedbackStreamDataSize = 512 maxTransformFeedbackBufferDataSize = 512 maxTransformFeedbackBufferDataStride = 512 transformFeedbackQueries = true transformFeedbackStreamsLinesTriangles = false transformFeedbackRasterizationStreamSelect = false transformFeedbackDraw = true VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT: ---------------------------------------------------- maxVertexAttribDivisor = 4294967295 VkPhysicalDeviceVulkan11Properties: ----------------------------------- deviceUUID = 00000000-0000-0000-0000-000000000000 driverUUID = 00000000-0000-0000-0000-000000000000 deviceNodeMask = 0 deviceLUIDValid = false subgroupSize = 8 subgroupSupportedStages: count = 4 SHADER_STAGE_FRAGMENT_BIT SHADER_STAGE_COMPUTE_BIT SHADER_STAGE_ALL_GRAPHICS SHADER_STAGE_ALL subgroupSupportedOperations: count = 4 SUBGROUP_FEATURE_BASIC_BIT SUBGROUP_FEATURE_VOTE_BIT SUBGROUP_FEATURE_ARITHMETIC_BIT SUBGROUP_FEATURE_BALLOT_BIT subgroupQuadOperationsInAllStages = false pointClippingBehavior = POINT_CLIPPING_BEHAVIOR_ALL_CLIP_PLANES maxMultiviewViewCount = 6 maxMultiviewInstanceIndex = 2147483647 protectedNoFault = false maxPerSetDescriptors = 1024 maxMemoryAllocationSize = 0x80000000 VkPhysicalDeviceVulkan12Properties: ----------------------------------- driverID = DRIVER_ID_MESA_LLVMPIPE driverName = llvmpipe driverInfo = Mesa 22.0.5 (LLVM 14.0.5) conformanceVersion = 0.0.0.0 denormBehaviorIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL roundingModeIndependence = SHADER_FLOAT_CONTROLS_INDEPENDENCE_ALL shaderSignedZeroInfNanPreserveFloat16 = true shaderSignedZeroInfNanPreserveFloat32 = true shaderSignedZeroInfNanPreserveFloat64 = true shaderDenormPreserveFloat16 = false shaderDenormPreserveFloat32 = false shaderDenormPreserveFloat64 = false shaderDenormFlushToZeroFloat16 = false shaderDenormFlushToZeroFloat32 = false shaderDenormFlushToZeroFloat64 = false shaderRoundingModeRTEFloat16 = true shaderRoundingModeRTEFloat32 = true shaderRoundingModeRTEFloat64 = true shaderRoundingModeRTZFloat16 = false shaderRoundingModeRTZFloat32 = false shaderRoundingModeRTZFloat64 = false maxUpdateAfterBindDescriptorsInAllPools = 67108863 shaderUniformBufferArrayNonUniformIndexingNative = false shaderSampledImageArrayNonUniformIndexingNative = false shaderStorageBufferArrayNonUniformIndexingNative = false shaderStorageImageArrayNonUniformIndexingNative = false shaderInputAttachmentArrayNonUniformIndexingNative = false robustBufferAccessUpdateAfterBind = true quadDivergentImplicitLod = false maxPerStageDescriptorUpdateAfterBindSamplers = 65536 maxPerStageDescriptorUpdateAfterBindUniformBuffers = 65536 maxPerStageDescriptorUpdateAfterBindStorageBuffers = 65536 maxPerStageDescriptorUpdateAfterBindSampledImages = 65536 maxPerStageDescriptorUpdateAfterBindStorageImages = 65536 maxPerStageDescriptorUpdateAfterBindInputAttachments = 65536 maxPerStageUpdateAfterBindResources = 65536 maxDescriptorSetUpdateAfterBindSamplers = 65536 maxDescriptorSetUpdateAfterBindUniformBuffers = 65536 maxDescriptorSetUpdateAfterBindUniformBuffersDynamic = 16 maxDescriptorSetUpdateAfterBindStorageBuffers = 65536 maxDescriptorSetUpdateAfterBindStorageBuffersDynamic = 16 maxDescriptorSetUpdateAfterBindSampledImages = 65536 maxDescriptorSetUpdateAfterBindStorageImages = 65536 maxDescriptorSetUpdateAfterBindInputAttachments = 65536 supportedDepthResolveModes: count = 2 RESOLVE_MODE_SAMPLE_ZERO_BIT RESOLVE_MODE_AVERAGE_BIT supportedStencilResolveModes: count = 1 RESOLVE_MODE_SAMPLE_ZERO_BIT independentResolveNone = false independentResolve = false filterMinmaxSingleComponentFormats = true filterMinmaxImageComponentMapping = true maxTimelineSemaphoreValueDifference = 18446744073709551615 framebufferIntegerColorSampleCounts: count = 1 SAMPLE_COUNT_1_BIT Device Extensions: count = 67 VK_EXT_4444_formats : extension revision 1 VK_EXT_calibrated_timestamps : extension revision 2 VK_EXT_color_write_enable : extension revision 1 VK_EXT_conditional_rendering : extension revision 2 VK_EXT_custom_border_color : extension revision 12 VK_EXT_depth_clip_enable : extension revision 1 VK_EXT_extended_dynamic_state : extension revision 1 VK_EXT_extended_dynamic_state2 : extension revision 1 VK_EXT_external_memory_host : extension revision 1 VK_EXT_host_query_reset : extension revision 1 VK_EXT_index_type_uint8 : extension revision 1 VK_EXT_line_rasterization : extension revision 1 VK_EXT_multi_draw : extension revision 1 VK_EXT_post_depth_coverage : 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_sampler_filter_minmax : extension revision 2 VK_EXT_scalar_block_layout : extension revision 1 VK_EXT_separate_stencil_usage : extension revision 1 VK_EXT_shader_stencil_export : extension revision 1 VK_EXT_shader_viewport_index_layer : extension revision 1 VK_EXT_transform_feedback : extension revision 1 VK_EXT_vertex_attribute_divisor : extension revision 3 VK_EXT_vertex_input_dynamic_state : extension revision 2 VK_GOOGLE_decorate_string : extension revision 1 VK_GOOGLE_hlsl_functionality1 : extension revision 1 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_memory : extension revision 1 VK_KHR_external_memory_fd : extension revision 1 VK_KHR_external_semaphore : extension revision 1 VK_KHR_get_memory_requirements2 : extension revision 1 VK_KHR_image_format_list : extension revision 1 VK_KHR_imageless_framebuffer : extension revision 1 VK_KHR_incremental_present : extension revision 2 VK_KHR_maintenance1 : extension revision 2 VK_KHR_maintenance2 : extension revision 1 VK_KHR_maintenance3 : extension revision 1 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_separate_depth_stencil_layouts : extension revision 1 VK_KHR_shader_atomic_int64 : 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_subgroup_extended_types : extension revision 1 VK_KHR_spirv_1_4 : extension revision 1 VK_KHR_storage_buffer_storage_class : extension revision 1 VK_KHR_swapchain : extension revision 70 VK_KHR_timeline_semaphore : extension revision 2 VK_KHR_uniform_buffer_standard_layout : extension revision 1 VK_KHR_variable_pointers : extension revision 1 VkQueueFamilyProperties: ======================== queueProperties[0]: ------------------- minImageTransferGranularity = (1,1,1) queueCount = 1 queueFlags = QUEUE_GRAPHICS | QUEUE_COMPUTE | QUEUE_TRANSFER timestampValidBits = 64 present support = false VkPhysicalDeviceMemoryProperties: ================================= memoryHeaps: count = 1 memoryHeaps[0]: size = 2147483648 (0x80000000) (2.00 GiB) flags: count = 1 MEMORY_HEAP_DEVICE_LOCAL_BIT memoryTypes: count = 1 memoryTypes[0]: heapIndex = 0 propertyFlags = 0x000f: count = 4 MEMORY_PROPERTY_DEVICE_LOCAL_BIT MEMORY_PROPERTY_HOST_VISIBLE_BIT MEMORY_PROPERTY_HOST_COHERENT_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 = true tessellationShader = true sampleRateShading = true dualSrcBlend = true logicOp = true multiDrawIndirect = true drawIndirectFirstInstance = true depthClamp = true depthBiasClamp = true fillModeNonSolid = true depthBounds = false wideLines = true largePoints = true alphaToOne = true multiViewport = true samplerAnisotropy = true textureCompressionETC2 = false textureCompressionASTC_LDR = false textureCompressionBC = true occlusionQueryPrecise = true pipelineStatisticsQuery = true vertexPipelineStoresAndAtomics = true fragmentStoresAndAtomics = true shaderTessellationAndGeometryPointSize = true shaderImageGatherExtended = true shaderStorageImageExtendedFormats = true shaderStorageImageMultisample = true shaderStorageImageReadWithoutFormat = false shaderStorageImageWriteWithoutFormat = true shaderUniformBufferArrayDynamicIndexing = true shaderSampledImageArrayDynamicIndexing = false shaderStorageBufferArrayDynamicIndexing = true shaderStorageImageArrayDynamicIndexing = false shaderClipDistance = true shaderCullDistance = true shaderFloat64 = true 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 VkPhysicalDevice16BitStorageFeatures: ------------------------------------- storageBuffer16BitAccess = true uniformAndStorageBuffer16BitAccess = true storagePushConstant16 = true storageInputOutput16 = false VkPhysicalDevice4444FormatsFeaturesEXT: --------------------------------------- formatA4R4G4B4 = true formatA4B4G4R4 = true VkPhysicalDevice8BitStorageFeatures: ------------------------------------ storageBuffer8BitAccess = true uniformAndStorageBuffer8BitAccess = true storagePushConstant8 = true VkPhysicalDeviceBufferDeviceAddressFeatures: -------------------------------------------- bufferDeviceAddress = true bufferDeviceAddressCaptureReplay = false bufferDeviceAddressMultiDevice = false VkPhysicalDeviceColorWriteEnableFeaturesEXT: -------------------------------------------- colorWriteEnable = true VkPhysicalDeviceConditionalRenderingFeaturesEXT: ------------------------------------------------ conditionalRendering = true inheritedConditionalRendering = false VkPhysicalDeviceCustomBorderColorFeaturesEXT: --------------------------------------------- customBorderColors = true customBorderColorWithoutFormat = true VkPhysicalDeviceDepthClipEnableFeaturesEXT: ------------------------------------------- depthClipEnable = true VkPhysicalDeviceDescriptorIndexingFeatures: ------------------------------------------- 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 VkPhysicalDeviceExtendedDynamicState2FeaturesEXT: ------------------------------------------------- extendedDynamicState2 = true extendedDynamicState2LogicOp = true extendedDynamicState2PatchControlPoints = true VkPhysicalDeviceExtendedDynamicStateFeaturesEXT: ------------------------------------------------ extendedDynamicState = true VkPhysicalDeviceHostQueryResetFeatures: --------------------------------------- hostQueryReset = true VkPhysicalDeviceImagelessFramebufferFeatures: --------------------------------------------- imagelessFramebuffer = true VkPhysicalDeviceIndexTypeUint8FeaturesEXT: ------------------------------------------ indexTypeUint8 = true VkPhysicalDeviceLineRasterizationFeaturesEXT: --------------------------------------------- rectangularLines = true bresenhamLines = true smoothLines = true stippledRectangularLines = true stippledBresenhamLines = true stippledSmoothLines = true VkPhysicalDeviceMultiDrawFeaturesEXT: ------------------------------------- multiDraw = true VkPhysicalDeviceMultiviewFeatures: ---------------------------------- multiview = true multiviewGeometryShader = true multiviewTessellationShader = true VkPhysicalDevicePrivateDataFeaturesEXT: --------------------------------------- privateData = true VkPhysicalDeviceProtectedMemoryFeatures: ---------------------------------------- protectedMemory = false VkPhysicalDeviceProvokingVertexFeaturesEXT: ------------------------------------------- provokingVertexLast = true transformFeedbackPreservesProvokingVertex = true VkPhysicalDeviceSamplerYcbcrConversionFeatures: ----------------------------------------------- samplerYcbcrConversion = false VkPhysicalDeviceScalarBlockLayoutFeatures: ------------------------------------------ scalarBlockLayout = true VkPhysicalDeviceSeparateDepthStencilLayoutsFeatures: ---------------------------------------------------- separateDepthStencilLayouts = true VkPhysicalDeviceShaderAtomicInt64Features: ------------------------------------------ shaderBufferInt64Atomics = true shaderSharedInt64Atomics = true VkPhysicalDeviceShaderDrawParametersFeatures: --------------------------------------------- shaderDrawParameters = true VkPhysicalDeviceShaderFloat16Int8Features: ------------------------------------------ shaderFloat16 = false shaderInt8 = true VkPhysicalDeviceShaderSubgroupExtendedTypesFeatures: ---------------------------------------------------- shaderSubgroupExtendedTypes = true VkPhysicalDeviceTimelineSemaphoreFeatures: ------------------------------------------ timelineSemaphore = true VkPhysicalDeviceTransformFeedbackFeaturesEXT: --------------------------------------------- transformFeedback = true geometryStreams = true VkPhysicalDeviceUniformBufferStandardLayoutFeatures: ---------------------------------------------------- uniformBufferStandardLayout = true VkPhysicalDeviceVariablePointersFeatures: ----------------------------------------- variablePointersStorageBuffer = true variablePointers = false VkPhysicalDeviceVertexAttributeDivisorFeaturesEXT: -------------------------------------------------- vertexAttributeInstanceRateDivisor = true vertexAttributeInstanceRateZeroDivisor = false VkPhysicalDeviceVertexInputDynamicStateFeaturesEXT: --------------------------------------------------- vertexInputDynamicState = true VkPhysicalDeviceVulkan11Features: --------------------------------- storageBuffer16BitAccess = true uniformAndStorageBuffer16BitAccess = true storagePushConstant16 = true storageInputOutput16 = false multiview = true multiviewGeometryShader = true multiviewTessellationShader = true variablePointersStorageBuffer = true variablePointers = false protectedMemory = false samplerYcbcrConversion = false shaderDrawParameters = true VkPhysicalDeviceVulkan12Features: --------------------------------- samplerMirrorClampToEdge = true drawIndirectCount = true storageBuffer8BitAccess = true uniformAndStorageBuffer8BitAccess = true storagePushConstant8 = true shaderBufferInt64Atomics = true shaderSharedInt64Atomics = true shaderFloat16 = false 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 = true scalarBlockLayout = true imagelessFramebuffer = true uniformBufferStandardLayout = true shaderSubgroupExtendedTypes = true separateDepthStencilLayouts = true hostQueryReset = true timelineSemaphore = true bufferDeviceAddress = true bufferDeviceAddressCaptureReplay = false bufferDeviceAddressMultiDevice = false vulkanMemoryModel = false vulkanMemoryModelDeviceScope = false vulkanMemoryModelAvailabilityVisibilityChains = false shaderOutputViewportIndex = true shaderOutputLayer = true subgroupBroadcastDynamicId = true VkPhysicalDeviceVulkanMemoryModelFeatures: ------------------------------------------ vulkanMemoryModel = false vulkanMemoryModelDeviceScope = false vulkanMemoryModelAvailabilityVisibilityChains = false ```
DSchroer commented 1 year ago

Looking deeper it seems like the next release of bevy will have much improved support for older GPU backends. I will try to update as soon as a stable version of it is available.

https://github.com/bevyengine/bevy/issues/3191

setop commented 1 year ago

On my debian 11, with an Intel HD 620, I had to do sudo apt install mesa-vulkan-drivers