Projects Failed to Turn On Path Tracing (Also Failed to Turn On Vulkan SM6)

I am new to Unreal Engine, apologize for my foolish question.

I am now using UE5.5.1, which has a new feature of vulkan ray tracing. When I start a new project, I found it does support the new feature: I can choose the lighting way from “Lit” to “Path Tracer”, and I can also turn on the SM6 support in Project settings.

However, when I try to turn on the vulkan ray tracing feature for one of a existing project, I found that: The “Path Tracer” button is disappeared, and I also cannot turn on the SM6 support in Project settings.

The error message was: Vulkan Driver is required to run the engine.
Part of the log are as following:

[[2024.12.17-08.57.21:529][  0]]LogRHI: Using Default RHI: Vulkan
[[2024.12.17-08.57.21:530][  0]]LogRHI: Using Highest Feature Level of Vulkan: SM6
[[2024.12.17-08.57.21:530][  0]]LogRHI: Loading RHI module VulkanRHI
[[2024.12.17-08.57.21:602][  0]]LogRHI: Checking if RHI Vulkan with Feature Level SM6 is supported by your system.
[[2024.12.17-08.57.21:602][  0]]LogVulkanRHI: Warning: Found VULKAN_SDK=
[[2024.12.17-08.57.21:602][  0]]LogVulkanRHI: Display: Registering provided Vulkan validation layers
[[2024.12.17-08.57.21:602][  0]]LogVulkanRHI: Display: Updated VK_LAYER_PATH=../../../Engine/Binaries/ThirdParty/Vulkan/Win64
[[2024.12.17-08.57.21:639][  0]]LogVulkanRHI: Starting Vulkan Profile check for VP_UE_Vulkan_SM6:
RDOC 035704: [16:57:22]             core.cpp(2148) - Log     - Adding Vulkan device frame capturer for 0x00000A5E13686C00
RDOC 035704: [16:57:22]  vk_device_funcs.cpp( 941) - Log     - Initialised capture layer in Vulkan instance.
RDOC 035704: [16:57:22]  vk_device_funcs.cpp(1522) - Log     - physical device 0: NVIDIA GeForce RTX 3060 (ver 566.36 patch 0x0) - 10de:2504
RDOC 035704: [16:57:22]  vk_device_funcs.cpp(1522) - Log     - physical device 1: Intel(R) UHD Graphics 770 (ver 101.5187 patch 0x0) - 8086:4680
RDOC 035704: [16:57:22]     vk_get_funcs.cpp( 814) - Warning - Disabling support for multiview + mesh shaders
RDOC 035704: [16:57:22]     vk_get_funcs.cpp( 814) - Warning - Disabling support for multiview + mesh shaders
[[2024.12.17-08.57.22:966][  0]]LogVulkanRHI:    - Unsupported feature condition: VkPhysicalDeviceMeshShaderFeaturesEXT::multiviewMeshShader == VK_TRUE
RDOC 035704: [16:57:22]             core.cpp(2165) - Log     - Removing device frame capturer for 0x00000A5E13686C00
[[2024.12.17-08.57.22:988][  0]]LogVulkanRHI: Vulkan Profile check complete.
[[2024.12.17-08.57.22:988][  0]]LogRHI: RHI Vulkan is not supported on your system.

I have already debug this problem for one week, and I have found that in Engine\Source\ThirdParty\Vulkan\profiles\include\vulkan_profiles_ue.h Line 1553, it has the following:

static const VpFeatureDesc featureDesc = {
    [](VkBaseOutStructure* p) { (void)p;
            (...)      
    },
    [](VkBaseOutStructure* p) -> bool { (void)p;
        bool ret = true;
            switch (p->sType) {
                (...)
                case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_EXT: {
                    VkPhysicalDeviceMeshShaderFeaturesEXT* prettify_VkPhysicalDeviceMeshShaderFeaturesEXT = static_cast<VkPhysicalDeviceMeshShaderFeaturesEXT*>(static_cast<void*>(p));
                    ret = ret && (prettify_VkPhysicalDeviceMeshShaderFeaturesEXT->meshShader == VK_TRUE); VP_DEBUG_COND_MSG(!(prettify_VkPhysicalDeviceMeshShaderFeaturesEXT->meshShader == VK_TRUE), "Unsupported feature condition: VkPhysicalDeviceMeshShaderFeaturesEXT::meshShader == VK_TRUE");
                    ret = ret && (prettify_VkPhysicalDeviceMeshShaderFeaturesEXT->multiviewMeshShader == VK_TRUE); VP_DEBUG_COND_MSG(!(prettify_VkPhysicalDeviceMeshShaderFeaturesEXT->multiviewMeshShader == VK_TRUE), "Unsupported feature condition: VkPhysicalDeviceMeshShaderFeaturesEXT::multiviewMeshShader == VK_TRUE");
                    ret = ret && (prettify_VkPhysicalDeviceMeshShaderFeaturesEXT->taskShader == VK_TRUE); VP_DEBUG_COND_MSG(!(prettify_VkPhysicalDeviceMeshShaderFeaturesEXT->taskShader == VK_TRUE), "Unsupported feature condition: VkPhysicalDeviceMeshShaderFeaturesEXT::taskShader == VK_TRUE");
                } break;
                default: break;
            }
        return ret;
    }
};

The value of “prettify_VkPhysicalDeviceMeshShaderFeaturesEXT->multiviewMeshShader” was zero. I can pass the compilation check by commenting this. However, another problem was: Unsupported property: VK_FORMAT_R64_UINT, which is in Line 1610:

static const VpFormatDesc formatDesc[] = {
    {
        VK_FORMAT_R64_UINT,
        [](VkBaseOutStructure* p) { (void)p;
            (...)
        },
        [](VkBaseOutStructure* p) -> bool { (void)p;
            bool ret = true;
            switch (p->sType) {
                case VK_STRUCTURE_TYPE_FORMAT_PROPERTIES_2_KHR: {
                    VkFormatProperties2KHR* prettify_VkFormatProperties2KHR = static_cast<VkFormatProperties2KHR*>(static_cast<void*>(p));
                    ret = ret && (vpCheckFlags(prettify_VkFormatProperties2KHR->formatProperties.optimalTilingFeatures, (VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT | VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT))); VP_DEBUG_COND_MSG(!(vpCheckFlags(prettify_VkFormatProperties2KHR->formatProperties.optimalTilingFeatures, (VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT | VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT))), "Unsupported format condition for VK_FORMAT_R64_UINT: VkFormatProperties2KHR::formatProperties.optimalTilingFeatures contains (VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT | VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT)");
                } break;
                default: break;
            }
            return ret;
        }
    },
};

After I comment both of this two features, I can pass the compilation check of VS but failed in shader compilation.

So, what should I do now? Any suggestion?

1 Like

Some info of my computer which I forgot:
CPU: 12th Gen Intel(R) Core™ i7-12700
GPU: NVIDIA GeForce RTX 3060
NVIDIA Driver Version: 566.36 (nearly the newest, also tried an older version of 555.99)
CUDA Version: 12.7
Vulkan Runtime Version: 1.3.296.0 (tried with both SDK and Runtime, also tried an older version of 1.3.275)
Unreal Version: 5.5.1 (both Debug Editor mode from source code and Developement Editor mode by downloading in EpicGames Launcher)

I can open the project without turning the Vulkan SM6 on, but there is no “Path Tracing” lighting way I can choose. When I force to turn the SM6 on by ticking the box in Project Settings, the project wont open, and have the error log above mentioned.

It seems that, the vulkan check the whole features of SM6 requires, even if Path Tracing does not requires it. If one feature fails, the whole SM6 was shutdown.

I’ve ran into something similar, and the multiview mesh shader and R64_UINT problems were from automatically attaching RenderDoc. RenderDoc would alter the reported physical device capabilities, making the RHI think SM6 is not supported on your RTX card that definitely can. Try disabling auto attaching of RD.