Ensure condition failed: VendorId != EGpuVendorId::Unknown

Hi, I’m running UE 4.25 on Debian Testing with Nvidia GTX 1060 drivers v460.32.03.
I have the following error on boot:

[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error: === Handled ensure: ===
[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error:                                                                                                                                                                                                        
[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error: Ensure condition failed: VendorId != EGpuVendorId::Unknown [File:/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/VulkanRHI/Private/VulkanDevice.cpp] [Line: 182]               
[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error:                                                                                                                                                                                                        
[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error: Stack:                                                                                                                                                                                                 
[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error: [Callstack] 0x00007f7ef9c0e636 libUE4Editor-VulkanRHI.so!FVulkanDevice::FVulkanDevice(FVulkanDynamicRHI*, VkPhysicalDevice_T*) [/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/VulkanRHI/Private/VulkanDevice.cpp:182]                                                                                                                                                                                                                     
[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error: [Callstack] 0x00007f7ef9c666c6 libUE4Editor-VulkanRHI.so!FVulkanDynamicRHI::SelectAndInitDevice() [/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:531]                                                                                                                                                                                                                                                     
[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error: [Callstack] 0x00007f7ef9c63fb3 libUE4Editor-VulkanRHI.so!FVulkanDynamicRHI::InitInstance() [/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:674]                                                                                                                                                                                                                                                            
[2021.02.01-10.06.33:041][  0]LogOutputDevice: Error: [Callstack] 0x00007f7ef9c63bc8 libUE4Editor-VulkanRHI.so!FVulkanDynamicRHI::Init() [/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/VulkanRHI/Private/VulkanRHI.cpp:223]       
[2021.02.01-10.06.33:042][  0]LogOutputDevice: Error: [Callstack] 0x00007f7f33d39fdc libUE4Editor-RHI.so!RHIInit(bool) [/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/RHI/Private/DynamicRHI.cpp:214]                              
[2021.02.01-10.06.33:042][  0]LogOutputDevice: Error: [Callstack] 0x0000000000247484 UE4Editor!FEngineLoop::PreInitPreStartupScreen(char16_t const*) [/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/Launch/Private/LaunchEngineLoop.cpp:2584]                                                                                                                                                                                                                                                   
[2021.02.01-10.06.33:042][  0]LogOutputDevice: Error: [Callstack] 0x000000000023e2fc UE4Editor!GuardedMain(char16_t const*) [/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/Launch/Private/Launch.cpp:127]                          
[2021.02.01-10.06.33:042][  0]LogOutputDevice: Error: [Callstack] 0x00007f7f300c3b5b libUE4Editor-UnixCommonStartup.so!CommonUnixMain(int, char**, int (*)(char16_t const*), void (*)()) [/media/workspace/DevTools/engines/UnrealEngine/UE/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:264]                                                                                                                                                                                               
[2021.02.01-10.06.33:042][  0]LogOutputDevice: Error: [Callstack] 0x00007f7f2ff14d0a libc.so.6!__libc_start_main(+0xe9)                                                                                                                                      
[2021.02.01-10.06.33:042][  0]LogOutputDevice: Error: [Callstack] 0x000000000022c029 UE4Editor!_start()                                                                                                                                                      
[2021.02.01-10.06.33:042][  0]LogOutputDevice: Error: 

The Editor starts up anyway and I am able to work but the performance seems quite poor (I know it’s an old GPU but it’s hard to buy an RTX today).
I would like to try to solve the problem hoping for an increase in performance, does anyone have any idea how I can get rid of this error?

Thank you

Strange, that issue does happen with an out of date drivers, but yours are up to date. Are you sure you are using them and that you are using the proper GPU? That is not an old GPU for the Engine to have a poor performance because of that.

Thank you for your support, yes I’m using them and just updated to latest 460.39 but sill get same error.

Looking on source code, on vkGetPhysicalDeviceProperties, gives vendorID that UE4 can’t identify and it seems expect PCI’s vendor id as EGpuVendorId seems to use it

enum class EGpuVendorId
{
	Unknown		= -1,
	NotQueried	= 0,

	Amd			= 0x1002,
	ImgTec		= 0x1010,
	Nvidia		= 0x10DE, 
	Arm			= 0x13B5, 
	Qualcomm	= 0x5143,
	Intel		= 0x8086,
};

check lspci command if it’s match, also check if other applications work, check some diagnostic tools if you can to see what vendorID property gives to UE4

By looks of it straight considering you got nvidia there something wrong with drivers, more specifically support of it

That said… i’m not kind of fan that UE4 locks it self to specific vendors and intentionally crashes it self it not on this enum list. Generally if GPU is compatible with it should just work no matter the vendor

This is also on AMD

Engine version - 4.26.1 with latest patches till now.

Thank you for your support, in fact I hadn’t thought of a driver / system level problem I had just focused on the UE side because all other apps works well.
I use latest Blender and Krita but don’t know if they use API or still OpenGL.
This is output from lspci:

2d:00.0 VGA compatible controller: NVIDIA Corporation GP106 [GeForce GTX 1060 6GB] (rev a1)

While this is the output from vulkaninfo (|grep ID):

VK_LAYER_NV_optimus (NVIDIA Optimus layer)  version 1.2.155, layer version 1:
                        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                currentTransform    = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                currentTransform    = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                        llvmpipe (LLVM 11.0.1, 256 bits) (ID: 0)
                        GeForce GTX 1060 6GB (ID: 0)
                GeForce GTX 1060 6GB (ID: 0):
                                GeForce GTX 1060 6GB (ID: 0)
        vendorID       = 0x10005
        deviceID       = 0x0000
        driverID           = DRIVER_ID_MESA_LLVMPIPE
VkPhysicalDeviceIDPropertiesKHR:
        deviceUUID      = 00000000-0000-0000-0000-000000000000
        driverUUID      = 00000000-0000-0000-0000-000000000000
        deviceLUIDValid = false
        vendorID       = 0x10de
        deviceID       = 0x1c03
        driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
        driverName         = NVIDIA
VkPhysicalDeviceIDProperties:
        deviceUUID      = 9f0c84d7-18fc-623b-f5c6-707d718c083e
        driverUUID      = 2495af3a-55c4-0fd8-d7dc-4c091f21fae2
        deviceLUIDValid = false
        deviceUUID                        = 9f0c84d7-18fc-623b-f5c6-707d718c083e
        driverUUID                        = 2495af3a-55c4-0fd8-d7dc-4c091f21fae2
        deviceLUIDValid                   = false
        driverID                                             = DRIVER_ID_NVIDIA_PROPRIETARY
        driverName                                           = NVIDIA

At least in one field it seems to match correct Vendor ID, but I’m not able to say if there is something wrong with this output…

While this is the output from vulkaninfo (|grep ID):

VK_LAYER_NV_optimus (NVIDIA Optimus layer)  version 1.2.155, layer version 1:
                        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                currentTransform    = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                        SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                currentTransform    = SURFACE_TRANSFORM_IDENTITY_BIT_KHR
                        llvmpipe (LLVM 11.0.1, 256 bits) (ID: 0)
                        GeForce GTX 1060 6GB (ID: 0)
                GeForce GTX 1060 6GB (ID: 0):
                                GeForce GTX 1060 6GB (ID: 0)
        vendorID       = 0x10005
        deviceID       = 0x0000
        driverID           = DRIVER_ID_MESA_LLVMPIPE
VkPhysicalDeviceIDPropertiesKHR:
        deviceUUID      = 00000000-0000-0000-0000-000000000000
        driverUUID      = 00000000-0000-0000-0000-000000000000
        deviceLUIDValid = false
        vendorID       = 0x10de
        deviceID       = 0x1c03
        driverID           = DRIVER_ID_NVIDIA_PROPRIETARY
        driverName         = NVIDIA
VkPhysicalDeviceIDProperties:
        deviceUUID      = 9f0c84d7-18fc-623b-f5c6-707d718c083e
        driverUUID      = 2495af3a-55c4-0fd8-d7dc-4c091f21fae2
        deviceLUIDValid = false
        deviceUUID                        = 9f0c84d7-18fc-623b-f5c6-707d718c083e
        driverUUID                        = 2495af3a-55c4-0fd8-d7dc-4c091f21fae2
        deviceLUIDValid                   = false
        driverID                                             = DRIVER_ID_NVIDIA_PROPRIETARY
        driverName                                           = NVIDIA

At least in one field it seems to match correct Vendor ID, but I’m not able to say if there is something wrong with this output…

Hi,

It looks like you’re running on the software renderer (llvmpipe) instead of your GPU. GTX 1060 is perfectly enough to run the editor with full performance. The llvmpipe vendor id is not known to the engine, hence the soft error, which is actually hinting you that something is very wrong…

As per why llvmpipe ends up getting used instead of NVidia drivers - unfortunately I don’t know. Likely a problem caused by optimus?

Regards,
RCL

Thanks for the support, it’s a big step forward, I’ll keep trying to understand why it’s using the software renderer instead of the hardware.
I am sure that other programs are using accelerated hardware, i.e. Blender recognizes and uses CUDA with the 1060, so I don’t know where the problem lies, as it only occurs with UE at the moment.
I don’t think it’s an Optimus related problem because I’m on a desktop PC, no integrated GPU, only the video card on PCIex so I don’t have Optimus / Prime / Bumblebee or any other GPU management software installed, just Nvidia + Cuda drivers.

I have the same problem whith RTX 2080Ti, have you found the solution?

I have the same problem whith RTX 2080Ti, have you found the solution?

no, I’m sorry still have this problem :frowning:

Sorry for late reply I have not seen your question and have not received a notification :frowning:
Unfortunately I have not found a solution yet and now I have another big problem, I have changed my PC and now cannot build UE4 anymore :frowning:

same problem when run UE4.26 on unbuntu20.04., but UE5.2.1 is ok.

I used an RTX 4060 graphics card to install Unreal Engine 4.25 and Airsim and had the same problem.

I tried to reinstall the driver and CUDA, still no solution.

Have you solved this problem?

Hello there,
I had a similar issue by launching UE4.27 from a docker container. I was able to solve it by changing the nvidia-driver to 535.129.03-0ubuntu0.22.04.1 in POP_OS 22.04.