SteamVR OpenXR vulkan failed to find VkPhysicalDevice matching deviceUUID I've been able to run SteamVR successfully (tracking works fine and I get the default steamvr aurora skybox in the headset), but I'm unable to get any applications to actually submit frames successfully. `hello_xr` with the vulkan backend somewhat gracefully exits. ``` [16:55:56.970][Info ] Available Layers: (0) [16:55:57.124][Info ] Instance RuntimeName=SteamVR/OpenXR RuntimeVersion=2.4.1 [16:55:57.130][Info ] Available View Configuration Types: (1) [16:55:57.134][Info ] Available Environment Blend Mode count : (1) [16:55:57.134][Info ] Environment Blend Mode (XR_ENVIRONMENT_BLEND_MODE_OPAQUE) : (Selected) [16:55:57.143][Warning] No validation layers found in the system, skipping [gfxrecon] INFO - Initializing GFXReconstruct capture layer [gfxrecon] INFO - GFXReconstruct Version 0.9.18-unknown (unknown-build-source) [gfxrecon] INFO - Recording graphics API capture to gfxrecon_capture_20240211T165557.gfxr [gfxrecon] INFO - Vulkan Header Version 1.3.239 [gfxrecon] INFO - Vulkan Header Version 1.3.239 [16:55:57.224][Info ] INFO: (INSTANCE 0x3ed87670) linux_read_sorted_physical_devices: [16:55:57.225][Info ] INFO: (INSTANCE 0x3ed87670) Original order: [16:55:57.225][Info ] INFO: (INSTANCE 0x3ed87670) [0] AMD Radeon RX 460 Graphics (RADV POLARIS11) [16:55:57.225][Info ] INFO: (INSTANCE 0x3ed87670) Sorted order: [16:55:57.226][Info ] INFO: (INSTANCE 0x3ed87670) [0] AMD Radeon RX 460 Graphics (RADV POLARIS11) [16:55:57.226][Info ] INFO: (INSTANCE 0x3ed87670) linux_read_sorted_physical_devices: [16:55:57.226][Info ] INFO: (INSTANCE 0x3ed87670) Original order: [16:55:57.226][Info ] INFO: (INSTANCE 0x3ed87670) [0] AMD Radeon RX 460 Graphics (RADV POLARIS11) [16:55:57.226][Info ] INFO: (INSTANCE 0x3ed87670) Sorted order: [16:55:57.226][Info ] INFO: (INSTANCE 0x3ed87670) [0] AMD Radeon RX 460 Graphics (RADV POLARIS11) [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) linux_read_sorted_physical_devices: [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) Original order: [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) [0] AMD Radeon RX 460 Graphics (RADV POLARIS11) [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) Sorted order: [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) [0] AMD Radeon RX 460 Graphics (RADV POLARIS11) [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) linux_read_sorted_physical_devices: [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) Original order: [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) [0] AMD Radeon RX 460 Graphics (RADV POLARIS11) [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) Sorted order: [16:55:57.229][Info ] INFO: (INSTANCE 0x3ed87670) [0] AMD Radeon RX 460 Graphics (RADV POLARIS11) [16:55:57.288][Error ] XrResult failure [XR_ERROR_RUNTIME_FAILURE] Origin: pfnGetVulkanGraphicsDeviceKHR(instance, getInfo->systemId, getInfo->vulkanInstance, vulkanPhysicalDevice) Source: /home/ich/OpenXR-SDK-Source/src/tests/hello_xr/graphicsplugin_vulkan.cpp:1961 ``` From the SteamVR xrclient log: ``` Sun Feb 11 2024 16:51:52.364802 [Info] - IVRSystem::GetOutputDevice: failed to find VkPhysicalDevice matching deviceUUID Sun Feb 11 2024 16:51:52.364994 [Error] - CSxrCompositorOpenVRGetVulkanGRaphicsDevice error: failed to determine output device ``` The only three vulkan calls I found with `BOX64_LOG=2` after a lot of `vkGetInstanceProcAddr` calls were to calls to`vkEnumeratePhysicalDevices` and then `8785|0x3f030d9fcc: Calling vkGetPhysicalDeviceProperties2(0x55E186D0, 0x7FA4484720, 0x7FA44846B0, ...) => return 0x105C0` , directly after which the error message gets created and written to the log. `hellovr_vulkan` looses its connection to the X server and then shuts down. This could also be down to library issues however, I'll have to see if I can get it to recompile in an environment with older libraries (especially an older libc). `3975|0x100045375: Calling SDL_CreateWindow(0x100062B09, 0x2BC, 0x64, ...) =>X connection to :0 broken (explicit kill or server shutdown).` OpenVR through wine64 produces some more interesting errors in the vrclient log ``` Sat Feb 10 2024 17:12:16.651804 [Error] - No GPU timing Vulkan device in CVRCompositorSharedTextures::BeginGPUTimingCommandBuffer! Sat Feb 10 2024 17:12:16.653085 [Error] - No Vulkan command buffer open in CGpuTiming::MarkEvent! Sat Feb 10 2024 17:12:16.653296 [Error] - Invalid command buffer in CVRCompositorSharedTextures::FinishOpenCommandBuffer! Sat Feb 10 2024 17:13:01.998581 [Info] - Enable advanced image processing of scene textures. Sat Feb 10 2024 17:13:02.005827 [Info] - Failed to allocate new VRCompositor semaphore Sat Feb 10 2024 17:13:02.006174 [Info] - Failed to create shared vulkan semaphore Sat Feb 10 2024 17:13:02.006631 [Info] - Failed to allocate new VRCompositor semaphore Sat Feb 10 2024 17:13:02.006675 [Info] - Failed to create shared vulkan semaphore Sat Feb 10 2024 17:13:02.007500 [Info] - Initializing CVulkanVRRenderer Sat Feb 10 2024 17:13:02.007939 [Info] - Debug markers: enabled Sat Feb 10 2024 17:13:02.774652 [Info] - Initialized Vulkan transfer ring buffer, mapped at offset 0x0x7ed8759000. Sat Feb 10 2024 17:13:02.778714 [Info] - Failed to allocate new VRCompositor semaphore Sat Feb 10 2024 17:13:02.778807 [Info] - Failed to create shared vulkan semaphore Sat Feb 10 2024 17:13:02.779344 [Info] - CSharedResourceBaseLinux::CreateAssociatedResources failed to pre-allocate semaphore handle=0x1000018f6 slot=0 Sat Feb 10 2024 17:13:02.780963 [Error] - SharedCountingSemaphoreLinux::CreateVulkanCountingSemaphore: failed to create associated semaphores. Sat Feb 10 2024 17:13:02.782279 [Error] - CVulkanVRRenderer::CreateGPUCountingSemaphore - Failed to allocate counting shared resource Sat Feb 10 2024 17:13:02.786028 [Info] - Failed to allocate new VRCompositor semaphore Sat Feb 10 2024 17:13:02.786122 [Info] - Failed to create shared vulkan semaphore Sat Feb 10 2024 17:13:02.786157 [Info] - CSharedResourceBaseLinux::CreateAssociatedResources failed to pre-allocate semaphore handle=0x2000018f6 slot=0 Sat Feb 10 2024 17:13:02.786188 [Error] - SharedCountingSemaphoreLinux::CreateVulkanCountingSemaphore: failed to create associated semaphores. Sat Feb 10 2024 17:13:02.786214 [Error] - CVulkanVRRenderer::CreateGPUCountingSemaphore - Failed to allocate counting shared resource Sat Feb 10 2024 17:13:02.787858 [Info] - Failed to create shared vulkan buffer: size=2032 usage=0x13 Sat Feb 10 2024 17:13:02.788458 [Error] - Failed to create sync texture. Ensure application was built using DXGI 1.1 or later (i.e. Call CreateDXGIFactory1). Sat Feb 10 2024 17:13:02.793165 [Info] - Failed to allocate new VRCompositor semaphore Sat Feb 10 2024 17:13:02.793252 [Info] - Failed to create shared vulkan semaphore Sat Feb 10 2024 17:13:02.793285 [Info] - CSharedResourceBaseLinux::CreateAssociatedResources failed to pre-allocate semaphore handle=0x3000018f6 slot=0 Sat Feb 10 2024 17:13:02.793315 [Error] - SharedCountingSemaphoreLinux::CreateVulkanCountingSemaphore: failed to create associated semaphores. Sat Feb 10 2024 17:13:02.793337 [Error] - CVulkanVRRenderer::CreateGPUCountingSemaphore - Failed to allocate counting shared resource Sat Feb 10 2024 17:13:02.794586 [Info] - Failed to allocate new VRCompositor semaphore Sat Feb 10 2024 17:13:02.794658 [Info] - Failed to create shared vulkan semaphore Sat Feb 10 2024 17:13:02.794687 [Info] - CSharedResourceBaseLinux::CreateAssociatedResources failed to pre-allocate semaphore handle=0x4000018f6 slot=0 Sat Feb 10 2024 17:13:02.794719 [Error] - SharedCountingSemaphoreLinux::CreateVulkanCountingSemaphore: failed to create associated semaphores. Sat Feb 10 2024 17:13:02.794748 [Error] - CVulkanVRRenderer::CreateGPUCountingSemaphore - Failed to allocate counting shared resource Sat Feb 10 2024 17:13:02.794856 [Info] - Failed to create shared vulkan buffer: size=2032 usage=0x13 Sat Feb 10 2024 17:13:03.065323 [Info] - Failed to ref VRCompositor resource 0x10000092a Sat Feb 10 2024 17:13:03.065966 [Error] - VulkanVRRenderer::ImportConstantBufferFromSharedHandle - Failed to import remote constant buffer. Sat Feb 10 2024 17:13:03.068647 [Error] - Failed to open frame info buffer (Vulkan)! Sat Feb 10 2024 17:13:03.104364 [Info] - Failed to allocate new VRCompositor semaphore Sat Feb 10 2024 17:13:03.104447 [Info] - Failed to create shared vulkan semaphore ``` in this case, the application runs and tracks correctly, but no frames get submitted to SteamVR (or at least they aren't visible in the headset, it's still showing the default skybox) I didn't see any errors about missing vulkan extensions, so that's likely not the issue. Monado is also able to run fine fully in box64. I haven't been able to run SteamVR with `BOX64_log=2` yet unfortunately.