Steam Deck startup hang and crash

On both Unreal 5.3 and 5.4 (stock engines), if you have a game that is launched from Steam Deck in gaming mode in the current stable Steam OS, it will hang during startup and then eventually crash due to the semaphore timeout.

If you launch in desktop mode or use the latest Beta Steam OS, it does not crash. The specific crash is here:

Error: appError called: Fatal error: [File:.\Runtime/RenderCore/Private/RenderingThread.cpp] [Line: 1272]
GameThread timed out waiting for RenderThread after 60.00 secs
0x000000000944957a Demo!FRenderCommandFence::Wait(bool) const()
0x000000000bf00c5f Demo!FEngineLoop::Tick()()
0x000000000bf039da Demo!GuardedMain(char16_t const*)()
0x000000000be616de Demo!CommonUnixMain(int, char**, int (*)(char16_t const*), void (*)())()
0x00007fa447a7a850 libc.so.6!UnknownFunction(0x2384f)
0x00007fa447a7a90a libc.so.6!__libc_start_main(+0x89)
0x0000000005140029 Demo!_start()

The render thread is blocked in the “vkAcquireNextImageKHR” function.

Has anyone encountered this problem? Is there any workaround for it?

fwiw I have a 5.4 stock game I have been working on Steam Deck without issue. (It is Windows/Proton)

Are you using Proton and Windows, or are you trying to run Linux natively?

A while back I used to have to enable the experimental proton, but havent lately.

Are you deploying via DevKit Client or via Steamworks?

Yes, I forgot to mention that it works fine with Proton, but this crash is happening on Linux Native.

We are also pushing it to the device via Steam, although we have tried various things by directly editing the installed game.

It looks like injecting:
export ENABLE_GAMESCOPE_WSI=0
into the top of the .sh build that is used to start the game fixes the problem.