Literal duplicate of #3315 because AI agents apparently can't figure out how to submit word vomit only once.
There was an update, so not different replication and I was not able to
delete 3315. Or could not figure it out. That is why both stoo up there. It
said the info would be helpful to you guys, but I, a human, posted it
hoping someone smarter might be able to use it.
On Mon, Sep 21, 2026 at 5:03 PM Philip Rebohle @.***>
wrote:
Closed #3316
https://github.com/HansKristian-Work/vkd3d-proton/issues/3316 as
duplicate.—
Reply to this email directly, view it on GitHub
https://github.com/HansKristian-Work/vkd3d-proton/issues/3316?email_source=notifications&email_token=CDZQINUAMGG32FNWCWRV3CD5QGQUBA5CNFSNUABQM5UWIORPF5TWS5BNNB2WEL2JONZXKZKFOZSW45CON52GSZTJMNQXI2LPNYXTGMJVGYZDAMZVGY3DBJTSMVQXG33OUZQXK5DIN5ZKKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#event-31562035660,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/CDZQINXU6ETTXPEGVOXFIB35QGQUBAVCNFSNUABFKJSXA33TNF2G64TZHMZDAOJVGI3TEMZZHNEXG43VMU5TKNJTGI4DIOBRG42KC5QC
.
Triage notifications, keep track of coding agent tasks and review pull
requests on the go with GitHub Mobile for iOS
https://github.com/notifications/mobile/ios/CDZQINQWQQT4DIYXPV2CICL5QGQUBA5CNFSNUABQM5UWIORPF5TWS5BNNB2WEL2JONZXKZKFOZSW45CON52GSZTJMNQXI2LPNYXTGMJVGYZDAMZVGY3DBJTSMVQXG33OUZQXK5DIN5ZKKZLWMVXHJKTGN5XXIZLSL5UW64Y
and Android
https://github.com/notifications/mobile/android/CDZQINXASPQBV4F3BH26RR35QGQUBA5CNFSNUABQM5UWIORPF5TWS5BNNB2WEL2JONZXKZKFOZSW45CON52GSZTJMNQXI2LPNYXTGMJVGYZDAMZVGY3DBJTSMVQXG33OUZQXK5DIN5ZKKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI.
Download it today!
You are receiving this because you authored the thread.Message ID:
@.***
com>
PROTON_LOGx1 2026-09PROTON_NO_FSYNC=1`)x1 2026-09VKD3D_CONFIG=nodxrx1 2026-09VKD3D_CONFIG=nodxr,force_host_cachedx1 2026-09VKD3D_DEBUGx1 2026-09VKD3D_DEBUG=nonex1 2026-09VKD3D_DISABLE_EXTENSIONS=VK_NV_raw_access_chainsx1 2026-09WINEDEBUG=-allx1 2026-09
NBA 2K27 (appid 4356430) hangs reproducibly a few minutes after launch. The GPU goes idle, the game's job-system workers all park having finished their work, and the main thread spins in userspace indefinitely. The process stays alive — audio keeps playing — but the render loop never advances.
I am not certain this is a vkd3d-proton bug rather than a game-side one; the evidence below points at a lost wakeup in the title's own job system. Filing here because vkd3d is in the path, and because the
vkd3d_fence/vkd3d_queuethreads show a pattern that may mean something to you. Happy to be redirected.System
595.91.07and610.57.04, open kernel modulesexperimental-11.0-20260917b,hotfix-20260828-ptrHang signature
Captured live from
/proc/<pid>/task/*while hung:syscall=runningon every sample — the main thread never enters the kernel. MeanwhileVCAUDIO3,FAudio_AudioCliandOpusDecoderThrecontinue to accumulate CPU for as long as the hang lasts, so only the render/main loop is wedged.The detail that may be relevant to vkd3d: the majority of
vkd3d_fenceandvkd3d_queuethreads show zero CPU time accumulated over the whole process lifetime — they appear never to have been given work, even though a large PSO compile completed successfully immediately beforehand (48 MBpso.toc, 2.9 GB Steam shader cache).The title never sets its own
SHADER_BUILD_STAGE_3_ID(stays0inVideoSettings.cfg) across every run, on every configuration, including runs where the pipeline cache was fully built.Eliminated by direct test
Each tested individually; hang reproduced in all cases:
PROTON_NO_FSYNC=1): workers move fromfutex_wait_multipletoanon_pipe_read, hang otherwise identical — so not a Wine sync-primitive lost wakeupVK_DRIVER_FILES=.../nvidia_icd.json(verified: zero Intel/anv libraries in/proc/<pid>/maps)VKD3D_CONFIG=nodxr,force_host_cached,no_upload_hvvVKD3D_DISABLE_EXTENSIONS=VK_NV_raw_access_chainstaskset -c 0-7(P-cores only): worker pools scale 24 → 8, hang identicalHardware ruled out: PCIe negotiates Gen5 x16 under load,
Replays Since Reset: 0, no AER events; 60 s of sustained GPU compute (llama.cpp) completely clean; thermals 30-37 °C withHW Thermal SlowdownandHW Power Brakecounters both 0 µs; stock power limit, no overclock.Note on Xid 109
On this hardware the hang is sometimes accompanied by
NVRM: Xid 109 CTX SWITCH TIMEOUT, name=RenderThread(also reported at NVIDIA/open-gpu-kernel-modules#1146 for GB202). In my case the two are separable: withVKD3D_DISABLE_EXTENSIONS=VK_NV_raw_access_chains VKD3D_CONFIG=nodxr,force_host_cachedthe Xid stopped being logged across subsequent runs while the hang persisted unchanged. Without those options the main thread spins tight at ~100% of a core and the Xid fires; with them it spins at ~50% with a yield (wchan=poll_schedule_timeout) and no Xid appears. That reads to me like the GPU context being starved by a CPU-side stall for long enough to trip the context-switch watchdog, i.e. the Xid is downstream of the hang.Logs
I have not yet captured a
VKD3D_DEBUG/PROTON_LOGtrace — the runs above hadVKD3D_DEBUG=noneandWINEDEBUG=-all. I can reproduce this on demand within a few minutes of launch and will attach a full log; tell me which log level is most useful. I also have 1 Hznvidia-smi dmontelemetry covering the approach to the hang and complete per-thread dumps.Update: 1 Hz GPU telemetry across two further hangs
Captured with
nvidia-smi dmon -s pucvmet -d 1plus 10 s per-thread CPU sampling.Hang A — Xid 109 fired:
Hang B — no Xid, texture detail reduced:
Hang B shows zero host-to-device traffic for the entire session yet produces the identical hang, so the upload burst visible in Hang A is not causal.
Both hangs end in the same thread state: main thread spinning in userspace (
wchan=0,syscall=running) at 50-100% of a core, allPsoJobandLoadJobworkers parked on futexes, and everyvkd3d_fence/vkd3d_queuethread idle. In Hang A two threads spin simultaneously (VCMainat 100% of a core plusNBA2K27.exeat 51%), withvkd3d-swapchainin anhrtimer_nanosleepretry loop.Sustained
txpciof 250-370 MB/s (device-to-host) is present throughout normal play, dropping to ~12 MB/s once wedged.In Hang B the title subsequently reported "network connection lost" and entered a reconnect loop; per-thread sampling shows the render stall begins ~75 s before the session drop, so that is downstream of the hang.
No thermal or power violations, no ECC errors, no PCIe errors in any capture. BAR1 flat at 38 MB.
Reproduction time ranges from ~80 seconds to ~9 minutes of gameplay, with no configuration found that prevents it.