Skip to content

Workaround for "Incompatible Vulkan driver found" (ICD) #4236

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

Open
mmartial opened this issue Dec 22, 2021 · 1 comment
Open

Workaround for "Incompatible Vulkan driver found" (ICD) #4236

mmartial opened this issue Dec 22, 2021 · 1 comment

Comments

@mmartial
Copy link

mmartial commented Dec 22, 2021

Bug report

  • AirSim Version/#commit: 4266b89 (Dec 7)
  • UE/Unity version: tested with 4.25.4 and after
  • autopilot version: N/A
  • OS Version: docker build on Ubuntu 20.04

What's the issue you encountered?

Following the instructions from https://microsoft.github.io/AirSim/docker_ubuntu/
and using a more recent version of UE (4.25).

When running ./run_airsim_image_source.sh airsim_source:4.27.2-cudagl10.2
and then trying /home/ue4/UnrealEngine/Engine/Binaries/Linux/UE4Editor
I am prompted with an Incompatible Vulkan driver found error with sub-message Cannot find a compatible Vulkan driver (ICD)

Screenshot from 2021-12-22 14-52-04

Settings

N/A

How can the issue be reproduced?

  1. build following https://microsoft.github.io/AirSim/docker_ubuntu/ instructions
  2. try to start UE4Editor to test

Include full error message in text form

Incompatible Vulkan driver found error
sub-message Cannot find a compatible Vulkan driver (ICD)

What's better than filing an issue? Filing a pull request :).

This can be bypassed by mounting the ICD directory within the running container:

git diff ./run_airsim_image_source.sh
diff --git a/docker/run_airsim_image_source.sh b/docker/run_airsim_image_source.sh
index 39e9b9ed..3ad84441 100755
--- a/docker/run_airsim_image_source.sh
+++ b/docker/run_airsim_image_source.sh
@@ -54,6 +54,7 @@ done
 # and tell the docker container to execute UNREAL_BINARY_COMMAND
 $DOCKER_CMD -it \
     -v $(pwd)/settings.json:/home/airsim_user/Documents/AirSim/settings.json \
+    -v /usr/share/vulkan/icd.d:/usr/share/vulkan/icd.d \
     -e SDL_VIDEODRIVER=$SDL_VIDEODRIVER_VALUE \
     -e SDL_HINT_CUDA_DEVICE='0' \
     --net=host \

Hoping this helps others.

@mmartial
Copy link
Author

Adding a little extra content to my original post: to run a UE4 .sh and have Vulkan functional on the development, you also need to update the --gpus=all to have

--gpus='all,"capabilities=compute,utility,graphics,display"'

as documented in
NVIDIA/nvidia-container-toolkit#140

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants