I am using UE5.0.3 (the official downloaded package) on Linux (Kali, mesa–drivers/kali-rolling,now 22.2.0~rc1-1 amd64), i9-9880H without separated GPU. The problem is same for me: I can open UE5Editor to create new projects, but the editor crashes once I open a project. I know this is not a suitable development for UE; I just hope to have a Linux test environment.
Here is my log:
Fatal error: [File:./Runtime/VulkanRHI/Private/VulkanUtil.cpp] [Line: 965] VulkanRHI::vkDeviceWaitIdle(Device) failed, VkResult=-4 at ./Runtime/VulkanRHI/Private/VulkanDevice.cpp:1546 with error VK_ERROR_DEVICE_LOST 0x00007efdf25fe18f libUnrealEditor-VulkanRHI.so!auto VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int)::$_234::operator()<FLogCategoryLogVulkanRHI, char16_t [49], char16_t*, int, char16_t*, unsigned int, char16_t const*>(FLogCategoryLogVulkanRHI const&, char16_t const (&) [49], char16_t* const&, int const&, char16_t* const&, unsigned int const&, char16_t const* const&) const [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanUtil.cpp:964] 0x00007efdf25d6aff libUnrealEditor-VulkanRHI.so!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanUtil.cpp:964] 0x00007efdf252a532 libUnrealEditor-VulkanRHI.so!FVulkanDevice::WaitUntilIdle() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanDevice.cpp:1546] 0x00007efdf25e45c7 libUnrealEditor-VulkanRHI.so!FVulkanSwapChain::Destroy(FVulkanSwapChainRecreateInfo*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanSwapChain.cpp:598] 0x00007efdf2624a12 libUnrealEditor-VulkanRHI.so!FVulkanViewport::~FVulkanViewport() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanViewport.cpp:163] 0x00007efdf2624d19 libUnrealEditor-VulkanRHI.so!FVulkanViewport::~FVulkanViewport() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanViewport.cpp:141] 0x00007efed316a4f6 libUnrealEditor-RHI.so!TRHILambdaCommand<FRHICommandListImmediate, FRHIResource::FlushPendingDeletes(FRHICommandListImmediate&)::$_87>::ExecuteAndDestruct(FRHICommandListBase&, FRHICommandListDebugContext&) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/RHI/Public/RHICommandList.h:787] 0x00007efed3133850 libUnrealEditor-RHI.so!FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHI/Private/RHICommandList.cpp:503] 0x00007efed31cdaeb libUnrealEditor-RHI.so!FExecuteRHIThreadTask::DoTask(ENamedThreads::Type, TRefCountPtr const&) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHI/Private/RHICommandList.cpp:559] 0x00007efed31cd0af libUnrealEditor-RHI.so!TGraphTask::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type, bool) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:975] 0x00007efed9a8d818 libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:753] 0x00007efed9a8bae0 libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksUntilQuit(int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:641] 0x00007efed9a8a6f3 libUnrealEditor-Core.so!FTaskGraphCompatibilityImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:2114] 0x00007efed34959d2 libUnrealEditor-RenderCore.so!FRHIThread::Run() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderingThread.cpp:324] 0x00007efed9bfdd27 libUnrealEditor-Core.so!FRunnableThreadPThread::Run() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25] 0x00007efed9b5bf83 libUnrealEditor-Core.so!FRunnableThreadPThread::_ThreadProc(void*) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:185] 0x00007efeda7bcd80 libpthread.so.0!UnknownFunction(0x7d7f) 0x00007efecef39baf libc.so.6!clone(+0x3e)
libUnrealEditor-VulkanRHI.so!VulkanRHI::VerifyVulkanResult(VkResult, char const*, char const*, unsigned int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanUtil.cpp:964]
libUnrealEditor-VulkanRHI.so!FVulkanDevice::WaitUntilIdle() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanDevice.cpp:1546]
libUnrealEditor-VulkanRHI.so!FVulkanSwapChain::Destroy(FVulkanSwapChainRecreateInfo*) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanSwapChain.cpp:598]
libUnrealEditor-VulkanRHI.so!FVulkanViewport::~FVulkanViewport() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanViewport.cpp:163]
libUnrealEditor-VulkanRHI.so!FVulkanViewport::~FVulkanViewport() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/VulkanRHI/Private/VulkanViewport.cpp:141]
libUnrealEditor-RHI.so!TRHILambdaCommand<FRHICommandListImmediate, FRHIResource::FlushPendingDeletes(FRHICommandListImmediate&)::$_87>::ExecuteAndDestruct(FRHICommandListBase&, FRHICommandListDebugContext&) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/RHI/Public/RHICommandList.h:787]
libUnrealEditor-RHI.so!FRHICommandListExecutor::ExecuteInner_DoExecute(FRHICommandListBase&) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHI/Private/RHICommandList.cpp:503]
libUnrealEditor-RHI.so!FExecuteRHIThreadTask::DoTask(ENamedThreads::Type, TRefCountPtr const&) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RHI/Private/RHICommandList.cpp:559]
libUnrealEditor-RHI.so!TGraphTask::ExecuteTask(TArray<FBaseGraphTask*, TSizedDefaultAllocator<32> >&, ENamedThreads::Type, bool) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Core/Public/Async/TaskGraphInterfaces.h:975]
libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksNamedThread(int, bool) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:753]
libUnrealEditor-Core.so!FNamedTaskThread::ProcessTasksUntilQuit(int) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:641]
libUnrealEditor-Core.so!FTaskGraphCompatibilityImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type) [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/Async/TaskGraph.cpp:2114]
libUnrealEditor-RenderCore.so!FRHIThread::Run() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/RenderCore/Private/RenderingThread.cpp:324]
libUnrealEditor-Core.so!FRunnableThreadPThread::Run() [/mnt/horde/++UE5/Sync/Engine/Source/./Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25]
libUnrealEditor-Core.so!FRunnableThreadPThread::_ThreadProc(void*) [/mnt/horde/++UE5/Sync/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:185]
libpthread.so.0!UnknownFunction(0x7d7f)
libc.so.6!clone(+0x3e)
r..EnableDefrag=0
does not work in my case.
By the way, UE on Linux is still comparatively slower than on Windows, although I see some discussions about the slowness already exist since 2016.