Solution for Witcher 3 with RT under 610 drivers

I tested a working solution to Witcher 3 crashes with RT enabled. Thanks to the report from ponyo on ProtonDB.

He is correct that a combination of Proton GE (in my case 1:GE_Proton10_34-1 on Archlinux) and adding option PROTON_ENABLE_NVAPI=1 VKD3D_CONFIG=extra_rtas_sync fixes the crashes, at least for me. Optionally I was even able to tinker the DLSS settings with PROTON_ENABLE_NGX_UPDATER=1and load the latest presets via the usual envvars, accessing model k (DLSS SS Quality) or model m (DLSS SS performance).

From ponyo’s report:

ROOT CAUSE

PROTON_LOG=1 VKD3D_DEBUG=warn showed, ~10s before VK_ERROR_DEVICE_LOST: vkd3d_va_map_place_acceleration_structure: Attempted to place non-TLAS on VA #14ba05a00 previously used by TLAS, marking mutated The game reuses TLAS memory without inserting barriers, so rays traverse an invalid BVH and stall the RT core → GPU context switch timeout. extra_rtas_sync inserts the RTAS barriers the game omits.

CAVEATS

  • Mitigation, not a cure: an Xid 109 can still fire, but the GPU now recovers and the game survives instead of hanging dead.
  • If hangs persist, try: VKD3D_CONFIG=extra_rtas_sync,single_queue
  • ALT-TAB still kills the session (swapchain never restores, black screen).
  • Ignore old guides recommending VKD3D_CONFIG=dxr,dxr11 — those options no longer exist in modern vkd3d-proton.

@amrits I believe you said you had a bug ticket for it under number 5990600.