I am hitting this same issue i think,
Bazzite 44, Nvidia RTX 3060, 615.71.09. In case the info is helpful.
I have a close issue to that same Xid error on wayland:
Driver is: 615.71.09
Kernel: 7.2.6-arch2-1
Card: NVIDIA Corporation AD102 [GeForce RTX 4070 Ti SUPER] (rev a1)
For my setup the switch to DX11 let it run stable for several hours.
For what its worth. dx11 did not help my setup at all. Game runs splendidly on my non-nvidia laptop (that ones got an amd ryzen AI chip, framework 13).
The robot and I put a little more work into this over coffee this morning.
I have some game gx.log's that help eloborate. These are both with DX11 set, as thats what I was testing after @theknurz 's comment.
9/20 09:56:14.344 LogOpen
9/20 09:56:14.345 Mapping thread (ID 2112) as 0
9/20 09:56:14.345 [0] World of Warcraft Beta x86_64 1.60.1.69913
9/20 09:56:14.346 [0] Windows 10 (10.0.19045.1165) [Wine (11.0.0) Linux 7.2.4-ogc3.1.fc44.x86_64] x86_64
9/20 09:56:14.346 [0] AMD Ryzen 7 5800 8-Core Processo | Sockets:1 Cores:8 Threads:16 Hybrid:false
9/20 09:56:14.346 [0] Max Frequency: 4.7GHz | Vendor:AuthenticAMD | Microcode:0x0
9/20 09:56:14.346 [0] Family:0x19 Model:0x21, Stepping:0x0
9/20 09:56:14.346 [0] Features: sse sse2 sse3 ssse3 sse41 sse42 avx avx2
9/20 09:56:14.346 [0] movbe popCnt bmi1 bmi2 lzcnt adx f16c fma aesni clmul sha vaesni vclmul rdrand rdseed cmpxchg16b lahf64 prefetchw
9/20 09:56:14.346 [0] Motherboard: "0TYR0X" by "Alienware" (BIOS:Alienware version:2.3.3 date:11/15/2022)
9/20 09:56:14.347 [0] 31.2 GB System Memory
9/20 09:56:14.347 [0] ThreadPool Size: High:6 Mid:6 Low:6 PerThreadAllocator:enabled
9/20 09:56:14.347 [0] Power State Unknown - Battery Unknown
9/20 09:56:14.347 [0] Force API D3D11
9/20 09:56:17.715 [0] Adapter 0: "NVIDIA GeForce RTX 3060" 12GB family:Ampere type:Discrete location:0 driver_date:20-Sep-2026 driver_ver:35.0.99.9999 vendor:0x10de device:0x2503 dx11:true dx12:false
9/20 09:56:17.715 [0] Monitor 0 "Default" Size(3440x1440) Pos(0, 0) Refresh Rate(100Hz)
9/20 09:56:17.715 [0] Monitor 1 "Default" Size(1440x2560) Pos(3440, -892) Refresh Rate(75Hz)
9/20 09:56:17.715 [0] Unable to load "d3d12.dll"
9/20 09:56:17.715 [0] NVIDIA driver_version:615.71 | driver_branch:r61683_v0.9.2
9/20 09:56:17.725 [0] Choosing gpu with monitor attached: "NVIDIA GeForce RTX 3060"
9/20 09:56:17.726 [0] Disabled Settings: LOW_LATENCY_CBS
9/20 09:56:17.726 [0] GpuInfo: sm:dx_5_0, rt:None, vrs:0, bary:0, mesh:0 pull:1
9/20 09:56:18.827 [0] Invalid: GFSDK_Aftermath_EnableGpuCrashDumps Failed: Unsupported driver version - requires at least an NVIDIA R495 display driver. (Aftermath:(-1160773620))
9/20 09:56:18.827 [0] Success: Nvidia Aftermath failed to load. This will be disabled. (Prism:(0))
9/20 09:56:19.316 [0] Notify responders to DeviceCreate event
9/20 09:56:19.318 [0] Dx11 Device Create Successful (1592.7 ms)
9/20 09:56:19.318 [0] Using shader family dx_5_0
9/20 09:56:19.318 [0] UAV format support BGRA8:true RG16F:true RGBA16F:true
9/20 09:56:19.318 [0] No
9/20 09:56:19.324 [0] Detected Graphics Defaults: 5 (CPU = 7, GPU = 5, MEM = 7) WindowSize: 3440x1440
9/20 09:56:19.328 [0] GxLowLatencyMode: None
9/20 09:56:19.436 [0] Render Settings Changed. Format: RGBA16Float Size: 1x1
9/20 09:56:19.436 [0] GxLowLatencyMode: AutoDetect
9/20 09:56:23.403 [0] App is background
9/20 09:56:23.404 [0] App is foreground
9/20 09:56:23.414 [0] Render Settings Changed
9/20 09:56:23.620 [0] Periodic Gpu Status Report: Mem Budget: 1.6GB / 9.6GB (16.6%) Freq:0.31GHz Temp:48C
9/20 09:56:38.624 [0] Render Settings Changed
9/20 09:56:46.238 [0] Render Settings Changed
9/20 09:56:56.844 [0] Failure in WaitForFence
9/20 09:56:56.844 [0] Device Removed Reason: GPU Hung. Timeout when waiting for queue: Graphics (0x80070102) count:1
9/20 09:56:56.844 [0] Device Lost on NVIDIA driver version 999.99.
9/20 09:56:56.896 [0] Device context was lost. Attempting recovery. Occurrence: 1
9/20 09:56:56.902 [0] Doing GxRestart. Reason:DeviceRecovery
9/20 09:56:56.902 [0] Dx11 Device Destroy
9/20 09:57:06.906 [0] Failure in WaitForFence
9/20 09:57:16.906 [0] Failure in WaitForFence
9/20 09:57:26.906 [0] Failure in WaitForFence
9/20 09:57:26.906 [0] Notify responders to DeviceDestroy event
9/20 09:57:26.957 Mapping thread (ID 2664) as 1
9/20 09:57:26.957 [1] Invalid: Get Timestamp Disjoints Failed (HR:0x887A0001) Invalid call.
9/20 09:57:26.957 [1] Invalid: Get Timestamp Disjoints Failed (HR:0x887A0001) Invalid call.
9/20 09:57:26.957 [1] Invalid: Get Timestamp Disjoints Failed (HR:0x887A0001) Invalid call.
9/20 09:57:47.435 Mapping "WatchdogThread" (ID 2612) as 2
9/20 09:57:47.435 [2] Crash Summary: ERROR #109 (0x8510006d) A thread has become unresponsive. Freeze Detected: thread 2112 has been frozen for 20 seconds
(DBG-OPTIONS DBG-ADDR<00006ffffc90b275>("dxgi.dll") <- DBG-ADDR<00006ffff8009c02>("WowB.exe") <- DBG-ADDR<00006ffff7f67b5d>("WowB.exe") DBG-OPTIONS<>)
We noticed that the gpu was in sleep mode, and we eliminated that as a possible issue by locking it to around 2100Mhz. that didnt help, but heres the log from that if its useful:
9/20 10:14:40.057 LogOpen
9/20 10:14:40.059 Mapping thread (ID 2412) as 0
9/20 10:14:40.059 [0] World of Warcraft Beta x86_64 1.60.1.69913
9/20 10:14:40.060 [0] Windows 10 (10.0.19045.1165) [Wine (11.0.0) Linux 7.2.4-ogc3.1.fc44.x86_64] x86_64
9/20 10:14:40.060 [0] AMD Ryzen 7 5800 8-Core Processo | Sockets:1 Cores:8 Threads:16 Hybrid:false
9/20 10:14:40.060 [0] Max Frequency: 4.7GHz | Vendor:AuthenticAMD | Microcode:0x0
9/20 10:14:40.060 [0] Family:0x19 Model:0x21, Stepping:0x0
9/20 10:14:40.060 [0] Features: sse sse2 sse3 ssse3 sse41 sse42 avx avx2
9/20 10:14:40.060 [0] movbe popCnt bmi1 bmi2 lzcnt adx f16c fma aesni clmul sha vaesni vclmul rdrand rdseed cmpxchg16b lahf64 prefetchw
9/20 10:14:40.060 [0] Motherboard: "0TYR0X" by "Alienware" (BIOS:Alienware version:2.3.3 date:11/15/2022)
9/20 10:14:40.060 [0] 31.2 GB System Memory
9/20 10:14:40.060 [0] ThreadPool Size: High:6 Mid:6 Low:6 PerThreadAllocator:enabled
9/20 10:14:40.060 [0] Power State Unknown - Battery Unknown
9/20 10:14:40.060 [0] Force API D3D11
9/20 10:14:43.341 [0] Adapter 0: "NVIDIA GeForce RTX 3060" 12GB family:Ampere type:Discrete location:0 driver_date:20-Sep-2026 driver_ver:35.0.99.9999 vendor:0x10de device:0x2503 dx11:true dx12:false
9/20 10:14:43.341 [0] Monitor 0 "Default" Size(3440x1440) Pos(0, 0) Refresh Rate(100Hz)
9/20 10:14:43.341 [0] Monitor 1 "Default" Size(1440x2560) Pos(3440, -892) Refresh Rate(75Hz)
9/20 10:14:43.341 [0] Unable to load "d3d12.dll"
9/20 10:14:43.341 [0] NVIDIA driver_version:615.71 | driver_branch:r61683_v0.9.2
9/20 10:14:43.354 [0] Choosing gpu with monitor attached: "NVIDIA GeForce RTX 3060"
9/20 10:14:43.354 [0] Disabled Settings: LOW_LATENCY_CBS
9/20 10:14:43.354 [0] GpuInfo: sm:dx_5_0, rt:None, vrs:0, bary:0, mesh:0 pull:1
9/20 10:14:44.440 [0] Invalid: GFSDK_Aftermath_EnableGpuCrashDumps Failed: Unsupported driver version - requires at least an NVIDIA R495 display driver. (Aftermath:(-1160773620))
9/20 10:14:44.440 [0] Success: Nvidia Aftermath failed to load. This will be disabled. (Prism:(0))
9/20 10:14:44.907 [0] Notify responders to DeviceCreate event
9/20 10:14:44.909 [0] Dx11 Device Create Successful (1556.0 ms)
9/20 10:14:44.909 [0] Using shader family dx_5_0
9/20 10:14:44.909 [0] UAV format support BGRA8:true RG16F:true RGBA16F:true
9/20 10:14:44.909 [0] No
9/20 10:14:44.916 [0] Detected Graphics Defaults: 5 (CPU = 7, GPU = 5, MEM = 7) WindowSize: 3440x1440
9/20 10:14:44.918 [0] GxLowLatencyMode: None
9/20 10:14:45.001 [0] Render Settings Changed. Format: RGBA16Float Size: 1x1
9/20 10:14:45.001 [0] GxLowLatencyMode: AutoDetect
9/20 10:14:47.640 [0] App is background
9/20 10:14:47.640 [0] App is foreground
9/20 10:14:47.645 [0] Render Settings Changed
9/20 10:14:47.817 [0] Periodic Gpu Status Report: Mem Budget: 1.8GB / 9.7GB (19.0%) Freq:1.90GHz Temp:61C
9/20 10:15:00.922 [0] Render Settings Changed
9/20 10:15:08.691 [0] Render Settings Changed
9/20 10:15:18.909 [0] Failure in WaitForFence
9/20 10:15:18.909 [0] Device Removed Reason: GPU Hung. Timeout when waiting for queue: Graphics (0x80070102) count:1
9/20 10:15:18.909 [0] Device Lost on NVIDIA driver version 999.99.
9/20 10:15:18.967 [0] Device context was lost. Attempting recovery. Occurrence: 1
9/20 10:15:18.973 [0] Doing GxRestart. Reason:DeviceRecovery
9/20 10:15:18.973 [0] Dx11 Device Destroy
9/20 10:15:28.977 [0] Failure in WaitForFence
9/20 10:15:38.977 [0] Failure in WaitForFence
9/20 10:15:48.977 [0] Failure in WaitForFence
9/20 10:15:48.977 [0] Notify responders to DeviceDestroy event
9/20 10:15:49.035 Mapping thread (ID 2772) as 1
9/20 10:15:49.035 [1] Invalid: Get Timestamp Disjoints Failed (HR:0x887A0001) Invalid call.
9/20 10:15:49.035 [1] Invalid: Get Timestamp Disjoints Failed (HR:0x887A0001) Invalid call.
9/20 10:15:49.035 [1] Invalid: Get Timestamp Disjoints Failed (HR:0x887A0001) Invalid call.
9/20 10:16:10.145 Mapping "WatchdogThread" (ID 2708) as 2
9/20 10:16:10.145 [2] Crash Summary: ERROR #109 (0x8510006d) A thread has become unresponsive. Freeze Detected: thread 2412 has been frozen for 20 seconds
(DBG-OPTIONS DBG-ADDR<00006ffffc90b275>("dxgi.dll") <- DBG-ADDR<00006ffff8009c02>("WowB.exe") <- DBG-ADDR<00006ffff7f67b5d>("WowB.exe") DBG-OPTIONS<>)
This lead the robot to suggest that this is not a a shader compilation issue.
Also just to hilight, we tried ruling out the clock state switch from gpu sleep as a possibility by locking the clock at around its maximum, that had not effect.
Also, if it matters. I am launching battle.net from lutris, using the latest proton-ge runner, and launching WoW from the battle.net UI.
This strikes me as weird:
9/20 09:56:56.844 [0] Device Removed Reason: GPU Hung. Timeout when waiting for queue: Graphics (0x80070102) count:1
9/20 09:56:56.844 [0] Device Lost on NVIDIA driver version 999.99.
That version 999.99 feels like we're actually getting a garbled response or crash from the driver? Like it substituted this placeholder version instead of the actual driver version. Maybe we're dealing with a driver problem and not userspace?
Another data point, on Ampere rather than Blackwell, and not zone-specific here.
System
nvidia-open-dkms1.60.1.69913, Battle.net prefix (not Steam)Symptom
Xid 109 CTX SWITCH TIMEOUT roughly 20-90 s after entering the world, 8 occurrences today. gx.log shows:
Failure in WaitForFence
Device Removed Reason: GPU Hung. Timeout when waiting for queue: Graphics (0x80070102) count:1
Device context was lost. Attempting recovery. Occurrence: 1
Doing GxRestart. Reason:DeviceRecovery
Recovery never completes, so the watchdog fires ERROR [#109](/issue/HansKristian-Work/vkd3d-proton/109) A thread has become unresponsive after 20 s and the client has to be killed.
Ruled out, each verified in gx.log or nvidia-smi on the failing run
| Variable | Values tried | Result |
|---|---|---|
| Graphics API | D3D12 (vkd3d) / D3D11 (DXVK) | hangs on both |
| Driver | 615.71.09 / 610.57.04 | hangs on both |
| Power limit | 250 W / 400 W (default) | hangs on both |
| Core clock | unlocked / nvidia-smi -lgc 300,1600 |
hangs on both |
| Graphics quality | 6 / 4 (Detected Graphics Defaults: 5) |
hangs on both |
| Secondary lighting | graphicsLightMode 2 / 1 |
hangs on both |
| DXVK | dxvk.enableGraphicsPipelineLibrary=True |
no effect |
Two observations that may narrow it
Not zone-specific for me. This issue reports Dun Morogh. I reproduce it in Dun Morogh, Durotar, and Tirisfal Glades, on three separate characters. Loading a different zone first does not help.
Retail WoW is stable on the identical prefix, driver, and GPU. The only rendering difference I can see in gx.log is latency mode:
GxLowLatencyMode: NoneGxLowLatencyMode: None then immediately GxLowLatencyMode: AutoDetectRetail also reports rt:DXR 1.1, vrs:2, mesh:1 against the beta's rt:None, vrs:0, mesh:0, so the two clients take quite different paths.
Happy to gather any trace or run a patched build.
9/21 17:58:43.526 LogOpen
9/21 17:58:43.527 Mapping thread (ID 2576) as 0
9/21 17:58:43.527 [0] World of Warcraft Beta x86_64 1.60.1.69913
9/21 17:58:43.529 [0] Windows 10 (10.0.19045.5796) [Wine (11.0.0) Linux 7.2.6-arch2-1] x86_64
9/21 17:58:43.529 [0] AMD Ryzen 7 7800X3D 8-Core Processo | Sockets:1 Cores:8 Threads:16 Hybrid:false
9/21 17:58:43.529 [0] Max Frequency: 5.1GHz | Vendor:AuthenticAMD | Microcode:0x0
9/21 17:58:43.529 [0] Family:0x19 Model:0x61, Stepping:0x2
9/21 17:58:43.529 [0] Features: sse sse2 sse3 ssse3 sse41 sse42 avx avx2 avx512f avx512dq avx512ifma avx512cd avx512bw avx512vl avx512vbmi avx512vbmi2 avx512vnni avx512bitalg avx512vpopcntdq avx512bf16
9/21 17:58:43.529 [0] movbe popCnt bmi1 bmi2 lzcnt adx f16c fma aesni clmul sha gfni vaesni vclmul rdrand rdseed cmpxchg16b lahf64 prefetchw
9/21 17:58:43.529 [0] Motherboard: "B650 GAMING X AX V2" by "Gigabyte Technology Co., Ltd." (BIOS:American Megatrends International, LLC. version:F5 date:04/10/2024)
9/21 17:58:43.529 [0] 30.5 GB System Memory
9/21 17:58:43.529 [0] ThreadPool Size: High:6 Mid:6 Low:6 PerThreadAllocator:enabled
9/21 17:58:43.529 [0] On AC Power - Battery Not Present
9/21 17:58:44.503 [0] Adapter 0: "NVIDIA GeForce RTX 4070 Ti SUPER" 16GB family:Ada type:Discrete location:0 driver_date:21-Sep-2026 driver_ver:35.0.99.9999 vendor:0x10de device:0x2689 dx11:true dx12:true
9/21 17:58:44.503 [0] Monitor 0 "Display1" Size(2560x1440) Pos(0, 0) Refresh Rate(360Hz)
9/21 17:58:44.503 [0] Monitor 1 "Display2" Size(1440x2560) Pos(-1440, -812) Refresh Rate(144Hz)
9/21 17:58:44.503 [0] Monitor 2 "Display3" Size(2560x1440) Pos(2560, -173) Refresh Rate(144Hz)
9/21 17:58:44.503 [0] NVIDIA driver_version:615.71 | driver_branch:r59596_proton-11.0-2c+
9/21 17:58:44.521 [0] Choosing gpu with monitor attached: "NVIDIA GeForce RTX 4070 Ti SUPER"
9/21 17:58:44.521 [0] Disabled Settings: LOW_LATENCY_CBS
9/21 17:58:44.521 [0] GpuInfo: sm:dx_5_0, rt:None, vrs:0, bary:0, mesh:0 pull:1
9/21 17:58:45.221 [0] Invalid: GFSDK_Aftermath_EnableGpuCrashDumps Failed: Unsupported driver version - requires at least an NVIDIA R495 display driver. (Aftermath:(-1160773620))
9/21 17:58:45.221 [0] Success: Nvidia Aftermath failed to load. This will be disabled. (Prism:(0))
9/21 17:58:45.583 [0] Notify responders to DeviceCreate event
9/21 17:58:45.585 [0] Dx11 Device Create Successful (1063.9 ms)
9/21 17:58:45.585 [0] Using shader family dx_5_0
9/21 17:58:45.585 [0] UAV format support BGRA8:true RG16F:true RGBA16F:true
9/21 17:58:45.585 [0] No
9/21 17:58:45.590 [0] Detected Graphics Defaults: 7 (CPU = 7, GPU = 7, MEM = 7) WindowSize: 2560x1440
9/21 17:58:45.593 [0] GxLowLatencyMode: None
9/21 17:58:45.665 [0] Render Settings Changed. Format: RGBA16Float MSAA: 8x Size: 1x1
9/21 17:58:45.665 [0] GxLowLatencyMode: AutoDetect
9/21 17:58:47.034 [0] App is background
9/21 17:58:47.034 [0] App is foreground
9/21 17:58:47.040 [0] Render Settings Changed
9/21 17:58:47.163 [0] Periodic Gpu Status Report: Mem Budget: 1.7GB / 12.2GB (13.7%) Freq:2.65GHz Temp:47C
9/21 17:59:01.987 [0] Render Settings Changed
9/21 17:59:13.834 [0] Render Settings Changed
9/21 17:59:53.430 [0] App is background
9/21 18:02:16.851 [0] App is foreground
9/21 18:03:47.175 [0] Periodic Gpu Status Report: Mem Budget: 5.6GB / 12.2GB (46.2%) Freq:2.81GHz Temp:56C
9/21 18:04:03.678 [0] App is background
9/21 18:04:14.619 [0] App is foreground
9/21 18:05:38.895 [0] App is background
9/21 18:05:47.792 [0] App is foreground
9/21 18:05:54.826 [0] App is background
9/21 18:06:12.078 [0] App is foreground
9/21 18:06:28.427 [0] App is background
9/21 18:06:47.239 [0] App is foreground
9/21 18:06:50.134 [0] App is background
9/21 18:06:51.747 [0] Dx11 Device Destroy
9/21 18:06:51.751 [0] Notify responders to DeviceDestroy event
9/21 18:06:51.917 [0] Device Destroy Successful (170.5 ms)
9/21 18:06:51.946 [0] GxShutdown
A successful run, game runs stable, gets some stuttering when entering a layer w. some shaders to compile.
Ive used the steam-provided Proton11.0 for that run.
9/21 18:10:06.839 LogOpen
9/21 18:10:06.840 Mapping thread (ID 2400) as 0
9/21 18:10:06.840 [0] World of Warcraft Beta x86_64 1.60.1.69913
9/21 18:10:06.841 [0] Windows 10 (10.0.19045.5796) [Wine (11.0.0) Linux 7.2.6-arch2-1] x86_64
9/21 18:10:06.841 [0] AMD Ryzen 7 7800X3D 8-Core Processo | Sockets:1 Cores:8 Threads:16 Hybrid:false
9/21 18:10:06.841 [0] Max Frequency: 5.1GHz | Vendor:AuthenticAMD | Microcode:0x0
9/21 18:10:06.841 [0] Family:0x19 Model:0x61, Stepping:0x2
9/21 18:10:06.841 [0] Features: sse sse2 sse3 ssse3 sse41 sse42 avx avx2 avx512f avx512dq avx512ifma avx512cd avx512bw avx512vl avx512vbmi avx512vbmi2 avx512vnni avx512bitalg avx512vpopcntdq avx512bf16
9/21 18:10:06.841 [0] movbe popCnt bmi1 bmi2 lzcnt adx f16c fma aesni clmul sha gfni vaesni vclmul rdrand rdseed cmpxchg16b lahf64 prefetchw
9/21 18:10:06.841 [0] Motherboard: "B650 GAMING X AX V2" by "Gigabyte Technology Co., Ltd." (BIOS:American Megatrends International, LLC. version:F5 date:04/10/2024)
9/21 18:10:06.841 [0] 30.5 GB System Memory
9/21 18:10:06.841 [0] ThreadPool Size: High:6 Mid:6 Low:6 PerThreadAllocator:enabled
9/21 18:10:06.841 [0] Power State Unknown - Battery Unknown
9/21 18:10:07.839 [0] Adapter 0: "NVIDIA GeForce RTX 4070 Ti SUPER" 16GB family:Ada type:Discrete location:0 driver_date:21-Sep-2026 driver_ver:35.0.99.9999 vendor:0x10de device:0x2689 dx11:true dx12:true
9/21 18:10:07.839 [0] Monitor 0 "Default" Size(2560x1440) Pos(0, 0) Refresh Rate(360Hz)
9/21 18:10:07.839 [0] Monitor 1 "Default" Size(1440x2560) Pos(-1440, -812) Refresh Rate(144Hz)
9/21 18:10:07.839 [0] Monitor 2 "Default" Size(2560x1440) Pos(2560, -173) Refresh Rate(144Hz)
9/21 18:10:07.839 [0] NVIDIA driver_version:615.71 | driver_branch:r61683_v0.9.2
9/21 18:10:07.855 [0] Choosing gpu with monitor attached: "NVIDIA GeForce RTX 4070 Ti SUPER"
9/21 18:10:07.855 [0] Disabled Settings: LOW_LATENCY_CBS
9/21 18:10:07.855 [0] GpuInfo: sm:dx_5_0, rt:None, vrs:0, bary:0, mesh:0 pull:1
9/21 18:10:08.562 [0] Invalid: GFSDK_Aftermath_EnableGpuCrashDumps Failed: Unsupported driver version - requires at least an NVIDIA R495 display driver. (Aftermath:(-1160773620))
9/21 18:10:08.562 [0] Success: Nvidia Aftermath failed to load. This will be disabled. (Prism:(0))
9/21 18:10:08.943 [0] Notify responders to DeviceCreate event
9/21 18:10:08.945 [0] Dx11 Device Create Successful (1089.7 ms)
9/21 18:10:08.945 [0] Using shader family dx_5_0
9/21 18:10:08.945 [0] UAV format support BGRA8:true RG16F:true RGBA16F:true
9/21 18:10:08.945 [0] No
9/21 18:10:08.950 [0] Detected Graphics Defaults: 7 (CPU = 7, GPU = 7, MEM = 7) WindowSize: 2560x1440
9/21 18:10:08.953 [0] GxLowLatencyMode: None
9/21 18:10:09.018 [0] Render Settings Changed. Format: RGBA16Float MSAA: 8x Size: 1x1
9/21 18:10:09.018 [0] GxLowLatencyMode: AutoDetect
9/21 18:10:10.971 [0] App is background
9/21 18:10:10.971 [0] App is foreground
9/21 18:10:10.977 [0] Render Settings Changed
9/21 18:10:11.102 [0] Periodic Gpu Status Report: Mem Budget: 1.7GB / 12.1GB (13.8%) Freq:2.65GHz Temp:50C
9/21 18:10:26.050 [0] Render Settings Changed
9/21 18:10:37.780 [0] Render Settings Changed
9/21 18:10:48.211 [0] Failure in WaitForFence
9/21 18:10:48.211 [0] Device Removed Reason: GPU Hung. Timeout when waiting for queue: Graphics (0x80070102) count:1
9/21 18:10:48.211 [0] Device Lost on NVIDIA driver version 999.99.
9/21 18:10:48.577 [0] Crash Summary: ASSERTSAFES(texture->GetSize() == C2iVector(texturePool.resolution), ...) Expected size 128x128, but got size 1x1 from at d:\BuildServer2\Builder\checkouts\0\Engine\Source\ShaderEffect\IndirectTextureArray.cpp(229)
9/21 18:10:49.631 [0] Crash Summary: ASSERTSAFES(texture->GetSize() == C2iVector(texturePool.resolution), ...) Expected size 132x132, but got size 1x1 from at d:\BuildServer2\Builder\checkouts\0\Engine\Source\ShaderEffect\IndirectTextureArray.cpp(229)
9/21 18:10:50.660 [0] Crash Summary: ASSERTSAFES(texture->GetSize() == C2iVector(texturePool.resolution), ...) Expected size 128x128, but got size 1x1 from at d:\BuildServer2\Builder\checkouts\0\Engine\Source\ShaderEffect\IndirectTextureArray.cpp(229)
Kernel-Log reads:
[18655.858530] NVRM: Xid (PCI:0000:01:00): 109, pid=83522, name=WowB.exe, channel 0x00000040, errorString CTX SWITCH TIMEOUT, Info 0xdc03d
This was my run with the GE-Proton 11.7 layer.
Same issue but on different hardware
System: Gigabyte RX 9070 XT (RDNA4, gfx1201), Mesa 26.2.2 and 26.2.3 (RADV), kernel 7.2.6-200.fc44, KDE Plasma Wayland. Same game build (1.60.1.69913, WowB.exe) via Lutris + umu + GE-Proton 11-7.
Matches your report:
Differs:
Dx11 Device Create at 20:27:16, amdgpu logs a ring timeout at 20:27:48 attributed to thread dxvk-submit, and the client recreates the Dx11 device 160 ms later. Same hang through DXVK, recovered rather than fatal.Kernel (amdgpu):
[gfxhub] page fault ... Faulty UTCL2 client ID: SQC (data) (0xa), PERMISSION_FAULTS: 0x3
ring gfx_0.0.0 timeout ... Process WowB.exe thread vkd3d_queue
GCVM_L2_PROTECTION_FAULT_STATUS is 0x00501430 in every fault over 3 days, and the faulting address is consistently in the 0x8400xxxxxxxx range. Later hangs are attributed to WoW's own threads (Disk Queue 0, ThreadPool Mid).
Ruled out: RADV_DEBUG=zerovram and nohiz, Mesa 26.2.2 → 26.2.3, lower shadow quality. Ray tracing is unavailable in-game, so DXR isn't involved.
Attached: amdgpu devcoredump, dmesg, system info.
wow-radv-bugreport-2026-09-22-2037.tar.gz
Update
9/22 21:33:24.795 [0] Dx12 Device Create Successful (276.4 ms)
I hit what looks like the same bug on an almost identical setup, and ran a workaround
matrix today (10 hangs, all Xid 109 CTX SWITCH TIMEOUT, all WowB.exe). Posting the
negative results so nobody repeats them.
| GPU | RTX 4090 |
| Driver | nvidia-open-dkms 610.57.04, and nvidia-580xx-dkms 580.178.04 (proprietary) |
| Kernel | 7.2.3-arch1-3 (Arch) |
| Proton | GE-Proton11-7, via umu-launcher (Battle.net prefix) |
| Client | WoW Classic beta, WowB.exe build 69913 |
| Compositor | Hyprland 0.56.2 (Wayland), game on XWayland, 3840x2160@120 |
Always during a world load, ~25–35 s after device creation:
gx.log: Slow Pipeline Create: 267ms, "" vs(2991147|3) ps(2990950|50)
kernel: NVRM: Xid (PCI:0000:01:00): 109, pid=N, name=WowB.exe, channel 0x4a,
errorString CTX SWITCH TIMEOUT
gx.log: Device Removed Reason: GPU Hung. Timeout when waiting for queue: Graphics (0x80070102)
gx.log: Device Lost ... Doing GxRestart. Reason:DeviceRecovery -> Dx12 Device Destroy
Renderer recovery then fails and the process takes SIGSEGV inside libnvidia-glcore
20–30 s later. 9 core dumps today.
| Change | Result |
|---|---|
SET GxApi "D3D11" (DXVK instead of vkd3d-proton) |
same hang |
DX11 + dxvk.enableGraphicsPipelineLibrary = True (confirmed graphicsPipelineLibrary : 1 in the client's DXVK log) |
same hang |
Memory clock locked (nvidia-smi -lmc, 10251 MHz held) |
same hang |
Core clock locked (nvidia-smi -lgc 2100,2790, no idle→peak transition) |
same hang |
| Window pinned to one output, fullscreen, no mid-session resolution change | same hang |
Clearing _classic_beta_/Cache |
same hang |
| 610.57.04 open → 580.178.04 proprietary | same hang |
So it is not specific to the open kernel modules, not the DX12 path, and not a clock or
power-state transition.
1. One shader pair recurs shortly before some hangs, but is not required. In 3 of the
10 hangs the last graphics event before the timeout is
Slow Pipeline Create: 231/281/267 ms, "" vs(2991147|3) ps(2990950|62 or 50) — same vs/ps
IDs, hours apart, on both 610-open and 580-proprietary. In another hang the client logged
no Slow Pipeline Create line at all and still timed out, so it is a correlation worth
a look rather than a precondition. (The client truncates gx.log per launch, so I only
have logs for 4 of the 10 runs.) In the one hang I have complete GPU telemetry for
(580.178.04), the GPU sits at 100% / 2775 MHz / ~78 W for 5 s and the timeout fires at the
end of that.
2. 580 fails more gracefully than 610-open. I sampled nvidia-smi once a second
through three of the hangs. In both sampled 610.57.04 (open) hangs, three to four
consecutive samples are missing around the Xid — the driver stopped answering an
unrelated process, i.e. the whole GPU stalled, not just the client's context. In the
sampled 580.178.04 (proprietary) hang, sampling continued uninterrupted; only the client's
channel timed out. Same bug, different blast radius, which might point at where preemption
is failing.
journalctl -k -f logs available if useful.ge-proton11-7x2 2026-09proton 11.0x1 2026-09proton 11.7x1 2026-09proton 3.0x1 2026-09RADV_DEBUG=zerovramx1 2026-09PROTON_LOGx1 2026-09VKD3D_CONFIG=breadcrumbsx1 2026-09VKD3D_CONFIG=descriptor_heapx1 2026-09VKD3D_DEBUG=warn)x1 2026-09VKD3D_SHADER_DUMP_PATHx1 2026-090x80070102x5 2026-090x8510006dx2 2026-090x887a0001x2 2026-090x80004005x1 2026-090x887a0005x1 2026-09
Software information
World of Warcraft Classic Beta, build 1.60.1.69913, launched from the Battle.net client under umu-launcher + GE-Proton 11-7. Executable is
WowB.exe(beta), notWow.exe/WoWClassic.exe.Reproduction (100 %, ~15 attempts tonight):
Dx12 Device Create, still on the loading screen or a few seconds after entering the world:Xid 109 CTX SWITCH TIMEOUT, VK_ERROR_DEVICE_LOST, game does GxRestart, then freezes.Does not reproduce:
Game settings: game defaults (graphicsQuality 6, D3D12, vsync on) and also max (quality 9, MSAA 8x) — identical behaviour. D3D11 mode (dxvk) hangs identically.
What I have already ruled out (one variable per attempt)
VKD3D_CONFIG=descriptor_heap: applied (log confirms), identical hang.WowB.exeadded toapplication_override[]andapplication_shader_quirks[]with the same flags/quirks asWoWClassic.exe(AVOID_IMAGE_BUFFER_ALIASING,DESCRIPTOR_HEAP,wow_classic_quirks); log confirms the patched DLL loaded: identical hang. So the Classic ray-query workaround is not the cause here.vkd3d-proton.cache, NVIDIA GLCache, game caches, all WTF settings; reboot; no compositor rules (Hyprland vanilla), window fullscreen or tiled — no difference.System information
Log files
Kernel:
vkd3d (VKD3D_DEBUG=warn), the device-lost reason varies between runs:
Game's own gx.log (D3D12 path), every hang:
VKD3D_CONFIG=breadcrumbsproduced no checkpoint output with the GE-Proton build. Shader dump (VKD3D_SHADER_DUMP_PATH) of the run is ~700 DXIL+SPIR-V pairs, no compile errors; I can attach it or the full vkd3d log if useful. A PROTON_LOG of this game is several GB within a minute of loading, so I have not attached one; happy to capture a filtered one on request.Since the zone dependency is so sharp (one outdoor zone hangs, the adjacent indoor city and a different continent's start zone are clean, and a warm process usually survives the same zone) it looks like a specific piece of terrain-load work in this build, but I could not narrow it further from the outside.