VK_ERROR_EXTENSION_NOT_PRESENT while trying to run the video_replayer example


I try to run the video_replayer example inside of the Docker container holoscan:v0.5.1-dgpu on my laptop.
But I have the following error:
2023-06-16 13:44:36.719] [holoscan] [info] [context.cpp:47] Vulkan Version:
[2023-06-16 13:44:36.719] [holoscan] [info] [context.cpp:47] - available: 1.2.131
[2023-06-16 13:44:36.719] [holoscan] [info] [context.cpp:47] - requesting: 1.2.0
[2023-06-16 13:44:36.720] [holoscan] [warning] [context.cpp:50] VK_ERROR_EXTENSION_NOT_PRESENT: VK_KHR_external_memory_capabilities - 0
terminate called after throwing an instance of ‘std::runtime_error’
what(): Failed to create the Vulkan instance.
Aborted (core dumped)

I tried to implement “nvidia_icd_json=$(find /usr/share /etc -path ‘*/vulkan/icd.d/nvidia_icd.json’ -type f 2>/dev/null | grep .) || (echo “nvidia_icd.json not found” >&2 && false)” command before I run this container (it was adviced in a one topic on this forum) but it didn’t help.

On my laptop I have: GPU Quadro T1000
NVIDIA-SMI 510.108.03 Driver Version: 510.108.03 CUDA Version: 11.6

Could you please tell me what I am doing wrong?

With the best wishes,

Hi Valeriy, could you show us the result of

$ echo $nvidia_icd_json

It gives an empty output both on my laptop and inside of the Docker container.

Could you try passing in three env vars -e DRI_PRIME=1 -e __NV_PRIME_RENDER_OFFLOAD=1 -e __GLX_VENDOR_LIBRARY_NAME=nvidia to your docker run command?

A correction: the env variable may need to be set outside of the docker container, rather than set inside the container via -e.

Thank you very much!