protonscr

ELDEN RING hangs/crashes on RX 9060 XT (RDNA4) after out-of-band queue allocation failures

vkd3dopen
HansKristian-Work/vkd3d-proton#3174 · opened 2026-07-27 by LeviKv003 · updated 2026-08-26 · 3 comments · github
LLeviKv003 2026-07-27 github

ELDEN RING never renders a window on RX 9060 XT (RDNA4). eldenring.exe pins one CPU core, dGPU usage stays near 0%, and the process is eventually torn down. On one run (Proton 9.0, Steam Overlay disabled) it crashed instead with EXCEPTION_INT_DIVIDE_BY_ZERO inside eldenring.exe, right after these vkd3d-proton warnings:

d3d12_device_create_vkd3d_queues: Could not allocate an out of band queue for queue family 0/1/3.
d3d12_device_caps_init_feature_options1: TotalLaneCount = 2048, may be inaccurate.

Reproduced on GE-Proton11-3, Proton 9.0-4, and Proton Experimental alike. vkcube runs fine on the same system, and no amdgpu ring timeout/reset ever appears in the kernel log, so this looks CPU-side rather than a real GPU hang.

Software information

ELDEN RING, Steam AppID 1245620, default launch options.

System information

  • GPU: AMD Radeon RX 9060 XT 16GB (RADV GFX1200)
  • Driver: Mesa 26.0.3-1ubuntu1
  • Wine version: wine-9.0 / wine-staging 11.0 (both tested)
  • VKD3D-Proton version: 2.14.0 (d686616d170f510) and 3.1.0 (3dfc6f07d0953b1), both affected

Log files

Attached log (Proton Experimental run, ends in the hang): https://gist.github.com/LeviKv003/6a50eb7913ddaf92d28fd296cd39597d

The divide-by-zero crash backtrace (from a separate Proton 9.0 run, log not preserved) was: fault at eldenring.exe+0x16DDCDC, rax=0 at the divide.

LLeviKv003 2026-07-27 github

Found a possibly related issue: #2016 (Intel Arc/i915), where ELDEN RING hangs/freezes due to Resizable BAR causing the memory heap to be split in a way that confuses vkd3d-proton's allocator (VkPhysicalDeviceMemoryProperties shows extra/oddly-sized heaps, allocations from the exhausted small heap don't fall back correctly).

On my system BAR is fully sized to VRAM (amdgpu 0000:03:00.0: [drm] Detected VRAM RAM=16304M, BAR=16384M), so ReBAR looks correctly configured on the surface. I tried capturing VKD3D_CONFIG=log_memory_budget output to compare heap layout with that issue, but the run that had this flag set failed earlier than usual (before vkd3d-proton even initialized), so I don't have a heap dump to share yet. Happy to try again and post it if useful, or to try disabling ReBAR as a test if that's a plausible lead here too.

LLeviKv003 2026-07-27 github

Found what looks like the actual root cause. With VKD3D_CONFIG=log_memory_budget, this run got much further than before — it actually created the swapchain (dxgi_vk_swap_chain_init: Creating swapchain (1920 x 1080), BufferCount = 3) — but immediately after, the log fills with 20832 repeats (over ~17s) of:

warn:vkd3d-proton:d3d12_resource_validate_desc: Invalid alignment 4096 for buffer resource. Must be 0 or D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT.
warn:vkd3d-proton:d3d12_device_GetResourceAllocationInfo3: Invalid resource desc.

This comes from libs/vkd3d/resource.c (~line 3296):

case D3D12_RESOURCE_DIMENSION_BUFFER:
    ...
    if (desc->Alignment != 0 && desc->Alignment != D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT)
        WARN("Invalid alignment %"PRIu64" for buffer resource. Must be 0 or D3D12_DEFAULT_RESOURCE_PLACEMENT_ALIGNMENT.\n", ...);

ELDEN RING is repeatedly calling GetResourceAllocationInfo3 requesting alignment=4096 for a buffer, which this validation only allows to be 0 or 65536. Since the call is rejected every time, the game appears to spin retrying it (matches the CPU-pegged/GPU-idle symptom exactly), and this is likely what leads to the divide-by-zero crash reported above when it eventually gives up and uses a bad/zero allocation size.

4096-byte alignment for buffers is part of D3D12's small resource placement support (relevant to GetResourceAllocationInfo3/D3D12_RESOURCE_ALLOCATION_INFO1), which real Windows drivers support but this validation path doesn't seem to allow. Could this be the missing piece for RDNA4/GFX1200 (and possibly other) compatibility here, independent of the ReBAR angle from #2016?

Heap layout for reference (looked sane, not split like in #2016):

Memory heap #0, size 7290 MiB, budget: 7111 MiB, usage: 16 MiB.
Memory heap #1 [DEVICE_LOCAL], size 16304 MiB, budget: 14962 MiB, usage: 399 MiB.
Mmengchenli1980 2026-08-26 github

@LeviKv003 I used the same environment as you: RX 9060 XT 16GB (RADV GFX1200) + Driver: Mesa 26.0.3-1ubuntu1 + VKD3D-Proton version: 3.1.0 (3dfc6f07d0953b1), but I didn't get any "Invalid resource desc" warnings.

Could you provide your most recent save files at the exact crash point?Since these bugs are likely tied to the game's specific environment. This includes screen settings, image quality levels. Therefore, besides the save files, the configuration files are also required. please package the entire users directory (which includes both saves and config files) into a tarball using the following command:

tar -zcvf EldenRing.tar.gz ~/.steam/debian-installation/steamapps/compatdata/1245620/pfx/drive_c/users/steamuser/AppData/Roaming/EldenRing

Also, could you provide detailed instructions on how to reproduce the 'Invalid resource desc' from that save point, such as which specific battle to enter or what specific actions trigger the issue? Thanks.

Proton versions

Launch options