Hi, I am building my pixel-streaming container (Ubuntu 22.04.3 LTS) on wsl. I use the following dockerfile.
FROM adamrehn/ue4-runtime:22.04-cudagl12-x11
ENV NVIDIA_DRIVER_CAPABILITIES ${NVIDIA_DRIVER_CAPABILITIES},video
USER root
RUN apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/3bf863cc.pub
RUN mkdir -p /var/lib/apt/lists/partial && \
chmod 755 /var/lib/apt/lists/partial
RUN apt-get update && \
apt-get install -y software-properties-common wget && \
apt-get update && \
add-apt-repository ppa:graphics-drivers/ppa && \
wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | tee /etc/apt/trusted.gpg.d/lunarg.asc && \
wget -qO /etc/apt/sources.list.d/lunarg-vulkan-jammy.list http://packages.lunarg.com/vulkan/lunarg-vulkan-jammy.list && \
apt-get update && \
apt-get install -f --fix-missing && \
apt-get install --no-install-recommends -y libvulkan-dev vulkan-sdk vulkan-tools
COPY Linux /Home/Linux
WORKDIR /Home
Use the following build command.
docker build -t test .
Use the following run command.
docker run -it --gpus all test
Running my ue5.1 pixel streaming application in docker, I got the following warning and quit.
[2024.08.07-06.22.40:808][ 0]LogLinux: Warning: MessageBox: Cannot find a compatible Vulkan driver (ICD).
Please look at the Getting Started guide for additional information.: Incompatible Vulkan driver found!: Cursors are not currently supported:
[2024.08.07-06.22.40:808][ 0]LogCore: FUnixPlatformMisc::RequestExit(bForce=true, ReturnCode=1)
[2024.08.07-06.22.40:808][ 0]LogCore: FUnixPlatformMisc::RequestExit(1)
Executing nvidia-smi in both docker and wsi yields the following results.
Wed Aug 7 15:13:22 2024
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.129.01 Driver Version: 537.70 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 3060 Ti On | 00000000:01:00.0 On | N/A |
| 30% 32C P8 8W / 200W | 1048MiB / 8192MiB | 3% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| 0 N/A N/A 24 G /Xwayland N/A |
| 0 N/A N/A 31 G /Xwayland N/A |
| 0 N/A N/A 33 G /Xwayland N/A |
+---------------------------------------------------------------------------------------+
But executing vulkaninfo in docker yields the following results.
ERROR: [Loader Message] Code 0 : vkCreateInstance: Found no drivers!
Cannot create Vulkan instance.
This problem is often caused by a faulty installation of the Vulkan driver or attempting to use a GPU that does not support Vulkan.
ERROR at ./vulkaninfo/./vulkaninfo.h:456:vkCreateInstance failed with ERROR_INCOMPATIBLE_DRIVER
What did I do wrong? How to properly install vulkan in docker? I wish someone could help me. Thanks in advance.