[Linux] VK_ERROR_DEVICE_LOST on UE4Editor startup, disabling Vulkan defrag doesn't help

I’ve just built UE4 from source as described here. Every time I run it, after some shaders are compiled, the app crashes with the following information:

LoginId:255238bf5820473ba394007bdf1a48ec-000003e8

EpicAccountId:

Fatal error: [File:/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 958] VulkanRHI::vkQueueSubmit(Queue, 1, &SubmitInfo, Fence->GetHandle()) failed, VkResult=-4 at /home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanQueue.cpp:71 with error VK_ERROR_DEVICE_LOST 0x00007f8970de6a8f libUE4Editor-VulkanRHI.so!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp:957] 0x00007f8970dbd20d libUE4Editor-VulkanRHI.so!FVulkanQueue::Submit(FVulkanCmdBuffer*, unsigned int, VkSemaphore_T**) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanQueue.cpp:71] 0x00007f8970d4f5f3 libUE4Editor-VulkanRHI.so!FVulkanCommandBufferManager::SubmitUploadCmdBuffer(unsigned int, VkSemaphore_T**) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanCommandBuffer.cpp:563] 0x00007f8970e1e06d libUE4Editor-VulkanRHI.so!FVulkanSurface::InternalLockWrite(FVulkanCommandListContext&, FVulkanSurface*, VkBufferImageCopy const&, VulkanRHI::FStagingBuffer*) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanTexture.cpp:188] 0x00007f8970e27823 libUE4Editor-VulkanRHI.so!FRHICommand<FRHICommandLockWriteTexture, FUnnamedRhiCommand>::ExecuteAndDestruct(FRHICommandListBase&, FRHICommandListDebugContext&) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/RHI/Public/RHICommandList.h:765] 0x00007f89da403540 libUE4Editor-RHI.so!FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:372] 0x00007f89da48922c libUE4Editor-RHI.so!FExecuteRHIThreadTask::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:427] 0x00007f89da4887b3 libUE4Editor-RHI.so!TGraphTask<FExecuteRHIThreadTask>::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:886] 0x00007f89dfe2fb7b libUE4Editor-Core.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:710] 0x00007f89dfe2e05e libUE4Editor-Core.so!FNamedTaskThread::ProcessTasksUntilQuit(int) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:601] 0x00007f89da64dab3 libUE4Editor-RenderCore.so!FRHIThread::Run() [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp:319] 0x00007f89dff04557 libUE4Editor-Core.so!FRunnableThreadPThread::Run() [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25] 0x00007f89dfec0e53 libUE4Editor-Core.so!FRunnableThreadPThread::_ThreadProc(void*) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:185] 0x00007f89d6e80ad7 libc.so.6!UnknownFunction(0x8dad6) 0x00007f89d6f05770 libc.so.6!UnknownFunction(0x11276f)

libUE4Editor-Core.so!FGenericPlatformMisc::RaiseException(unsigned int) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/GenericPlatform/GenericPlatformMisc.cpp:472]

libUE4Editor-Core.so!FOutputDevice::LogfImpl(char16_t const*, ...) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/Misc/OutputDevice.cpp:61]

libUE4Editor-VulkanRHI.so!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanUtil.cpp:957]

libUE4Editor-VulkanRHI.so!FVulkanQueue::Submit(FVulkanCmdBuffer*, unsigned int, VkSemaphore_T**) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanQueue.cpp:71]

libUE4Editor-VulkanRHI.so!FVulkanCommandBufferManager::SubmitUploadCmdBuffer(unsigned int, VkSemaphore_T**) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanCommandBuffer.cpp:563]

libUE4Editor-VulkanRHI.so!FVulkanSurface::InternalLockWrite(FVulkanCommandListContext&, FVulkanSurface*, VkBufferImageCopy const&, VulkanRHI::FStagingBuffer*) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/VulkanRHI/Private/VulkanTexture.cpp:188]

libUE4Editor-VulkanRHI.so!FRHICommand<FRHICommandLockWriteTexture, FUnnamedRhiCommand>::ExecuteAndDestruct(FRHICommandListBase&, FRHICommandListDebugContext&) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/RHI/Public/RHICommandList.h:765]

libUE4Editor-RHI.so!FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:372]

libUE4Editor-RHI.so!FExecuteRHIThreadTask::DoTask(ENamedThreads::Type, TRefCountPtr<FGraphEvent> const&) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/RHI/Private/RHICommandList.cpp:427]

libUE4Editor-RHI.so!TGraphTask<FExecuteRHIThreadTask>::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:886]

libUE4Editor-Core.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:710]

libUE4Editor-Core.so!FNamedTaskThread::ProcessTasksUntilQuit(int) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/Async/TaskGraph.cpp:601]

libUE4Editor-RenderCore.so!FRHIThread::Run() [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/RenderCore/Private/RenderingThread.cpp:319]

libUE4Editor-Core.so!FRunnableThreadPThread::Run() [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25]

libUE4Editor-Core.so!FRunnableThreadPThread::_ThreadProc(void*) [/home/sms/builds/UnrealEngine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:185]

libc.so.6!UnknownFunction(0x8dad6)

libc.so.6!UnknownFunction(0x11276f)

I tried to launch the editor with -ExecCmds="r.Vulkan.EnableDefrag 0" but it doesn’t change anything, it’s still VK_ERROR_DEVICE_LOST error.

I have Vulkan installed as vulkaninfo returns a lot. I have integrated Intel GPU (on purpose). I’m running Fedora. Is it known issue?

Hey @Capt_SMS, I have faced the same error - VK_ERROR_DEVICE_LOST.

And to resolve it, I have updated my NVIDIA drivers. Instructions can be found here