Hello everyone,
I am facing an issue while using Unreal Engine within Docker containers, especially with Pixel Streaming and enabling Raytracing. It seems that the Vulkan 1.2 API is always loaded in the container, even though I need Vulkan 1.3 for Raytracing support.
The issue:
Inside the Docker container, Vulkan 1.2.x is being used, which results in Raytracing being disabled. This is because Vulkan 1.2 doesn’t support the necessary extensions, such as VK_KHR_ray_tracing_pipeline and VK_KHR_acceleration_structure, which are required for Raytracing. Unreal Engine requires Vulkan 1.3 for these extensions and Raytracing features.
What I’ve tried:
-
Installed Vulkan 1.3 in the Dockerfile: I attempted to install Vulkan 1.3 in the Dockerfile, but even after installation, the Vulkan version in the container remains 1.2. It appears that this is overridden by the Pixel Streaming Runtime package, which is provided by GitHub for Unreal Engine.
-
NVIDIA Container Toolkit and Runtime: I used the --runtime=nvidia option to ensure the container uses the host’s GPU and configured the NVIDIA Container Toolkit. Despite these adjustments, Vulkan remains on version 1.2 in the container.
-
Mounting Vulkan directories: I tried mounting Vulkan directories from the host into the container, such as /usr/local/vulkan and /usr/local/nvidia/lib64, but this did not result in Vulkan 1.3 being used.
-
Pixel Streaming Runtime package: It appears that the Pixel Streaming Runtime package from GitHub comes with Vulkan 1.2 by default. This package is used to enable Pixel Streaming in Unreal Engine and includes a predefined version of Vulkan. You can find more details in the GitHub repo for the Unreal Engine Container Package.
Questions:
• Has anyone experienced the proper configuration and usage of Vulkan 1.3 in Docker containers, particularly with Unreal Engine and Pixel Streaming?
• Is there a specific method to enforce Vulkan 1.3 inside a container, even if the Unreal Engine packages and the Pixel Streaming Runtime package come with Vulkan 1.2?
• Should I install Vulkan 1.3 directly inside the container, and what steps are required to ensure the correct extensions and features like Raytracing are available?
I would appreciate any advice or solutions, especially if anyone has encountered similar challenges with integrating Vulkan and Unreal Engine in a Docker environment.
Thanks in advance!