Summary
A native Linux game packaged with Unreal Engine 5.8.2 consistently crashes on Steam Deck during Vulkan compute PSO precaching.
The crash occurs inside the Steam Deck RADV/ACO shader compiler while Unreal is creating a compute pipeline.
The driver reports:
ACO ERROR:
Unimplemented intrinsic instr: @store_deref
Disabling PSO precaching on Linux with:
r.PSOPrecaching=0
prevents the crash.
With PSO precaching disabled, the same build successfully remained in the main menu and then ran several minutes of gameplay including combat, enemies and fire effects without reproducing the failure.
What Type of Bug are you experiencing?
Rendering (Graphics / Niagara)
Steps to Reproduce
-
Package a UE 5.8.2 native Linux build using Vulkan / VULKAN_SM6 with the default PSO precaching enabled.
-
Run the native Linux build on Steam Deck. This is not running through Proton.
-
Allow the main menu to load or enter gameplay.
-
Within seconds, the process aborts during asynchronous compute PSO creation.
-
The crash reports SIGABRT in the Vulkan compute PSO path, including:
FVulkanPipelineStateCacheManager::CreateComputePipeline
FCompileComputePipelineStateTask::CompilePSOInternal
FPSOPrecacheAsyncTask::DoTaskWork -
A direct native run with stdout enabled also reports:
ACO ERROR:
Unimplemented intrinsic instr: @store_deref
Workaround test:
Add the following to Config/Linux/LinuxEngine.ini:
[ConsoleVariables]
r.PSOPrecaching=0
Rebuild and run the same game on the same Steam Deck.
With this setting the crash no longer occurs.
Expected Result
The UE 5.8.2 native Linux Vulkan build should create and precache compute pipeline states on Steam Deck without causing RADV/ACO to abort. The main menu and gameplay should remain stable with normal PSO precaching enabled.
Observed Result
With normal PSO precaching enabled, the game repeatedly crashes shortly after the main menu loads or shortly after entering gameplay.
Six captured crashes produced the same call-stack signature.
The failure is:
SIGABRT: abort() called
Relevant Unreal frames:
FVulkanPipelineStateCacheManager::CreateComputePipeline
FVulkanPipelineStateCacheManager::GetOrCreateComputePipeline
FVulkanDynamicRHI::RHICreateComputePipelineState
FCompileComputePipelineStateTask::CompilePSOInternal
FPSOPrecacheAsyncTask::DoTaskWork
Direct native execution exposes this RADV/ACO compiler error:
ACO ERROR:
Unimplemented intrinsic instr: @store_deref
With r.PSOPrecaching=0 loaded from the Linux configuration before gameplay, the same build remains stable.
Affects Versions
5.8
Platform(s)
Linux
For crash reports, include your callstack
Fatal error:
SIGABRT: abort() called
Relevant engine frames:
FVulkanPipelineStateCacheManager::CreateComputePipeline
FVulkanPipelineStateCacheManager::GetOrCreateComputePipeline
FVulkanDynamicRHI::RHICreateComputePipelineState
FCompileComputePipelineStateTask::CompilePSOInternal
FPSOPrecacheAsyncTask::DoTaskWork
Driver/compiler:
RADV / libvulkan_radeon.so
ACO ERROR:
Unimplemented intrinsic instr: @store_deref
Additional Notes
Environment:
Unreal Engine 5.8.2
Steam Deck / SteamOS
Native Linux build, not Proton
Vulkan / VULKAN_SM6
AMD Custom GPU 0932 / RADV VANGOGH
Mesa reported by the runtime:
Mesa 26.0.0-devel (git-9cc9241790)
Confirmed workaround:
Config/Linux/LinuxEngine.ini
[ConsoleVariables]
r.PSOPrecaching=0
The runtime confirms that r.PSOPrecaching=0 is loaded.
With the workaround enabled:
- Main menu remained stable for approximately 84 seconds.
- The gameplay level loaded successfully.
- Gameplay ran for approximately 3 minutes 37 seconds.
- Combat, enemies and fire effects were exercised.
- No SIGABRT occurred.
- No ACO @store_deref error occurred.
- No new crash report was generated.
- The game was still running when testing ended.
The crash was also reproduced by launching the native Linux executable directly without Steam Fossilize in the fatal stack, so Fossilize does not appear to be required to trigger the issue.
Earlier development versions of this game ran on the same Steam Deck using older Unreal Engine versions. I have not performed a controlled cross-version minimal reproduction, so I cannot confirm exactly when the issue was introduced.
The original crash directories were removed during subsequent clean deployments while testing the workaround.
If useful, I can reproduce the crash again with PSO precaching enabled and provide fresh MoonBurn.log, Diagnostics.txt, CrashContext.runtime-xml, VKhashes.txt, stdout output, or other diagnostics requested by Epic. I can also perform additional reproduction or PSO/shader capture steps if you tell me what information would be most useful.