====== Vulkan on Wayland ====== [[:VIM3]] [[:VIM3L]] [[:VIM4]] [[:VIM1S]] with Ubuntu 22.04/24.04 Gnome Desktop and Wayland with **5.15** kernel supports Vulkan, you can follow this documentation to test Vulkan. Only for VIM3/3L/4/1S with 5.15 kernel with Ubuntu 22.04/24.04 Gnome Desktop and Wayland. ===== Install Vulkan tools ===== The default ''vulkan-tools'' doesn't support Wayland, so we rebuild it to support Wayland, you can follow the commands below to install ''vulkan-tools''. ```shell sudo apt update sudo apt install vulkan-tools wget https://dl.khadas.com/development/vulkan-tools_1.3.204.0%2Bdfsg1-1_arm64.deb sudo dpkg -i vulkan-tools_1.3.204.0+dfsg1-1_arm64.deb ``` ```shell sudo apt update sudo apt install vulkan-tools ``` ===== Check Vulkan informations ===== You can use command ''vulkaninfo'' to get the ''Vulkan'' informations. ```shell khadas@Khadas:~$ vulkaninfo | less 'DISPLAY' environment variable not set... skipping surface info ========== VULKANINFO ========== Vulkan Instance Version: 1.3.204 Instance Extensions: count = 10 =============================== VK_EXT_debug_report : extension revision 10 VK_EXT_debug_utils : extension revision 2 VK_EXT_headless_surface : extension revision 1 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_surface : extension revision 25 VK_KHR_wayland_surface : extension revision 6 Layers: count = 1 ================= VK_LAYER_window_system_integration (Window system integration layer) Vulkan version 1.3.204, layer version 1: Layer Extensions: count = 2 VK_KHR_surface : extension revision 25 VK_KHR_wayland_surface : extension revision 6 Devices: count = 1 GPU id = 0 (Mali-G52) Layer-Device Extensions: count = 1 VK_KHR_swapchain : extension revision 70 Presentable Surfaces: ===================== GPU id : 0 (Mali-G52): Surface type = VK_KHR_wayland_surface Formats: count = 5 SurfaceFormat[0]: format = FORMAT_R5G6B5_UNORM_PACK16 colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[1]: format = FORMAT_R8G8B8A8_SRGB colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[2]: format = FORMAT_R8G8B8A8_UNORM colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[3]: format = FORMAT_B8G8R8A8_SRGB colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR SurfaceFormat[4]: format = FORMAT_B8G8R8A8_UNORM colorSpace = COLOR_SPACE_SRGB_NONLINEAR_KHR Present Modes: count = 2 PRESENT_MODE_FIFO_KHR PRESENT_MODE_MAILBOX_KHR VkSurfaceCapabilitiesKHR: ... ``` ===== Run Vulkan cube test program ===== You can run the ''Vulkan'' test program ''vkcube-wayland''. ```shell $ vkcube-wayland ``` You will see a rotating cube on the screen. {{:products:sbc:common:applications:vkcube.webp?800|}}