Closed doitsujin closed 6 years ago
I'm considering adding an option for using Vulkan in wine without Windows Vulkan loader. It might be useful in various situation, and it should fix this issue for the most part.
We could also consider "VK_" variables as special and skip them when building Win32 environment from Unix environment.
This should be fixed in Wine: https://source.winehq.org/git/wine.git/?a=commit;h=665ce1c5eb3bcc579fd4a58e5ce1631051dfe61e
Thanks for the fix that's a good one for now. Though makes using the debug layers in vulkan trickier, though I suppose you can also enable them through json files.
It should work just fine if you want to use Vulkan validation layers on Linux side. It's only slightly more inconvenient to use Windows validation layers in wine.
I think this is also what prevent me to run wine-vulkan on AMDVLK like I do for anything else, that is, by setting VK_ICD_FILENAMES to the AMDVLK file...
How should one go about it for wine-vulkan? I tried puting the json file in ~/.local/share/vulkan/icd.d but wine-vulkan ignores it and picks up RADV instead...
On an unrelated (I think) note, I can't seem to get the same prefix that works on wine-vulkan to work with mainline wine...
In general wine-vulkan is a normal Vulkan application and we just dynamically load libvulkan.so.1. I can't easily think of a reason why there would be an issue. Double check the output of your application with VK_LOADER_DEBUG=all set. The native loader (linux) will give you some clues.
The main difference between wine-vulkan and wine are the vulkan patches, I don't see why a prefix wouldn't work.
I think I found the prolem:
DEBUG: Searching the following paths for manifest files: /usr/share/vulkan/icd.d/amd_icd64.json
INFO: Found ICD manifest file /usr/share/vulkan/icd.d/amd_icd64.json, version "1.0.0"
DEBUG: Searching for ICD drivers named /usr/lib/amdvlk64.so, using default dir
WARNING: loader_icd_scan: ICD JSON /usr/share/vulkan/icd.d/amd_icd64.json does not have an 'api_version' field.
ERROR: Failed to open dynamic library "/usr/lib/amdvlk64.so" with error 193
DEBUG: Build ICD instance extension list
ERROR: loader_validate_instance_extensions: Instance extension VK_KHR_surface not supported by available ICDs or enabled layers
Does this mean the json file needs and "api_version" field?
Ok, it's definitely something not in the JSON file. Even if I specify the RADV file via VK_ICD_FILENAMES it doesn't work, with the same error (minus the "api_version" warning)
Whole log:
VK_LOADER_DEBUG=all VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json /usr/bin/wine vulkancapsviewer/vulkanCapsViewer.exe
ERROR: loaderGetRegistryFiles: failed to open DevNode 0
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
ERROR: loaderGetRegistryFiles: failed to open DevNode É
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_standard_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_threading.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_unique_objects.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_vktrace_layer.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json;C:\VulkanSDK\1.0.68.0\Bin\V
ERROR: loaderGetRegistryFiles: failed to open DevNode 0
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_standard_validation.json, version "1.1.1"
INFO: Encountered meta-layer VK_LAYER_LUNARG_standard_validation
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_threading.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_unique_objects.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_vktrace_layer.json, version "1.0.0"
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_GOOGLE_threading adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_parameter_validation adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_parameter_validation adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_object_tracker adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_object_tracker adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding device extension VK_EXT_validation_cache
INFO: Meta-layer VK_LAYER_LUNARG_standard_validation all 5 component layers appear to be valid.
ERROR: loaderGetRegistryFiles: failed to open DevNode 0
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
ERROR: loaderGetRegistryFiles: failed to open DevNode ░
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_standard_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_threading.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_unique_objects.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_vktrace_layer.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json;C:\VulkanSDK\1.0.68.0\Bin\V
ERROR: loaderGetRegistryFiles: failed to open DevNode ░
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_standard_validation.json, version "1.1.1"
INFO: Encountered meta-layer VK_LAYER_LUNARG_standard_validation
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_threading.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_unique_objects.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_vktrace_layer.json, version "1.0.0"
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_GOOGLE_threading adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_parameter_validation adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_parameter_validation adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_object_tracker adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_object_tracker adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding device extension VK_EXT_validation_cache
INFO: Meta-layer VK_LAYER_LUNARG_standard_validation all 5 component layers appear to be valid.
ERROR: loaderGetRegistryFiles: failed to open DevNode 0
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
DEBUG: Searching the following paths for manifest files: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
INFO: 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/libvulkan_radeon.so, using default dir
ERROR: Failed to open dynamic library "/usr/lib/libvulkan_radeon.so" with error 193
DEBUG: Build ICD instance extension list
ERROR: loaderGetRegistryFiles: failed to open DevNode 0
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
ERROR: loaderGetRegistryFiles: failed to open DevNode 0
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
DEBUG: Searching the following paths for manifest files: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
INFO: 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/libvulkan_radeon.so, using default dir
ERROR: Failed to open dynamic library "/usr/lib/libvulkan_radeon.so" with error 193
DEBUG: Build ICD instance extension list
ERROR: loaderGetRegistryFiles: failed to open DevNode 0
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
ERROR: loaderGetRegistryFiles: failed to open DevNode 0
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_standard_validation.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_threading.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_unique_objects.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
INFO: Located json file "C:\VulkanSDK\1.0.68.0\Bin\VkLayer_vktrace_layer.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json;C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json;C:\VulkanSDK\1.0.68.0\Bin\V
ERROR: loaderGetRegistryFiles: failed to open DevNode ░
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_api_dump.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_assistant_layer.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_core_validation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_device_simulation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_monitor.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_object_tracker.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_parameter_validation.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_screenshot.json, version "1.0.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_standard_validation.json, version "1.1.1"
INFO: Encountered meta-layer VK_LAYER_LUNARG_standard_validation
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_threading.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_unique_objects.json, version "1.1.0"
INFO: Found manifest file C:\VulkanSDK\1.0.68.0\Bin\VkLayer_vktrace_layer.json, version "1.0.0"
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_GOOGLE_threading adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_parameter_validation adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_parameter_validation adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_object_tracker adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_object_tracker adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding instance extension VK_EXT_debug_report
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding device extension VK_EXT_debug_marker
DEBUG: Meta-layer VK_LAYER_LUNARG_standard_validation component layer VK_LAYER_LUNARG_core_validation adding device extension VK_EXT_validation_cache
INFO: Meta-layer VK_LAYER_LUNARG_standard_validation all 5 component layers appear to be valid.
DEBUG: Searching the following paths for manifest files: /usr/share/vulkan/icd.d/radeon_icd.x86_64.json
INFO: 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/libvulkan_radeon.so, using default dir
ERROR: Failed to open dynamic library "/usr/lib/libvulkan_radeon.so" with error 193
DEBUG: Build ICD instance extension list
ERROR: loader_validate_instance_extensions: Instance extension VK_KHR_surface not supported by available ICDs or enabled layers.
Without setting VK_ICD_FILENAMES, I can actually see both RADV and AMDVLK as 2 different devices in VulkanCapsViewer. However, I can't find any way to force a wine-vulkan application to use one of them...
I'm not sure what is all going on. The error '193' is the suspicious part, but I would need to read the code in detail on what is the cause for the error. Is it just failing to load said library or is some validation (e.g. missing feature) the reason.
As for picking a specific device, that's a feature an application needs to offer. Most are probably designed with 1 device in mind. They definitely don't expect the same device to appears twice through different vulkan drivers.
Update: VK_ICD_FILENAMES now work as expected with wine-vulkan.
Can confirm that this does indeed work now, closing the issue.
I still get a similar error:
`~/.local/share/wineprefixes/poe/drive_c/VulkanSDK/1.1.70.0/Bin/:VK_LOADER_DEBUG=all WINEDEBUG=+vulkan usenew poe cube.exe
ERROR: ld.so: object '/usr/${LIB}/libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/${LIB}/libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
000b:fixme:winediag:start_process Wine Staging 3.3 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x22ed70 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x7ba80 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x22ed6c L"\f370\0007" 0x00000000: stub
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x22e8a0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x7bd80 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x22e89c L"\0888\0001" 0x00000000: stub
002e:trace:vulkan:wine_vk_icdNegotiateLoaderICDInterfaceVersion 0x22f354
002e:trace:vulkan:wine_vk_icdNegotiateLoaderICDInterfaceVersion Loader requested ICD version 5, returning 4
002e:trace:vulkan:wine_vk_icdGetInstanceProcAddr (nil) "vkCreateInstance"
002e:trace:vulkan:wine_vkGetInstanceProcAddr (nil) "vkCreateInstance"
002e:trace:vulkan:wine_vk_get_global_proc_addr Found name="vkCreateInstance" in global table
002e:trace:vulkan:wine_vk_icdGetInstanceProcAddr (nil) "vkEnumerateInstanceExtensionProperties"
002e:trace:vulkan:wine_vkGetInstanceProcAddr (nil) "vkEnumerateInstanceExtensionProperties"
002e:trace:vulkan:wine_vk_get_global_proc_addr Found name="vkEnumerateInstanceExtensionProperties" in global table
002e:trace:vulkan:wine_vkEnumerateInstanceExtensionProperties (nil) 0x22f780 (nil)
002e:trace:vulkan:X11DRV_vkEnumerateInstanceExtensionProperties layer_name (null), count 0x22f780, properties (nil)
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x22ece0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x7f4f0 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x22ecdc L"\01e8\0001" 0x00000000: stub
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x22ed70 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x7f990 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x22ed6c L"\0208\0001" 0x00000000: stub
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x22e8a0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x7f540 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x22e89c L"\0198\0001" 0x00000000: stub
002e:trace:vulkan:wine_vk_icdNegotiateLoaderICDInterfaceVersion 0x22f354
002e:trace:vulkan:wine_vk_icdNegotiateLoaderICDInterfaceVersion Loader requested ICD version 5, returning 4
002e:trace:vulkan:wine_vk_icdGetInstanceProcAddr (nil) "vkCreateInstance"
002e:trace:vulkan:wine_vkGetInstanceProcAddr (nil) "vkCreateInstance"
002e:trace:vulkan:wine_vk_get_global_proc_addr Found name="vkCreateInstance" in global table
002e:trace:vulkan:wine_vk_icdGetInstanceProcAddr (nil) "vkEnumerateInstanceExtensionProperties"
002e:trace:vulkan:wine_vkGetInstanceProcAddr (nil) "vkEnumerateInstanceExtensionProperties"
002e:trace:vulkan:wine_vk_get_global_proc_addr Found name="vkEnumerateInstanceExtensionProperties" in global table
002e:trace:vulkan:wine_vkEnumerateInstanceExtensionProperties (nil) 0x22f780 (nil)
002e:trace:vulkan:X11DRV_vkEnumerateInstanceExtensionProperties layer_name (null), count 0x22f780, properties (nil)
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x22ece0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x7f9d0 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x22ecdc L"\0238\0001" 0x00000000: stub
002e:fixme:ver:GetCurrentPackageId (0x22f9b0 (nil)): stub
█▓▒░bidar@odin█▓▒░ 11:10:50
~/.local/share/wineprefixes/poe/drive_c/VulkanSDK/1.1.70.0/Bin/:VK_LOADER_DEBUG=all WINEDEBUG=+vulkan usenew poe cube.exe
█▓▒░bidar@odin█▓▒░ 11:10:54
~/.local/share/wineprefixes/poe/drive_c/VulkanSDK/1.1.70.0/Bin/:VK_LOADER_DEBUG=all WINEDEBUG=+vulkan usenew poe cmd
ERROR: ld.so: object '/usr/${LIB}/libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
ERROR: ld.so: object '/usr/${LIB}/libgtk3-nocsd.so.0' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
000b:fixme:winediag:start_process Wine Staging 3.3 is a testing version containing experimental patches.
000b:fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.
Microsoft Windows 6.1.7601 (3.3)
C:\VulkanSDK\1.1.70.0\Bin>set
_=/usr/bin/wine
__GL_SHADER_DISK_CACHE_PATH=/home/bidar/.cache/nv
AIR_HOME=/opt/adobe-air-sdk
ALLUSERSPROFILE=C:\users\Public
ANDROID_HOME=/opt/android-sdk
APPDATA=C:\users\bidar\Application Data
BROWSER=firefox
CLIENTNAME=Console
COLORFGBG=15;0
CommonProgramFiles=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=odin
ComSpec=C:\windows\system32\cmd.exe
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
DESKTOP_SESSION=/usr/share/xsessions/plasma
DISPLAY=:0
EDITOR=editor
FREETYPE_PROPERTIES=truetype:interpreter-version=38
GS_LIB=/home/bidar/.fonts
GTK_CSD=0
GTK_MODULES=canberra-gtk-module
GTK_RC_FILES=/etc/gtk/gtkrc:/home/bidar/.gtkrc:/home/bidar/.config/gtkrc
GTK2_RC_FILES=/etc/gtk-2.0/gtkrc:/home/bidar/.gtkrc-2.0:/home/bidar/.config/gtkrc-2.0
HG=/usr/bin/hg
HOMEDRIVE=C:
HOMEPATH=\users\bidar
KDE_FULL_SESSION=true
KDE_SESSION_UID=1000
KDE_SESSION_VERSION=5
KONSOLE_DBUS_SERVICE=:1.37
KONSOLE_DBUS_SESSION=/Sessions/14
KONSOLE_DBUS_WINDOW=/Windows/1
KONSOLE_PROFILE_NAME=Shell
LANG=de_DE.UTF-8
LANGUAGE=de
LD_PRELOAD=/usr/${LIB}/libgtk3-nocsd.so.0
LOCALAPPDATA=C:\users\bidar\Local Settings\Application Data
LOGNAME=bidar
LOGONSERVER=\\odin
LS_COLORS=rs=0:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:
MAIL=/var/spool/mail/bidar
MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins
NUMBER_OF_PROCESSORS=16
OLDPWD=/home/bidar/.local/share/wineprefixes/poe/drive_c
OS=Windows_NT
PATH=C:\VulkanSDK\1.1.70.0\Bin;C:\windows\system32;C:\windows;C:\windows\system32\wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
POSIXLY_CORRECT=y
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_ARCHITEW6432=AMD64
PROCESSOR_IDENTIFIER=AMD64 Family 6 Model 79 Stepping 1, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=4f01
PROFILEHOME=
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
SESSION_MANAGER=local/odin:@/tmp/.ICE-unix/1187,unix/odin:/tmp/.ICE-unix/1187
SESSIONNAME=Console
SHELL=/bin/zsh
SHELL_SESSION_ID=c5d6909095d5400687e339916dffe10d
SHLVL=3
SSH_AUTH_SOCK=/run/user/1000/gnupg/S.gpg-agent.ssh
SystemDrive=c:
SYSTEMROOT=C:\windows
TEMP=C:\users\bidar\Temp
TERM=xterm
TMP=C:\users\bidar\Temp
USER=bidar
USERDOMAIN=odin
USERNAME=bidar
USERPROFILE=C:\users\bidar
VK_SDK_PATH=C:\VulkanSDK\1.1.70.0
VULKAN_LOADER_DEBUG=all
VULKAN_SDK=C:\VulkanSDK\1.1.70.0
windir=C:\windows
WINDOWID=48234502
WINE_PREFIXES=/home/bidar/.local/share/wineprefixes
WINEDEBUG=+vulkan
WINELOADERNOEXEC=1
WINEPREFIX=/home/bidar/.local/share/wineprefixes/poe
WINEPREFIX_PATH=/home/bidar/.local/share/wineprefixes
winsysdir=C:\windows\system32
XAUTHORITY=/tmp/xauth-1000-_0
XCURSOR_SIZE=0
XCURSOR_THEME=neutral_ccc
XDG_CACHE_HOME=/home/bidar/.cache
XDG_CONFIG_HOME=/home/bidar/.config
XDG_CURRENT_DESKTOP=KDE
XDG_DATA_DIRS=/usr/share:/usr/share:/usr/local/share
XDG_DATA_HOME=/home/bidar/.local/share
XDG_RUNTIME_DIR=/run/user/1000
XDG_SEAT=seat0
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_CLASS=user
XDG_SESSION_DESKTOP=KDE
XDG_SESSION_ID=c2
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session1
XDG_SESSION_TYPE=x11
XDG_VTNR=1
C:\VulkanSDK\1.1.70.0\Bin>set VK_LOADER_DEBUG=all
C:\VulkanSDK\1.1.70.0\Bin>cube
C:\VulkanSDK\1.1.70.0\Bin>002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ed70 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78a10 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x23ed6c L"\c400\0007" 0x00000000: stub
ERROR: loaderGetDeviceRegistryFiles: failed to open DevNode
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23e8a0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78d10 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x23e89c L"\08f8\0001" 0x00000000: stub
ERROR: loaderGetDeviceRegistryFiles: failed to open DevNode °
INFO: Located json file "C:\Windows\winevulkan.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\Drivers"
DEBUG: Searching the following paths for manifest files: C:\Windows\winevulkan.json
INFO: Found ICD manifest file C:\Windows\winevulkan.json, version "1.0.0"
DEBUG: Searching for ICD drivers named c:\windows\system32\winevulkan.dll, using default dir
002e:trace:vulkan:wine_vk_icdNegotiateLoaderICDInterfaceVersion 0x23f354
002e:trace:vulkan:wine_vk_icdNegotiateLoaderICDInterfaceVersion Loader requested ICD version 5, returning 4
002e:trace:vulkan:wine_vk_icdGetInstanceProcAddr (nil) "vkCreateInstance"
002e:trace:vulkan:wine_vkGetInstanceProcAddr (nil) "vkCreateInstance"
002e:trace:vulkan:wine_vk_get_global_proc_addr Found name="vkCreateInstance" in global table
002e:trace:vulkan:wine_vk_icdGetInstanceProcAddr (nil) "vkEnumerateInstanceExtensionProperties"
002e:trace:vulkan:wine_vkGetInstanceProcAddr (nil) "vkEnumerateInstanceExtensionProperties"
002e:trace:vulkan:wine_vk_get_global_proc_addr Found name="vkEnumerateInstanceExtensionProperties" in global table
DEBUG: Build ICD instance extension list
002e:trace:vulkan:wine_vkEnumerateInstanceExtensionProperties (nil) 0x23f780 (nil)
002e:trace:vulkan:X11DRV_vkEnumerateInstanceExtensionProperties layer_name (null), count 0x23f780, properties (nil)
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ece0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78d10 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x23ecdc L"\01e8\0001" 0x00000000: stub
ERROR: loaderGetDeviceRegistryFiles: failed to open DevNode Þ
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ed70 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78d10 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x23ed6c L"\01e8\0001" 0x00000000: stub
ERROR: loaderGetDeviceRegistryFiles: failed to open DevNode Þ
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23e8a0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78d50 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x23e89c L"\01a8\0001" 0x00000000: stub
ERROR: loaderGetDeviceRegistryFiles: failed to open DevNode ¿
INFO: Located json file "C:\Windows\winevulkan.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\Drivers"
DEBUG: Searching the following paths for manifest files: C:\Windows\winevulkan.json
INFO: Found ICD manifest file C:\Windows\winevulkan.json, version "1.0.0"
DEBUG: Searching for ICD drivers named c:\windows\system32\winevulkan.dll, using default dir
002e:trace:vulkan:wine_vk_icdNegotiateLoaderICDInterfaceVersion 0x23f354
002e:trace:vulkan:wine_vk_icdNegotiateLoaderICDInterfaceVersion Loader requested ICD version 5, returning 4
002e:trace:vulkan:wine_vk_icdGetInstanceProcAddr (nil) "vkCreateInstance"
002e:trace:vulkan:wine_vkGetInstanceProcAddr (nil) "vkCreateInstance"
002e:trace:vulkan:wine_vk_get_global_proc_addr Found name="vkCreateInstance" in global table
002e:trace:vulkan:wine_vk_icdGetInstanceProcAddr (nil) "vkEnumerateInstanceExtensionProperties"
002e:trace:vulkan:wine_vkGetInstanceProcAddr (nil) "vkEnumerateInstanceExtensionProperties"
002e:trace:vulkan:wine_vk_get_global_proc_addr Found name="vkEnumerateInstanceExtensionProperties" in global table
DEBUG: Build ICD instance extension list
002e:trace:vulkan:wine_vkEnumerateInstanceExtensionProperties (nil) 0x23f780 (nil)
002e:trace:vulkan:X11DRV_vkEnumerateInstanceExtensionProperties layer_name (null), count 0x23f780, properties (nil)
002e:fixme:setupapi:CM_Get_Device_ID_List_SizeW 0x23ece0 L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x00000300: stub
002e:fixme:setupapi:CM_Get_Device_ID_ListW L"{4d36e968-e325-11ce-bfc1-08002be10318}" 0x78d50 0 0x00000300: stub
002e:fixme:setupapi:CM_Locate_DevNodeW 0x23ecdc L"\01a8\0001" 0x00000000: stub
ERROR: loaderGetDeviceRegistryFiles: failed to open DevNode ¿
INFO: Located json file "C:\Program Files\RenderDoc\renderdoc.json" from registry "HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers"
DEBUG: Searching the following paths for manifest files: C:\Program Files\RenderDoc\renderdoc.json
INFO: Found manifest file C:\Program Files\RenderDoc\renderdoc.json, version "1.0.0"
`
When running vulkaninfo.exe is this the same bug or do I something different wrong?
Hello,
the whole idea of implementing a Vulkan ICD which relies on the Windows Vulkan loader introduces some conflicts with the native Linux Vulkan loader when certain environment variables are being used.
VK_INSTANCE_LAYERS
: Layers enabled by this variable may be loaded by both the Windows loader and the Linux loader. This may be an issue if the validation layers are enabled for debugging purposes. Similarly, implicit layers that are controlled by other environment variables may be loaded twice if they are installed on both systems.As for application-enabled layers, I don't know if the Vulkan loader filters out layers before calling the driver's
vkCreateInstance
function, but if it does not, such layers may be loaded twice as well.VK_ICD_FILENAMES
: No Vulkan application will work if this environment variable is set in the Linux environment. The reason is that the Windows loader reads the variable as well and does not load thewinevulkan
ICD.The reason I consider this a fairly major issue is because it makes testing different Vulkan drivers, forcing a specific device, and debugging Vulkan applications quite hard. Because the two Vulkan loaders technically operate within the same environment when they would require some sort of segregation, they currently only work inside a "clean" environment in that sense.