Xid 31 Vulkan Crash on 5070ti/nvidia-open/unreal engine 5.7

So, I have let my game project lay dormant for half a year. Wanted to get back to it yesterday. In the meantime I switched from nvidia to nvidia-open and got myself a shiny new RTX 5070 TI. Last time everything worked was with nvidia and my RTX 3080 FE. Same Unreal version (5.7.4) worked back then.

I can start Unreal Editor, load my project, but as soon as I try to open an Asset or do anything that spawns a modal Vulkan will crash out. Afterwards UE is unusable due to certain Windows/Modals not being drawn - even outside of the actual Project I’m developing, just inside the Project Picker. Only reboot helps. Tried disabling GSP, didn’t make a difference.

Found this in dmesg:

[ 2.329368] NVRM: loading NVIDIA UNIX Open Kernel Module for x86_64 595.71.05 Release Build (root@)
[ 365.969676] NVRM: GPU at PCI:0000:01:00: GPU-4e391288-897c-ba5d-6944-dfbea55ebcfa
[ 365.969680] NVRM: GPU Board Serial Number: 0
[ 365.969681] NVRM: Xid (PCI:0000:01:00): 31, pid=13705, name=UnrealEditor, channel 0x0000000c, intr 00000000. MMU Fault: ENGINE GRAPHICS GPC2 GPCCLIENT_PROP_0 faulted @ 0x0_00000000. Fault is of type FAULT_PDE ACCESS_TYPE_VIRT_READ

Log line in Unreal: LogVulkanRHI: AcquireNextImage() failed due to the outdated swapchain, not even attempting to present.

Sometimes I get other slightly different errors in Unreal, but they all yield the same error in dmesg.

Arch Linux, Kernel 7.0.8-arch1-1, X11 session, B650 MB, Ryzen 7800X3d, 64GB DDR5 @6200MT6200MT/s. Works with the same driver and the “old” 3080FE. Since switching to the 5070TI, one game that used to work now XIDs with 109 - maybe related. No such issues on Windows 10 with the same Unreal Engine version and the same project.

Full dmesg: https://paste.c-net.org/SheldonBethany
Full UE Log: https://paste.c-net.org/SeekersKinkle

Setting kernel parameters ommu=soft, amd_iommu=off or amd_iommu=fullflush does also not prevent this.

Also posted to the Arch Linux Forums: Xid 31 Vulkan Crash on 5070ti/nvidia-open/unreal engine 5.7 / Kernel & Hardware / Arch Linux Forums
Also added to a roughly similar sounding Bug report in nvidia-open: Xid (PCI:0000:2b:00): 31 MMU Fault: ENGINE GRAPHICS GPC6 GPCCLIENT_T1_13 faulted @ 0x6f17_04027000. Fault is of type FAULT_PDE ACCESS_TYPE_VIRT_WRITE · Issue #1030 · NVIDIA/open-gpu-kernel-modules · GitHub

Anyone got pointers/Ideas or workarounds? Any more logs that I should provide? Issues is easily reproducible.

Edit: I also ahve a notebook with a 1650 Max-Q in it. On nvidia-open that has the same behaviour, on nvidia 580xx it doesn’t. Now I wonder why my 3080 has worked with nvidia-open…

Update: Using the 610 beta drivers, I still have the error, but it at least is a bit more verbose:

NVRM: Xid (PCI:0000:01:00): 31, pid=10174, name=UnrealEditor, channel 0x0000000a, intr 00000000. MMU Fault: ENGINE GRAPHICS GPC2 GPCCLIENT_PROP_0 faulted @ 0x0_00002000. Fault is of type FAULT_PDE ACCESS_TYPE_VIRT_READ

I had the same exact issue I have a 5070 and I was getting crashes anytime I open some sort of menu for me it was just turning off smooth motion in the nvidia app, I had it globally enabled because I like to get more frames in games turning that off fixed it

Sadly not the solution. Running UE with `NVPRESENT_ENABLE_SMOOTH_MOTION=0 unrealengine` doesn’t change a thing, and AFIK Smooth Motion under Linux is disabled by default anyways.

That’s nice and all, but that App is not available in Linux. All I have is Env Vars, and again, that seems to be disabled by default on Linux, and even if I disable it explicitly, the crashes still occur.