protonscr

Warhammer 40,000: Darktide VK_ERROR_DEVICE_LOST on RX 5700 XT / Navi10 with VKD3D-Proton

vkd3dopen
HansKristian-Work/vkd3d-proton#3133 · opened 2026-06-29 by UsrBern · updated 2026-07-18 · 9 comments · github
UUsrBern 2026-06-29 github

Cannot play Darktide. Game reaches post-login load, then VKD3D reports VK_ERROR_DEVICE_LOST and the GPU crashes.

When launching the game passes through the intro screen and cinematic just fine until I reach the start menu. After I press space to start, the game screen goes black for a moment, audio from the game starts playing, and before crashing the game shows me a start menu frame again

Software information

Game: Warhammer 40.000: Darktide

Launch options tested:

  • PROTON_LOG=1 %command%
  • PROTON_LOG=1 RADV_DEBUG=nodcc %command%
  • PROTON_LOG=1 VKD3D_CONFIG=single_queue,no_upload_hvv,nodxr VKD3D_FRAME_RATE=60 %command%

System information

  • GPU: RX 5700 XT / Navi10
  • Driver: Mesa/RADV 26.1.3 and AMD open-source driver 2.0.349
  • Wine version: GE-Proton 10-31 and 10-32
  • VKD3D-Proton version: 3.0.0 / build 6c098700763cc8c
  • Linux Kernel: 7.0.0-14
==========
VULKANINFO
==========

Vulkan Instance Version: 1.3.275


Instance Extensions: count = 25
-------------------------------
VK_EXT_acquire_drm_display             : extension revision 1
VK_EXT_acquire_xlib_display            : extension revision 1
VK_EXT_debug_report                    : extension revision 10
VK_EXT_debug_utils                     : extension revision 2
VK_EXT_direct_mode_display             : extension revision 1
VK_EXT_display_surface_counter         : extension revision 1
VK_EXT_headless_surface                : extension revision 1
VK_EXT_layer_settings                  : extension revision 2
VK_EXT_surface_maintenance1            : extension revision 1
VK_EXT_swapchain_colorspace            : extension revision 5
VK_KHR_device_group_creation           : extension revision 1
VK_KHR_display                         : extension revision 23
VK_KHR_external_fence_capabilities     : extension revision 1
VK_KHR_external_memory_capabilities    : extension revision 1
VK_KHR_external_semaphore_capabilities : extension revision 1
VK_KHR_get_display_properties2         : extension revision 1
VK_KHR_get_physical_device_properties2 : extension revision 2
VK_KHR_get_surface_capabilities2       : extension revision 1
VK_KHR_portability_enumeration         : extension revision 1
VK_KHR_surface                         : extension revision 25
VK_KHR_surface_protected_capabilities  : extension revision 1
VK_KHR_wayland_surface                 : extension revision 6
VK_KHR_xcb_surface                     : extension revision 6
VK_KHR_xlib_surface                    : extension revision 6
VK_LUNARG_direct_driver_loading        : extension revision 1

Instance Layers: count = 11
---------------------------
VK_LAYER_AMD_switchable_graphics_64 AMD switchable graphics layer                                1.4.313  version 1
VK_LAYER_INTEL_nullhw               INTEL NULL HW                                                1.1.73   version 1
VK_LAYER_KHRONOS_validation         Khronos Validation Layer                                     1.3.275  version 1
VK_LAYER_MESA_anti_lag              Open-source implementation of the VK_AMD_anti_lag extension. 1.4.303  version 1
VK_LAYER_MESA_device_select         Linux device selection layer                                 1.4.303  version 1
VK_LAYER_MESA_overlay               Mesa Overlay layer                                           1.4.303  version 1
VK_LAYER_MESA_screenshot            Mesa Screenshot layer                                        1.4.303  version 1
VK_LAYER_VALVE_steam_fossilize_32   Steam Pipeline Caching Layer                                 1.3.207  version 1
VK_LAYER_VALVE_steam_fossilize_64   Steam Pipeline Caching Layer                                 1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_32     Steam Overlay Layer                                          1.3.207  version 1
VK_LAYER_VALVE_steam_overlay_64     Steam Overlay Layer                                          1.3.207  version 1

Devices:
========
GPU0:
	apiVersion         = 1.4.313
	driverVersion      = 2.0.349
	vendorID           = 0x1002
	deviceID           = 0x731f
	deviceType         = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
	deviceName         = AMD Radeon RX 5700 XT
	driverID           = DRIVER_ID_AMD_OPEN_SOURCE
	driverName         = AMD open-source driver
	driverInfo         = 2025.Q2.1 (LLPC)
	conformanceVersion = 1.4.1.3
	deviceUUID         = 00000000-0300-0000-0000-000000000000
	driverUUID         = 414d442d-4c49-4e55-582d-445256000000
GPU1:
	apiVersion         = 1.4.313
	driverVersion      = 2.0.349
	vendorID           = 0x1002
	deviceID           = 0x164e
	deviceType         = PHYSICAL_DEVICE_TYPE_INTEGRATED_GPU
	deviceName         = AMD Radeon Graphics
	driverID           = DRIVER_ID_AMD_OPEN_SOURCE
	driverName         = AMD open-source driver
	driverInfo         = 2025.Q2.1 (LLPC)
	conformanceVersion = 1.4.1.3
	deviceUUID         = 00000000-0d00-0000-0000-000000000000
	driverUUID         = 414d442d-4c49-4e55-582d-445256000000
Graphics:
  Device-1: AMD Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]
    vendor: ASUSTeK driver: amdgpu v: kernel arch: RDNA-1 pcie: speed: 16 GT/s
    lanes: 16 ports: active: DP-1,HDMI-A-1 empty: DP-2,DP-3 bus-ID: 03:00.0
    chip-ID: 1002:731f
  Device-2: AMD Raphael vendor: ASUSTeK driver: amdgpu v: kernel
    arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 ports: active: none empty: DP-4,
    DP-5, HDMI-A-2, Writeback-1 bus-ID: 0d:00.0 chip-ID: 1002:164e
    temp: 42.0 C
  Display: x11 server: X.Org v: 21.1.11 with: Xwayland v: 24.1.6 driver: X:
    loaded: amdgpu unloaded: fbdev,modesetting,radeon,vesa dri: radeonsi
    gpu: amdgpu display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1080 s-dpi: 96
  Monitor-1: DP-1 mapped: DisplayPort-0 pos: primary,left
    model: Samsung LS24DG30X res: 1920x1080 dpi: 93 diag: 604mm (23.8")
  Monitor-2: HDMI-A-1 mapped: HDMI-A-0 pos: right model: LG (GoldStar) IPS
    FULLHD res: 1920x1080 dpi: 102 diag: 551mm (21.7")
  API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: radeonsi
    device: 2 drv: swrast gbm: drv: radeonsi surfaceless: drv: radeonsi x11:
    drv: radeonsi inactive: wayland
  API: OpenGL v: 4.6 vendor: amd mesa v: PPA glx-v: 1.4 direct-render: yes
    renderer: AMD Radeon RX 5700 XT (radeonsi navi10 ACO DRM 3.64
    7.0.0-14-generic) device-ID: 1002:731f
  API: Vulkan v: 1.3.275 surfaces: xcb,xlib device: 0 type: discrete-gpu
    driver: N/A device-ID: 1002:731f device: 1 type: integrated-gpu driver: N/A
    device-ID: 1002:164e

Log files

steam-1361210.log

console-2026-06-29-02.44.54-37d76643-d4d4-4c92-a9b0-c1b6dfb5d373.log

darktide-kernel-gpu.log

Mmengchenli1980 2026-07-14 github

@UsrBern
I tested with your exact environment: GE-Proton10-32 + Mesa 26.1.3 + kernel 7.0.0-14. My OS is Ubuntu 26.04 with GNOME desktop (Xwayland surface). The hardware setups I used are:

  1. A 5800U industrial board (with Vega 8 2G, GCN architecture).
  2. A desktop PC (RX 7600 8G, RDNA3 architecture).

I did not encounter any issues. I was able to successfully log into the hub, enter the game, and play for 5 hours without a single crash.According to the kernel log, your AMD graphics card suddenly crashed: amdgpu 0000:03:00.0 (NAVI10) AMDGPU device coredump file has been created. There could be many specific causes for this, ranging from rendering bugs to swapchain issues in your system. I highly suspect a swapchain-related issue on your OS environment is more probable. Could you try changing or reinstalling to a clean Ubuntu 26.04 or Ubuntu 24.04 for further testing?

UUsrBern 2026-07-14 github

@mengchenli1980

I managed to solve the issue on my end by adding VKD3D_VULKAN_DEVICE=0 as a launch option and changing my Linux kernel. If I remove that launch option now the game crashes again.

Speaking of rendering issues, I do have those. Game items icons won't render completely or correctly, and in missions my weapons and sometimes parts of the environment will look polygonal and unrendered.

Mmengchenli1980 2026-07-15 github

@UsrBern The parameter VKD3D_VULKAN_DEVICE=0 forces VKD3D-Proton to explicitly select the first Vulkan physical device in the system. It is highly possible that due to using the extremely aggressive Kernel 7.0 in a multi-GPU environment ( a CPU with integrated graphics alongside a discrete 5700XT), the kernel 7.0 driver caused confusion in device enumeration. As a result, VKD3D might have chosen the wrong device by default, ultimately leading to the device loss. Forcing the choice of device 0, combined with switching to a more stable kernel, successfully bypassed this issue.

UUsrBern 2026-07-15 github

@mengchenli1980 Oh damn it, that's an oversight with the Kernel in my bug report, apologies. BEFORE I made that report, I was facing the issue on kernel 6.8.

The kernel I switched TO was 7.0, but it only started working after the VULKAN_DEVICE parameter. As it stands right now Darktide works on that Kernel and with that parameter. (Well I say "works" but literally as I type this I'm having issue again. This time the loading skull appears at the bottom for a split second and then it just blackscreens permanently until I stop the game from Steam).

EDIT: Just fixed that blackscreen issue by switching to proton-EM-10.0-34.

Mmengchenli1980 2026-07-16 github

@UsrBern It is highly likely that you have a multi-GPU setup, causing vkd3d to get confused and use the wrong GPU, and forcing it to use the discrete card via VKD3D_VULKAN_DEVICE=0 makes it run.

UUsrBern 2026-07-16 github

@mengchenli1980 I mean you're technically correct because there's the integrated GPU that I never use. Beyond that I only have my AMD RX 5700 XT. But why is Darktide the only game with this issue?

Mmengchenli1980 2026-07-17 github

@UsrBern I am not clear about this issue either, it might be that this game triggered the multi-GPU problem, while other games just didn't trigger it. If you want to know the detailed reason it would be very troublesome, it requires setting up an environment to use gdb to single-step trace and debug different versions of vkd3d-proton source code, and then find out under a specific multi-GPU environment, where this game triggered this problem, and why the new version of vkd3d-proton avoided this device enumeration problem. And the testing environment is also very limited, it can only be reproduced under your machine, my machine cannot reproduce it, because I have tested it, and this problem never occurred.

UUsrBern 2026-07-17 github

@mengchenli1980 I guess I could try that eventuallyTM. When I'm less busy. I'll keep it in mind.

Mmengchenli1980 2026-07-18 github

@UsrBern Sounds good. Since that launch option gets the game running for you, enjoy the game!