Hi friends!!
Maybe this question is boring.
There are few places where you can get a specific answer.
I am trying to set up the Vulkan API.
I installed the entire SDK, and the cube animation test works.
Then, some additional libraries need to be installed, which I did.
They provide examples of basic code: the first is an empty window, and the second draws a triangle.
Everything compiles fine, no errors are shown, but when I run the window, it displays a frozen image taken from the desktop.
The window doesn’t crash; I can move it around.
I can’t figure out what is wrong.
How do I investigate what the error is?
I am working on Linux.
Hmm, so did you install the SDK successfully or not? Your title suggests you ran into a problem, but then you say the SDK installed and you can run vkcube
(which doesn’t really mean the SDK installed successfully, but rather that your system has some working Vulkan graphics driver). Did you use the “Vulkan Installation Analyzer” vkvia
as suggested in the SDK Getting Started Docs, section " Verify the SDK Installation"?
Who is “they” here? I didn’t think the SDK includes sample code (sorry if I missed that); so what example code are you using?
In any case:
Enable the validation layer when running the example code - same page as above, section " Use Vulkan Layers".
Thank you for your help!
I’m new to the volcano, I want to learn!
I followed the instructions from the website.
vulkan-tutorial Development_environment
There the test code is recommended.
bash-5.1$ vkvia
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
WARNING: lavapipe is not a conformant vulkan implementation, testing use only.
SUCCESS: Vulkan analysis able to create Vulkan 1.2 instance/devices - However, No SDK Detected
If I understood correctly.
bash-5.1$ ./VulkanTest
validation layer: ReadDataFilesInSearchPaths: Searching the following paths for manifest files: /etc/xdg/vulkan/implicit_layer.d:/etc/kde/xdg/vulkan/implicit_layer.d:/etc/vulkan/implicit_layer.d:/usr/local/share/vulkan/implicit_layer.d:/usr/share/vulkan/implicit_layer.d:/home/vlada/.local/share/vulkan/implicit_layer.d
validation layer: loaderAddLayerProperties: 'layers' tag not supported until file version 1.0.1, but /etc/vulkan/implicit_layer.d/nvidia_layers.json is reporting version ϯc
validation layer: ReadDataFilesInSearchPaths: Searching the following paths for manifest files: /etc/xdg/vulkan/explicit_layer.d:/etc/kde/xdg/vulkan/explicit_layer.d:/etc/vulkan/explicit_layer.d:/usr/local/share/vulkan/explicit_layer.d:/usr/share/vulkan/explicit_layer.d:/home/vlada/.local/share/vulkan/explicit_layer.d
validation layer: ReadDataFilesInSearchPaths: Searching the following paths for manifest files: /etc/xdg/vulkan/icd.d:/etc/kde/xdg/vulkan/icd.d:/etc/vulkan/icd.d:/usr/local/share/vulkan/icd.d:/usr/share/vulkan/icd.d:/home/vlada/.local/share/vulkan/icd.d
validation layer: Searching for ICD drivers named libGLX_nvidia.so.0
validation layer: Searching for ICD drivers named /usr/lib64/libvulkan_radeon.so
validation layer: Searching for ICD drivers named /usr/lib64/libvulkan_intel.so
validation layer: Searching for ICD drivers named /usr/lib64/libvulkan_lvp.so
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_display (libGLX_nvidia.so.0) version 0.0.23
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_display_properties2 (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (libGLX_nvidia.so.0) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (libGLX_nvidia.so.0) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_wayland_surface (libGLX_nvidia.so.0) version 0.0.6
validation layer: Instance Extension: VK_KHR_xcb_surface (libGLX_nvidia.so.0) version 0.0.6
validation layer: Instance Extension: VK_KHR_xlib_surface (libGLX_nvidia.so.0) version 0.0.6
validation layer: Instance Extension: VK_EXT_acquire_drm_display (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_acquire_xlib_display (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_debug_report (libGLX_nvidia.so.0) version 0.0.10
validation layer: Instance Extension: VK_EXT_debug_utils (libGLX_nvidia.so.0) version 0.0.2
validation layer: Instance Extension: VK_EXT_direct_mode_display (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_display_surface_counter (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_surface_maintenance1 (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_swapchain_colorspace (libGLX_nvidia.so.0) version 0.0.5
validation layer: Instance Extension: VK_NV_display_stereo (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_device_group_creation (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_display (/usr/lib64/libvulkan_radeon.so) version 0.0.23
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_display_properties2 (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (/usr/lib64/libvulkan_radeon.so) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (/usr/lib64/libvulkan_radeon.so) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_wayland_surface (/usr/lib64/libvulkan_radeon.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xcb_surface (/usr/lib64/libvulkan_radeon.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xlib_surface (/usr/lib64/libvulkan_radeon.so) version 0.0.6
validation layer: Instance Extension: VK_EXT_acquire_drm_display (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_acquire_xlib_display (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_debug_report (/usr/lib64/libvulkan_radeon.so) version 0.0.10
validation layer: Instance Extension: VK_EXT_direct_mode_display (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_display_surface_counter (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_device_group_creation (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_display (/usr/lib64/libvulkan_intel.so) version 0.0.23
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_display_properties2 (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (/usr/lib64/libvulkan_intel.so) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (/usr/lib64/libvulkan_intel.so) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_wayland_surface (/usr/lib64/libvulkan_intel.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xcb_surface (/usr/lib64/libvulkan_intel.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xlib_surface (/usr/lib64/libvulkan_intel.so) version 0.0.6
validation layer: Instance Extension: VK_EXT_acquire_drm_display (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_acquire_xlib_display (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_debug_report (/usr/lib64/libvulkan_intel.so) version 0.0.10
validation layer: Instance Extension: VK_EXT_direct_mode_display (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_display_surface_counter (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_device_group_creation (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (/usr/lib64/libvulkan_lvp.so) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (/usr/lib64/libvulkan_lvp.so) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_wayland_surface (/usr/lib64/libvulkan_lvp.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xcb_surface (/usr/lib64/libvulkan_lvp.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xlib_surface (/usr/lib64/libvulkan_lvp.so) version 0.0.6
validation layer: Instance Extension: VK_EXT_debug_report (/usr/lib64/libvulkan_lvp.so) version 0.0.10
validation layer: Loading layer library libVkLayer_khronos_validation.so
validation layer: Loading layer library libVkLayer_MESA_device_select.so
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_display (libGLX_nvidia.so.0) version 0.0.23
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_display_properties2 (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (libGLX_nvidia.so.0) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (libGLX_nvidia.so.0) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_KHR_wayland_surface (libGLX_nvidia.so.0) version 0.0.6
validation layer: Instance Extension: VK_KHR_xcb_surface (libGLX_nvidia.so.0) version 0.0.6
validation layer: Instance Extension: VK_KHR_xlib_surface (libGLX_nvidia.so.0) version 0.0.6
validation layer: Instance Extension: VK_EXT_acquire_drm_display (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_acquire_xlib_display (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_debug_report (libGLX_nvidia.so.0) version 0.0.10
validation layer: Instance Extension: VK_EXT_debug_utils (libGLX_nvidia.so.0) version 0.0.2
validation layer: Instance Extension: VK_EXT_direct_mode_display (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_display_surface_counter (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_surface_maintenance1 (libGLX_nvidia.so.0) version 0.0.1
validation layer: Instance Extension: VK_EXT_swapchain_colorspace (libGLX_nvidia.so.0) version 0.0.5
validation layer: Instance Extension: VK_NV_display_stereo (libGLX_nvidia.so.0) version 0.0.1
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_display (/usr/lib64/libvulkan_radeon.so) version 0.0.23
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_display_properties2 (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (/usr/lib64/libvulkan_radeon.so) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (/usr/lib64/libvulkan_radeon.so) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_wayland_surface (/usr/lib64/libvulkan_radeon.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xcb_surface (/usr/lib64/libvulkan_radeon.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xlib_surface (/usr/lib64/libvulkan_radeon.so) version 0.0.6
validation layer: Instance Extension: VK_EXT_acquire_drm_display (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_acquire_xlib_display (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_debug_report (/usr/lib64/libvulkan_radeon.so) version 0.0.10
validation layer: Instance Extension: VK_EXT_direct_mode_display (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_display_surface_counter (/usr/lib64/libvulkan_radeon.so) version 0.0.1
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_display (/usr/lib64/libvulkan_intel.so) version 0.0.23
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_display_properties2 (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (/usr/lib64/libvulkan_intel.so) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (/usr/lib64/libvulkan_intel.so) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_wayland_surface (/usr/lib64/libvulkan_intel.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xcb_surface (/usr/lib64/libvulkan_intel.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xlib_surface (/usr/lib64/libvulkan_intel.so) version 0.0.6
validation layer: Instance Extension: VK_EXT_acquire_drm_display (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_acquire_xlib_display (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_debug_report (/usr/lib64/libvulkan_intel.so) version 0.0.10
validation layer: Instance Extension: VK_EXT_direct_mode_display (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Instance Extension: VK_EXT_display_surface_counter (/usr/lib64/libvulkan_intel.so) version 0.0.1
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (/usr/lib64/libvulkan_lvp.so) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (/usr/lib64/libvulkan_lvp.so) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (/usr/lib64/libvulkan_lvp.so) version 0.0.1
validation layer: Instance Extension: VK_KHR_wayland_surface (/usr/lib64/libvulkan_lvp.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xcb_surface (/usr/lib64/libvulkan_lvp.so) version 0.0.6
validation layer: Instance Extension: VK_KHR_xlib_surface (/usr/lib64/libvulkan_lvp.so) version 0.0.6
validation layer: Instance Extension: VK_EXT_debug_report (/usr/lib64/libvulkan_lvp.so) version 0.0.10
validation layer: Unloading layer library libVkLayer_MESA_device_select.so
validation layer: Unloading layer library libVkLayer_khronos_validation.so
Hmm, that looks to me like vkvia
is not able to locate the SDK. I don’t see any errors in the output from the validation layers when you run VulkanTest
.
The first thing that comes to mind is checking if the VULKAN_SDK
environment variable is set correct. What is the output of running echo $VULKAN_SDK
?
The section “Set up the runtime environment” (same page as I linked previously) shows how to set it to the correct path.
bash-5.1$ echo $VULKAN_SDK
bash-5.1$
It looks empty!