Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when querying surface support for VK_EXT_headless_surface surface with multiple icds #1567

Open
JamesRumble-IMG opened this issue Oct 4, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@JamesRumble-IMG
Copy link

I'm seeing a crash when attempting to query for surface support (vkGetPhysicalDeviceSurfacePresentModesKHR/vkGetPhysicalDeviceSurfaceSupportKHR/vkGetPhysicalDeviceSurfaceCapabilitiesKHR etc.) for a VKSurfaceKHR previously created using vkCreateHeadlessSurfaceEXT.

My system (Ubuntu 22.04) has 2 icds configured/installed - llvmpipe and nvidia. llvmpipe supports VK_EXT_headless_surface whilst nvidia does not. I can provide full vulkaninfo outputs if required.
Whilst using the Vulkan-Loader (8bdce6d) my application sees that VK_EXT_headless_surface is supported and therefore creates a "headless" surface using vkCreateHeadlessSurfaceEXT which the loader forwards to all icds supporting the extension i.e. llvmpipe and not nvidia (

if (NULL != icd_term->dispatch.CreateHeadlessSurfaceEXT) {
)
I'm then seeing a crash when attempting to query surface support/capabilities for the "headless" surface using the nvidia icd i.e. an icd which knows nothing about the headless surface.
Should the Vulkan-Loader be handling these (VK_KHR_surface) functions and be returning no support/capabilities rather than forwarding them onto an icd without any knowledge of the headless surface?
I was torn as to whether this was a driver issue or Vulkan-Loader issue but I can imagine this being a problem across multiple icds and potentially affects multiple instance (surface?) extensions so I thought best to raise it here.

FYI we're using VK_EXT_headless_surface for an offscreen rendering usecase.
Somewhat related to #866

Environment:

  • OS: Ubuntu 22.04
  • Bitdepth: 64-bit
  • GPU:
    Devices:
    ========
    GPU0:
    apiVersion = 1.3.277
    driverVersion = 550.107.2.128
    vendorID = 0x10de
    deviceID = 0x1e89
    deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
    deviceName = NVIDIA GeForce RTX 2060
    driverID = DRIVER_ID_NVIDIA_PROPRIETARY
    driverName = NVIDIA
    driverInfo = 550.107.02
    conformanceVersion = 1.3.7.2
    deviceUUID = 7f12b1e4-b2c6-ccae-bc2c-9f93bc5b18dc
    driverUUID = 12adfef6-a92a-528b-8610-45df7fa0a5b8
    GPU1:
    apiVersion = 1.3.289
    driverVersion = 0.0.1
    vendorID = 0x10005
    deviceID = 0x0000
    deviceType = PHYSICAL_DEVICE_TYPE_CPU
    deviceName = llvmpipe (LLVM 15.0.7, 256 bits)
    driverID = DRIVER_ID_MESA_LLVMPIPE
    driverName = llvmpipe
    driverInfo = Mesa 24.3git2407250600.76ae27oibaf~j (git-76ae27e 2024-07-25 jammy-oibaf-ppa) (LLVM 15.0.7)
    conformanceVersion = 1.3.1.1
    deviceUUID = 6d657361-3234-2e33-7e67-697432343000
    driverUUID = 6c6c766d-7069-7065-5555-494400000000
  • SDK or header version if building from repo: 8bdce6d (-DUPDATE_DEPS=ON)

To Reproduce
See above but a full reproduction case can be provided upon request.

VK_LOADER_DEBUG output
INFO: Vulkan Loader Version 1.3.225
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
DRIVER: Searching for driver manifest files
DRIVER: In following folders:
DRIVER: /home/jrumble/.config/vulkan/icd.d
DRIVER: /etc/xdg/xdg-ubuntu/vulkan/icd.d
DRIVER: /etc/xdg/vulkan/icd.d
DRIVER: /usr/local/etc/vulkan/icd.d
DRIVER: /etc/vulkan/icd.d
DRIVER: /home/jrumble/.local/share/vulkan/icd.d
DRIVER: /usr/share/ubuntu/vulkan/icd.d
DRIVER: /usr/share/gnome/vulkan/icd.d
DRIVER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/icd.d
DRIVER: /var/lib/flatpak/exports/share/vulkan/icd.d
DRIVER: /usr/local/share/vulkan/icd.d
DRIVER: /usr/share/vulkan/icd.d
DRIVER: /var/lib/snapd/desktop/vulkan/icd.d
DRIVER: Found the following files:
DRIVER: amd_icd64.json
DRIVER: amd_icd32.json
DRIVER: /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/radeon_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/lvp_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/intel_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/lvp_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/virtio_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/dzn_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/nvidia_icd.json
DRIVER: /usr/share/vulkan/icd.d/intel_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/virtio_icd.i686.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_radeon.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_radeon.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_lvp.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_lvp.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_intel.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_intel.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/virtio_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/dzn_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_dzn.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/nvidia_icd.json, version "1.0.0"
DEBUG: Searching for ICD drivers named libGLX_nvidia.so.0
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/virtio_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_virtio.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_virtio.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_virtio.so was wrong bit-type. Ignoring this JSON
DRIVER: Searching for driver manifest files
DRIVER: In following folders:
DRIVER: /home/jrumble/.config/vulkan/icd.d
DRIVER: /etc/xdg/xdg-ubuntu/vulkan/icd.d
DRIVER: /etc/xdg/vulkan/icd.d
DRIVER: /usr/local/etc/vulkan/icd.d
DRIVER: /etc/vulkan/icd.d
DRIVER: /home/jrumble/.local/share/vulkan/icd.d
DRIVER: /usr/share/ubuntu/vulkan/icd.d
DRIVER: /usr/share/gnome/vulkan/icd.d
DRIVER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/icd.d
DRIVER: /var/lib/flatpak/exports/share/vulkan/icd.d
DRIVER: /usr/local/share/vulkan/icd.d
DRIVER: /usr/share/vulkan/icd.d
DRIVER: /var/lib/snapd/desktop/vulkan/icd.d
DRIVER: Found the following files:
DRIVER: amd_icd64.json
DRIVER: amd_icd32.json
DRIVER: /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/radeon_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/lvp_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/intel_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/lvp_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/virtio_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/dzn_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/nvidia_icd.json
DRIVER: /usr/share/vulkan/icd.d/intel_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/virtio_icd.i686.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_radeon.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_radeon.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_lvp.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_lvp.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_intel.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_intel.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/virtio_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/dzn_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_dzn.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/nvidia_icd.json, version "1.0.0"
DEBUG: Searching for ICD drivers named libGLX_nvidia.so.0
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/virtio_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_virtio.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_virtio.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_virtio.so was wrong bit-type. Ignoring this JSON
DEBUG: Build ICD instance extension list
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
DRIVER: Searching for driver manifest files
DRIVER: In following folders:
DRIVER: /home/jrumble/.config/vulkan/icd.d
DRIVER: /etc/xdg/xdg-ubuntu/vulkan/icd.d
DRIVER: /etc/xdg/vulkan/icd.d
DRIVER: /usr/local/etc/vulkan/icd.d
DRIVER: /etc/vulkan/icd.d
DRIVER: /home/jrumble/.local/share/vulkan/icd.d
DRIVER: /usr/share/ubuntu/vulkan/icd.d
DRIVER: /usr/share/gnome/vulkan/icd.d
DRIVER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/icd.d
DRIVER: /var/lib/flatpak/exports/share/vulkan/icd.d
DRIVER: /usr/local/share/vulkan/icd.d
DRIVER: /usr/share/vulkan/icd.d
DRIVER: /var/lib/snapd/desktop/vulkan/icd.d
DRIVER: Found the following files:
DRIVER: amd_icd64.json
DRIVER: amd_icd32.json
DRIVER: /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/radeon_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/lvp_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/intel_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/lvp_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/virtio_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/dzn_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/nvidia_icd.json
DRIVER: /usr/share/vulkan/icd.d/intel_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/virtio_icd.i686.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_radeon.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_radeon.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_lvp.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_lvp.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_intel.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_intel.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/virtio_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/dzn_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_dzn.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/nvidia_icd.json, version "1.0.0"
DEBUG: Searching for ICD drivers named libGLX_nvidia.so.0
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/virtio_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_virtio.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_virtio.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_virtio.so was wrong bit-type. Ignoring this JSON
DEBUG: Build ICD instance extension list
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/explicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/explicit_layer.d
LAYER: /etc/xdg/vulkan/explicit_layer.d
LAYER: /usr/local/etc/vulkan/explicit_layer.d
LAYER: /etc/vulkan/explicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/explicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/explicit_layer.d
LAYER: /usr/share/gnome/vulkan/explicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/explicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/explicit_layer.d
LAYER: /usr/local/share/vulkan/explicit_layer.d
LAYER: /usr/share/vulkan/explicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/explicit_layer.d
LAYER: Found the following files:
LAYER: /usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json
LAYER: /usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json
INFO: Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/explicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/explicit_layer.d
LAYER: /etc/xdg/vulkan/explicit_layer.d
LAYER: /usr/local/etc/vulkan/explicit_layer.d
LAYER: /etc/vulkan/explicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/explicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/explicit_layer.d
LAYER: /usr/share/gnome/vulkan/explicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/explicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/explicit_layer.d
LAYER: /usr/local/share/vulkan/explicit_layer.d
LAYER: /usr/share/vulkan/explicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/explicit_layer.d
LAYER: Found the following files:
LAYER: /usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json
LAYER: /usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json
INFO: Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/implicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/implicit_layer.d
LAYER: /etc/xdg/vulkan/implicit_layer.d
LAYER: /usr/local/etc/vulkan/implicit_layer.d
LAYER: /etc/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/implicit_layer.d
LAYER: /usr/share/gnome/vulkan/implicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/implicit_layer.d
LAYER: /usr/local/share/vulkan/implicit_layer.d
LAYER: /usr/share/vulkan/implicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/implicit_layer.d
LAYER: Found the following files:
LAYER: amd_icd64.json
LAYER: amd_icd32.json
LAYER: /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json
LAYER: /usr/share/vulkan/implicit_layer.d/nvidia_layers.json
LAYER: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
INFO: Found manifest file /home/jrumble/.local/share/vulkan/implicit_layer.d/renderdoc_capture.json (file version "1.1.2")
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetInstanceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Layer "VK_LAYER_RENDERDOC_Capture" using deprecated 'vkGetDeviceProcAddr' tag which was deprecated starting with JSON file version 1.1.0. The new vkNegotiateLoaderLayerInterfaceVersion function is preferred, though for compatibility reasons it may be desirable to continue using the deprecated tag.
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/nvidia_layers.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json (file version "1.0.0")
LAYER: Searching for layer manifest files
LAYER: In following folders:
LAYER: /home/jrumble/.config/vulkan/explicit_layer.d
LAYER: /etc/xdg/xdg-ubuntu/vulkan/explicit_layer.d
LAYER: /etc/xdg/vulkan/explicit_layer.d
LAYER: /usr/local/etc/vulkan/explicit_layer.d
LAYER: /etc/vulkan/explicit_layer.d
LAYER: /home/jrumble/.local/share/vulkan/explicit_layer.d
LAYER: /usr/share/ubuntu/vulkan/explicit_layer.d
LAYER: /usr/share/gnome/vulkan/explicit_layer.d
LAYER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/explicit_layer.d
LAYER: /var/lib/flatpak/exports/share/vulkan/explicit_layer.d
LAYER: /usr/local/share/vulkan/explicit_layer.d
LAYER: /usr/share/vulkan/explicit_layer.d
LAYER: /var/lib/snapd/desktop/vulkan/explicit_layer.d
LAYER: Found the following files:
LAYER: /usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json
LAYER: /usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json
INFO: Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json (file version "1.0.0")
INFO: Found manifest file /usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json (file version "1.0.0")
DRIVER: Searching for driver manifest files
DRIVER: In following folders:
DRIVER: /home/jrumble/.config/vulkan/icd.d
DRIVER: /etc/xdg/xdg-ubuntu/vulkan/icd.d
DRIVER: /etc/xdg/vulkan/icd.d
DRIVER: /usr/local/etc/vulkan/icd.d
DRIVER: /etc/vulkan/icd.d
DRIVER: /home/jrumble/.local/share/vulkan/icd.d
DRIVER: /usr/share/ubuntu/vulkan/icd.d
DRIVER: /usr/share/gnome/vulkan/icd.d
DRIVER: /home/jrumble/.local/share/flatpak/exports/share/vulkan/icd.d
DRIVER: /var/lib/flatpak/exports/share/vulkan/icd.d
DRIVER: /usr/local/share/vulkan/icd.d
DRIVER: /usr/share/vulkan/icd.d
DRIVER: /var/lib/snapd/desktop/vulkan/icd.d
DRIVER: Found the following files:
DRIVER: amd_icd64.json
DRIVER: amd_icd32.json
DRIVER: /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/radeon_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/lvp_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/intel_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/lvp_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/virtio_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/dzn_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/nvidia_icd.json
DRIVER: /usr/share/vulkan/icd.d/intel_icd.x86_64.json
DRIVER: /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json
DRIVER: /usr/share/vulkan/icd.d/virtio_icd.i686.json
ERROR: loader_get_json: Failed to open JSON file amd_icd64.json
ERROR: loader_get_json: Failed to open JSON file amd_icd32.json
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_hasvk_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_radeon.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_radeon.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_radeon.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_lvp.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_lvp.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_lvp.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_intel.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_intel.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_intel.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/lvp_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/virtio_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_virtio.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/dzn_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_dzn.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/radeon_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/nvidia_icd.json, version "1.0.0"
DEBUG: Searching for ICD drivers named libGLX_nvidia.so.0
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_icd.x86_64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/x86_64-linux-gnu/libvulkan_intel.so
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/intel_hasvk_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_intel_hasvk.so was wrong bit-type. Ignoring this JSON
DRIVER: Found ICD manifest file /usr/share/vulkan/icd.d/virtio_icd.i686.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/i386-linux-gnu/libvulkan_virtio.so
INFO: /usr/lib/i386-linux-gnu/libvulkan_virtio.so: wrong ELF class: ELFCLASS32
DRIVER: Requested layer /usr/lib/i386-linux-gnu/libvulkan_virtio.so was wrong bit-type. Ignoring this JSON
DEBUG: Build ICD instance extension list
DEBUG | LAYER: Loading layer library libVkLayer_MESA_device_select.so
INFO | LAYER: Insert instance layer VK_LAYER_MESA_device_select (libVkLayer_MESA_device_select.so)
LAYER: vkCreateInstance layer callstack setup to:
LAYER:
LAYER: ||
LAYER:
LAYER: ||
LAYER: VK_LAYER_MESA_device_select
LAYER: Type: Implicit
LAYER: Disable Env Var: NODEVICE_SELECT
LAYER: Manifest: /usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json
LAYER: Library: libVkLayer_MESA_device_select.so
LAYER: ||
LAYER:

DEBUG: Build ICD instance extension list
DEBUG: Build ICD instance extension list
DEBUG: Build ICD instance extension list
WARNING: terminator_CreateInstance: Failed to CreateInstance in ICD 2. Skipping ICD.
DEBUG: Build ICD instance extension list
WARNING: terminator_CreateInstance: Failed to CreateInstance in ICD 3. Skipping ICD.
DEBUG: Build ICD instance extension list
DEBUG: Build ICD instance extension list
DEBUG: Build ICD instance extension list
DEBUG: loader_phys_dev_ext_gpa: Adding unknown physical function vkGetPhysicalDeviceCalibrateableTimeDomainsKHR to internal store at index 0
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_intel.so returned ptr 0x7f9e8590a6b0 for vkGetPhysicalDeviceCalibrateableTimeDomainsKHR
DEBUG: loader_phys_dev_ext_gpa: Driver libGLX_nvidia.so.0 returned ptr 0x7f9e8590a6b0 for vkGetPhysicalDeviceCalibrateableTimeDomainsKHR
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so returned ptr 0x7f9e8590a6b0 for vkGetPhysicalDeviceCalibrateableTimeDomainsKHR
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so returned ptr 0x7f9e8590a6b0 for vkGetPhysicalDeviceCalibrateableTimeDomainsKHR
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so returned ptr 0x7f9e8590a6b0 for vkGetPhysicalDeviceCalibrateableTimeDomainsKHR
DEBUG: loader_phys_dev_ext_gpa: Adding unknown physical function vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR to internal store at index 1
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_intel.so returned ptr 0x7f9e8590a6ff for vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR
DEBUG: loader_phys_dev_ext_gpa: Driver libGLX_nvidia.so.0 returned ptr 0x7f9e8590a6ff for vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so returned ptr 0x7f9e8590a6ff for vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so returned ptr 0x7f9e8590a6ff for vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so returned ptr 0x7f9e8590a6ff for vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR
DEBUG: loader_phys_dev_ext_gpa: Adding unknown physical function vkGetPhysicalDeviceOpticalFlowImageFormatsNV to internal store at index 2
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_intel.so returned ptr 0x7f9e8590a74e for vkGetPhysicalDeviceOpticalFlowImageFormatsNV
DEBUG: loader_phys_dev_ext_gpa: Driver libGLX_nvidia.so.0 returned ptr 0x7f9e8590a74e for vkGetPhysicalDeviceOpticalFlowImageFormatsNV
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so returned ptr 0x7f9e8590a74e for vkGetPhysicalDeviceOpticalFlowImageFormatsNV
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_lvp.so returned ptr 0x7f9e8590a74e for vkGetPhysicalDeviceOpticalFlowImageFormatsNV
DEBUG: loader_phys_dev_ext_gpa: Driver /usr/lib/x86_64-linux-gnu/libvulkan_intel_hasvk.so returned ptr 0x7f9e8590a74e for vkGetPhysicalDeviceOpticalFlowImageFormatsNV
INFO | DRIVER: linux_read_sorted_physical_devices:
INFO | DRIVER: Original order:
INFO | DRIVER: [0] NVIDIA GeForce RTX 2060
INFO | DRIVER: [1] llvmpipe (LLVM 15.0.7, 256 bits)
INFO | DRIVER: Sorted order:
INFO | DRIVER: [0] NVIDIA GeForce RTX 2060
INFO | DRIVER: [1] llvmpipe (LLVM 15.0.7, 256 bits)
INFO | DRIVER: linux_read_sorted_physical_devices:
INFO | DRIVER: Original order:
INFO | DRIVER: [0] NVIDIA GeForce RTX 2060
INFO | DRIVER: [1] llvmpipe (LLVM 15.0.7, 256 bits)
INFO | DRIVER: Sorted order:
INFO | DRIVER: [0] NVIDIA GeForce RTX 2060
INFO | DRIVER: [1] llvmpipe (LLVM 15.0.7, 256 bits)
DEBUG | DRIVER: Copying old device 0 into new device 0
DEBUG | DRIVER: Copying old device 1 into new device 1
INFO | DRIVER: linux_read_sorted_physical_devices:
INFO | DRIVER: Original order:
INFO | DRIVER: [0] NVIDIA GeForce RTX 2060
INFO | DRIVER: [1] llvmpipe (LLVM 15.0.7, 256 bits)
INFO | DRIVER: Sorted order:
INFO | DRIVER: [0] NVIDIA GeForce RTX 2060
INFO | DRIVER: [1] llvmpipe (LLVM 15.0.7, 256 bits)
DEBUG | DRIVER: Copying old device 0 into new device 0
DEBUG | DRIVER: Copying old device 1 into new device 1
INFO | DRIVER: linux_read_sorted_physical_devices:
INFO | DRIVER: Original order:
INFO | DRIVER: [0] NVIDIA GeForce RTX 2060
INFO | DRIVER: [1] llvmpipe (LLVM 15.0.7, 256 bits)
INFO | DRIVER: Sorted order:
INFO | DRIVER: [0] NVIDIA GeForce RTX 2060
INFO | DRIVER: [1] llvmpipe (LLVM 15.0.7, 256 bits)
DEBUG | DRIVER: Copying old device 0 into new device 0
DEBUG | DRIVER: Copying old device 1 into new device 1
DEBUG | LAYER: Loading layer library libVkLayer_MESA_device_select.so
INFO | LAYER: Failed to find vkGetDeviceProcAddr in layer libVkLayer_MESA_device_select.so
DRIVER | LAYER: vkCreateDevice layer callstack setup to:
DRIVER | LAYER:
DRIVER | LAYER: ||
DRIVER | LAYER:
DRIVER | LAYER: ||
DRIVER | LAYER:
DRIVER | LAYER: Using "NVIDIA GeForce RTX 2060" with driver: "libGLX_nvidia.so.0"

Segmentation fault (core dumped)

@JamesRumble-IMG JamesRumble-IMG added the bug Something isn't working label Oct 4, 2024
@charles-lunarg
Copy link
Collaborator

Does this crash occur with loader's that do not contain #1471 ? I ask because that refactored how surface objects are allocated & stored, which may have affected the manner in which the driver prevented usage of itself in surface functions.

I do think that the loader could do more to prevent this kind of issue - keeping track of which ICD's support what surfaces and then cross referencing that with the GetSurfaceSupport/Capabilities/PresentModes functions. However as you correctly point out, the fundamental issue is that the app has no way of knowing which Physical Devices are "okay" to call on given a VkSurfaceKHR handle - because the app knows which surface API was used to create it but has no clue which driver supports what surface API.

This is similar to #1541 because of the nature of surfaces being "instance" level objects instead of "physical device" level.

@JamesRumble-IMG
Copy link
Author

Does this crash occur with loader's that do not contain #1471

I built the Loader at commit fa3b7bd and unfortunately I still observe the same crash as with latest main.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants