Как сделать доступной VK_LAYER_KHRONOS_validation?

avatar
Dimethylebutane
1 июля 2021 в 18:28
2472
2
1

Решение:

  1. Удалить вулкан
  2. В реестре HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers и HKLM\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers удалить все
  3. переустановить вулкан

Недавно я начал учиться пользоваться Vulkan. Я следую Этот учебник Но даже с копией/вставкой их код Я получил ошибку, потому что vk_layer_khhronos_validation is it itledertemperate is it withnemer.

В конфигураторе Vulkan VK_LAYER_KHRONOS_validation отображается в правой панели, а не в нижней (не знаю, для чего этот конфигуратор, но в нижней панели есть категория "Доступные слои" и там написаны названия перечислены в vkEnumerateInstanceLayerProperties()).

Vulkan Development Status:
- Layers override: "Validation" configuration
- VULKAN_SDK environment variable: D:\Games\lib\Vulkan\1.2.176.1
- Vulkan Loader version: 1.2.141
- User-Defined Layers Paths from VK_LAYER_PATH environment variable: None
- User-Defined Layers Paths from Vulkan Configurator: None
- Available Layers:
    - VK_LAYER_NV_optimus (1.2.142)
    - VK_LAYER_VALVE_steam_overlay (1.2.136)
    - VK_LAYER_VALVE_steam_fossilize (1.2.136)
    - VK_LAYER_EOS_Overlay (1.2.136)
    - VK_LAYER_EOS_Overlay (1.2.136)
    - VK_LAYER_OBS_HOOK (1.2.131)
    - VK_LAYER_OBS_HOOK (1.2.131)
- Physical Devices:
    - GeForce GTX 950 (Discrete GPU) with Vulkan 1.2.142

Другие руководства, которые я нашел, используют VK_LAYER_LUNARG_standard_validation, но они тоже не работают и устарели.

Нужно ли мне устанавливать слой проверки вручную, если да, то где? А если нет, то почему недоступна VK_LAYER_KHRONOS_validation и как ею пользоваться?

Я уверен, что упускаю что-то очевидное ç_ç.


Дополнительная информация:

  • Я компилирую x64
  • Я удалил/переустановил SDK, но он все равно не работает
  • Сообщение об ошибке: validation layers requested, but not available!
  • SDK — это версия 1.2.176.1 от 5 мая 2021 года. Я скачал установщик SDK (первый .exe)
  • Чтобы получить доступный слой, введите код:
uint32_t layerCount;
vkEnumerateInstanceLayerProperties(&layerCount, nullptr);
std::vector<VkLayerProperties> availableLayers(layerCount);
vkEnumerateInstanceLayerProperties(&layerCount, availableLayers.data());
  • Если я пропущу проверку, появится сообщение об ошибке: (кстати, почему Rockstar Game line 3??)
validation layer: loaderGetDeviceRegistryFiles: GUID for 23 is not SoftwareComponent skipping
validation layer: loaderGetDeviceRegistryFiles: GUID for 24 is not SoftwareComponent skipping
validation layer: loader_get_json: Failed to open JSON file C:\Program Files\Rockstar Games\Social Club\SocialClubVulkanLayer.json
validation layer: loader_get_json: Failed to open JSON file D:\Games\lib\1.2.176.1\Bin\VkLayer_api_dump.json
validation layer: loader_get_json: Failed to open JSON file D:\Games\lib\1.2.176.1\Bin\VkLayer_device_simulation.json
validation layer: loader_get_json: Failed to open JSON file D:\Games\lib\1.2.176.1\Bin\VkLayer_gfxreconstruct.json
validation layer: loader_get_json: Failed to open JSON file D:\Games\lib\1.2.176.1\Bin\VkLayer_khronos_synchronization2.json
validation layer: loader_get_json: Failed to open JSON file D:\Games\lib\1.2.176.1\Bin\VkLayer_khronos_validation.json
validation layer: loader_get_json: Failed to open JSON file D:\Games\lib\1.2.176.1\Bin\VkLayer_monitor.json
validation layer: loader_get_json: Failed to open JSON file D:\Games\lib\1.2.176.1\Bin\VkLayer_screenshot.json
validation layer: verifyMetaLayerComponentLayers: Meta-layer VK_LAYER_LUNARG_override can't find component layer VK_LAYER_KHRONOS_validation at index 0.  Skipping this layer.
validation layer: Removing meta-layer VK_LAYER_LUNARG_override from instance layer list since it appears invalid.
validation layer: loaderValidateLayers: Layer 0 does not exist in the list of available layers
failed to create instance!
  • Я не являюсь носителем английского языка и не являюсь постоянным пользователем StackOverflow, поэтому, если я допустил ошибку, сообщите мне, чтобы я мог продолжить работу

РЕДАКТИРОВАТЬ: В папке BIN есть VkLayer_khronos_validation.dll/.json/.pdb поэтому я запускаю vulkaninfoSDK.exe и замечаю, что он пытается загрузить из файла D:\Games\lib\1.2.176.1\Bin вместо D:\Games\lib\Vulkan\1.2.176.1\Bin так что я думаю, что нашел проблему. Но почему? Файла здесь нет, почему он пропускает папку?

EDIT2: Я изменил папку (убрал \Vulkan\ в каталоге) и теперь ошибки (с vulkaninfoSDK.exe):

ERROR: [Loader Message] Code 0 : loader_get_json: Failed to open JSON file C:\Program Files\Rockstar Games\Social Club\SocialClubVulkanLayer.json
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_api_dump.json invalid layer manifest file version 1.2.0.  May cause errors.
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_device_simulation.json invalid layer manifest file version 1.2.0.  May cause errors.
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_gfxreconstruct.json invalid layer manifest file version 1.2.0.  May cause errors.
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_khronos_synchronization2.json invalid layer manifest file version 1.2.0.  May cause errors.
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_khronos_validation.json invalid layer manifest file version 1.2.0.  May cause errors.
WARNING: [Loader Message] Code 0 : loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_screenshot.json invalid layer manifest file version 1.2.0.  May cause errors.

и с кодом я получаю:

validation layer: loaderGetDeviceRegistryFiles: GUID for 23 is not SoftwareComponent skipping
validation layer: loaderGetDeviceRegistryFiles: GUID for 24 is not SoftwareComponent skipping
validation layer: loader_get_json: Failed to open JSON file C:\Program Files\Rockstar Games\Social Club\SocialClubVulkanLayer.json
validation layer: loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_api_dump.json invalid layer manifest file version 1.2.0.  May cause errors.
validation layer: loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_device_simulation.json invalid layer manifest file version 1.2.0.  May cause errors.
validation layer: loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_gfxreconstruct.json invalid layer manifest file version 1.2.0.  May cause errors.
validation layer: loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_khronos_synchronization2.json invalid layer manifest file version 1.2.0.  May cause errors.
validation layer: loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_khronos_validation.json invalid layer manifest file version 1.2.0.  May cause errors.
validation layer: loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_screenshot.json invalid layer manifest file version 1.2.0.  May cause errors.
validation layer: Searching for ICD drivers named .\nvoglv64.dll
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_win32_surface (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.6
validation layer: Instance Extension: VK_EXT_debug_report (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.9
validation layer: Instance Extension: VK_EXT_debug_utils (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.2
validation layer: Instance Extension: VK_EXT_swapchain_colorspace (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.4
validation layer: Instance Extension: VK_NV_external_memory_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Loading layer library D:\Games\lib\1.2.176.1\Bin\.\VkLayer_khronos_validation.dll
validation layer: Loading layer library C:\ProgramData\obs-studio-hook\.\graphics-hook64.dll
validation layer: Loading layer library C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll
validation layer: Build ICD instance extension list
validation layer: Instance Extension: VK_KHR_device_group_creation (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_fence_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_memory_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_external_semaphore_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_get_physical_device_properties2 (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.2
validation layer: Instance Extension: VK_KHR_get_surface_capabilities2 (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_surface (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.25
validation layer: Instance Extension: VK_KHR_surface_protected_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Instance Extension: VK_KHR_win32_surface (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.6
validation layer: Instance Extension: VK_EXT_debug_report (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.9
validation layer: Instance Extension: VK_EXT_debug_utils (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.2
validation layer: Instance Extension: VK_EXT_swapchain_colorspace (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.4
validation layer: Instance Extension: VK_NV_external_memory_capabilities (C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll) version 0.0.1
validation layer: Unloading layer library C:\WINDOWS\System32\DriverStore\FileRepository\nv_dispi.inf_amd64_60daf66a00f2e0b6\.\nvoglv64.dll
validation layer: Unloading layer library C:\ProgramData\obs-studio-hook\.\graphics-hook64.dll
validation layer: Unloading layer library D:\Games\lib\1.2.176.1\Bin\.\VkLayer_khronos_validation.dll

так почему Rockestar Game? и почему

недопустимый файл манифеста слоя версии 1.2.0. ?

РЕДАКТИРОВАТЬ: Поэтому я меняю расположение файла и думаю, что это работает.

последний вопрос: loaderAddLayerProperties: D:\Games\lib\1.2.176.1\Bin\VkLayer_api_dump.json invalid layer manifest file version 1.2.0. May cause errors. почему "Может вызвать ошибки" и важно ли это?

И просто интересно: почему он пытается загрузить C:\Program Files\Rockstar Games\Social Club\SocialClubVulkanLayer.json? Rockstar занимается разработкой Vulkan или что-то в этом роде?

Повторное редактирование: Я переустанавливаю/переустанавливаю SDK и ????? На этот раз я на 100% уверен, что не переместил файл, и он все еще пытается загрузиться из \lib\1.2.176.1 и пропускает \vulkan\ ???

tbh первая установка sdk была там (без \ vulkan) и, вероятно, не работала, потому что я переименовал папку, но почему она сохранила старый путь после переустановки?

но в любом случае, если я перемещаю его в соответствии с этим каталогом, он работает x)

Я повторно удалил/переустановил SDK в совершенно другую папку и знаете что? SDK установлен в D:\Prgm\1.2.176.1 когда я запускаю vulkaninfoSDK.exe: ОШИБКА: [Сообщение загрузчика] Код 0: loader_get_json: Не удалось открыть файл JSON D:\Games\lib\1.2.176.1\Bin\VkLayer_api_dump.json

Похоже, я застрял на пути моей первой установки

шутки ради:(да я болтливая) Я повторно удаляю/переустанавливаю SDK в исходное место, и теперь он пытается загрузить файл из D:\Games\lib\Vulkan\1.2.176.1\Bin\VkLayer_api_dump.json? Я, наверное, накосячил с установкой, но блин

В инструменте анализа установки Vulkan я обнаружил дубликаты. Не знаю, почему, но сначала он смотрит на предыдущий и неправильный каталог, но правильный каталог присутствует

Поэтому я пытаюсь удалить ненужный каталог

Источник
krOoze
1 июля 2021 в 19:18
1

Запустите конфигуратор и выберите сброс настроек по умолчанию.

Dimethylebutane
1 июля 2021 в 19:45
0

к сожалению, это ничего не изменило :/ но он не искал файл в нужной папке, и не знаю, почему

Ответы (2)

avatar
krOoze
2 июля 2021 в 13:00
0

Предупреждения являются нормальными, как указано в примечаниях к выпуску SDK. Дело в Rockstar — это какое-то наложение или что-то, что было нечисто удалено (вы можете удалить его в реестре, следуя приведенным ниже инструкциям, если хотите).

Вы должны проверить значение переменной %VULKAN_SDK%, если оно правильное.

Затем следует проверить HKLM\SOFTWARE\Khronos\Vulkan\ExplicitLayers и HKLM\SOFTWARE\WOW6432Node\Khronos\Vulkan\ExplicitLayers, если они правильные и не имеют дубликатов. (В качестве альтернативы вы можете сначала удалить, и в этом случае там не должно оставаться путей SDK)

Кроме того, приложение-конфигуратор допускает переопределение, поэтому вам нужно проверить его на «Инструменты»-> «Сброс» и установить «Полностью контролируется приложениями Vulkan». При закрытии он должен предупредить, что никакие переопределения Vulkan не активны, и вы должны нажать Да.

Dimethylebutane
2 июля 2021 в 17:13
0

У меня все еще та же проблема, %VULKAN_SDK% правильный, я удалил и переустановил SDK, сбросил его и выбрал «Полностью контролируется приложениями Vulkan», но слой все еще не найден, и он продолжает искать в неправильном каталоге. Также я не нашел HKLM\software\... . Самое странное, что если я устанавливаю его так, что каталог, который он ищет, правильный, то он ищет другой (путь для предыдущей установки)

krOoze
2 июля 2021 в 17:23
0

@Dimethylebutane HKLM находится в реестре. Используйте regedit.

Dimethylebutane
2 июля 2021 в 17:25
0

Ну, я нашел дубликат и еще одну проблему в Vulkan Installation Analysis (я отредактировал свой пост с дополнительной информацией)

Dimethylebutane
2 июля 2021 в 17:29
0

хорошо так много дублируется (в основном все дублируется), я должен удалить неправильные?

krOoze
2 июля 2021 в 17:30
0

@Dimethylebutane В этом случае я бы рекомендовал удалить, а затем удалить все, что осталось, а затем переустановить.

avatar
Hackattack242
21 февраля 2022 в 01:21
0

Что касается проблемы Rockstar, похоже, что многие программы запуска игр устанавливают неявные слои для Vulkan. В моем случае причиной проблемы был слой GOG, но кажется, что когда вы удаляете многие из этих программ, они не удаляют свои ключи из реестра.

Чтобы устранить проблему, проверьте оба

  • Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ImplicitLayers

и

  • Компьютер\HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\Vulkan\ExplicitLayers

для ключа, который соответствует .json, который не может быть найден, и удалите его. После этого ошибка должна прекратиться.

У меня есть именно этот ключ Rockstar в папке ExplicitLayers, а мой ключ GOG находится в папке ImplicitLayers.