Toutes les applications Vulkan, y compris les démos de LunarG SDK 1.0.61.1, se bloquent lors de la création d’une swapchain dans Ubuntu 17.10 (Wayland et X.org). Callstack de la démo de cube:
#0 0x00007ffff629f924 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
#1 0x00007ffff62ac695 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
#2 0x00007ffff629fceb in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
#3 0x00007ffff798c1ea in terminator_CreateSwapchainKHR () from /home/glaze/Downloads/VulkanSDK/1.0.61.1/x86_64/lib/libvulkan.so.1
#4 0x000055555555a48b in demo_prepare_buffers ()
#5 0x000055555555d51b in demo_prepare ()
#6 0x0000555555560fa0 in main ()
Mon processeur graphique est AMD R9 Nano. vulkaninfo ne génère pas d'erreur et trouve les couches de validation et les extensions d'instance et de périphérique:
Instance Extensions count = 9
VK_KHR_surface : extension revision 25
VK_KHR_xcb_surface : extension revision 6
VK_KHR_xlib_surface : extension revision 6
VK_KHR_wayland_surface : extension revision 6
VK_KHR_get_physical_device_properties2: extension revision 1
VK_KHR_external_memory_capabilities : extension revision 1
VK_KHR_external_semaphore_capabilities: extension revision 1
VK_KHR_get_surface_capabilities2 : extension revision 1
VK_EXT_debug_report : extension revision 8
Device Extensions count = 16
VK_KHR_descriptor_update_template : extension revision 1
VK_KHR_incremental_present : extension revision 1
VK_KHR_maintenance1 : extension revision 1
VK_KHR_Push_descriptor : extension revision 1
VK_KHR_sampler_mirror_clamp_to_Edge : extension revision 1
VK_KHR_swapchain : extension revision 68
VK_AMD_draw_indirect_count : extension revision 1
VK_KHR_shader_draw_parameters : extension revision 1
VK_KHR_get_memory_requirements2 : extension revision 1
VK_KHR_dedicated_allocation : extension revision 1
VK_KHR_external_memory : extension revision 1
VK_KHR_external_memory_fd : extension revision 1
VK_KHR_storage_buffer_storage_class : extension revision 1
VK_KHR_variable_pointers : extension revision 1
VK_KHR_external_semaphore : extension revision 1
VK_KHR_external_semaphore_fd : extension revision 1
Voici mes variables d'environnement:
export VULKAN_SDK=~/Downloads/VulkanSDK/1.0.61.1/x86_64
export PATH=$VULKAN_SDK/bin:$PATH
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
export VK_LAYER_PATH=$VULKAN_SDK/etc/explicit_layer.d
Mes bibliothèques Vulkan sont-elles mal configurées ou cela ressemble-t-il à un bogue RADV?
edit (2017-11-08): Selon Phoronix , cela pourrait être causé par les correctifs Mir d'Ubuntu:
Si vous avez essayé d'utiliser le pilote RADV Radeon Vulkan fourni pour Ubuntu mais que vous avez constaté qu'il ne fonctionne pas, il y a de fortes chances qu'il soit causé par les correctifs de Canonical pour le support Mir.
Je n'ai pas été en mesure d'essayer la solution de contournement (installation de pilotes à partir d'un PPA: Sudo apt-add-repository ppa:paulo-miguel-dias/mesa && Sudo apt update && Sudo apt dist-upgrade
), mais je mettrai à jour cette question ou posterai une réponse ultérieurement, à moins que quelqu'un d'autre ne puisse vérifier que cela fonctionne.
Je l'ai obtenu en utilisant les pilotes d'un PPA:
Sudo apt purge mesa-vulkan-drivers vulkan-utils
Sudo apt-add-repository ppa:oibaf/graphics-drivers
Sudo apt update && Sudo apt install mesa-vulkan-drivers vulkan-utils
Selon Phoronix , le pilote du référentiel Ubuntu est endommagé à cause de leurs correctifs Mir:
Si vous avez essayé d'utiliser le pilote RADV Radeon Vulkan fourni pour Ubuntu mais que vous avez constaté qu'il ne fonctionne pas, il y a de fortes chances qu'il soit causé par les correctifs de Canonical pour le support Mir.
David Airlie (développeur RADV) a également blogué à propos de cette rupture.
L’équipe Ubuntu a également lancé aujourd’hui une mise à jour du pilote Nvidia qui corrige certains bugs liés à Vulkan. Essayez donc simplement de mettre à jour vos pilotes les plus récents avec Ubuntu.