[x] that I haven't found an existing compatibility report for this game.
[x] that I have checked whether there are updates for my system available.
Symptoms
After ~30–50 minutes of continuous runtime (reproducible during active gameplay/zoning as well as simply leaving the character idle in town), the game experiences severe performance
degradation:
Framerate drops from a smooth 144 FPS down to a choppy 15–30 FPS.
The game remains interactive and continues rendering, but becomes completely single-thread bound.
The Main thread runs continuously at 100% of a single core's capacity (~103% CPU in ps) in a runaway syscall loop executing ~25,000 syscalls per second.
The rest of the multi-core system remains ~93% idle.
#0 __GI___ioctl (fd=15, request=3223867010) at ../sysdeps/unix/sysv/linux/ioctl.c:36
#1 0x00007559ebf157ba in linux_wait_objs () from .../ntdll.so
#2 0x00007559ebf16b25 in inproc_wait () from .../ntdll.so
#3 0x00007559ebf1a5bc in NtWaitForSingleObject () from .../ntdll.so
#4 0x00007559ebf081f6 in __wine_syscall_dispatcher () from .../ntdll.so
#5 0x00007559ebf06368 in server_init_process_done () from .../ntdll.so
Background Loop Thread (Thread 54 - LWP 68129):
#0 __GI___ioctl (fd=15, request=3223867010) at ../sysdeps/unix/sysv/linux/ioctl.c:36
#1 0x00007559ebf157ba in linux_wait_objs () from .../ntdll.so
#2 0x00007559ebf16a43 in inproc_wait () from .../ntdll.so
#3 0x00007559ebf1a5bc in NtWaitForSingleObject () from .../ntdll.so
#4 0x00007559ebf081f6 in __wine_syscall_dispatcher () from .../ntdll.so
#5 0x00007559ebf27c7e in start_thread () from .../ntdll.so
VKD3D Fence Thread (Thread 25 - LWP 68189):
#0 syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1 0x00007559ebf1d6c8 in NtWaitForAlertByThreadId () from .../ntdll.so
#2 0x00007559ebf081f6 in __wine_syscall_dispatcher () from .../ntdll.so
#3 0x00007559ebf27c7e in start_thread () from .../ntdll.so
Comparison: Healthy State vs. Lagging State
Telemetry Metric │ Healthy State (Early Session) │ Lagging State (After ~30–50 min)
───────────────────────────────────────────────────────────┼──────────────────────────────────────────────────────────┼────────────────────────────────────────────────────────────────
Frame Sleep Behavior │ Clean ~1.65 ms pselect6 frame timer sleeps │ pselect6 frame sleeps absent; continuous 0-timeout loop
Syscall Rate │ Standard frame-rate dispatch │ ~25,000 syscalls/sec (4,100 ioctl + 7,600 futex / 0.5s)
Main Thread CPU │ Work distributed across worker threads │ Single-thread bound (~103% CPU in ps)
GPU Clock / Busy │ 2420–2520 MHz @ ~90% load │ Drops to ~652–1570 MHz @ 14–30% load due to starved submission
Process Memory │ VmRSS: ~2.10 GB │ VmRSS: ~2.17 GB (Stable, no memory leak)
Reproduction
Launch Diablo II: Resurrected via Battle.net under Proton.
Enter a game and play normally (or leave the character idle in town).
After ~30–50 minutes, observe that the framerate drops from 144 to 15–30 FPS and the Main thread begins running a continuous 25,000 syscalls/sec dispatch loop.
Compatibility Report
System Information
ntsyncmodule loaded), but reproducible with various kernels including default UbuntuI confirm:
Symptoms
After ~30–50 minutes of continuous runtime (reproducible during active gameplay/zoning as well as simply leaving the character idle in town), the game experiences severe performance
degradation:
ps) in a runaway syscall loop executing ~25,000 syscalls per second.VmRSS: ~2.17 GB, no memory leak).Strace Telemetry (Repeating Dispatch Loop)
Tracing the Main thread during the lag state reveals a repeating 16-syscall dispatch sequence running ~1,500 times per second:
GDB Call Stacks (Captured Live During Lag State)
Main Thread (Thread 1 - LWP 68122):
Background Loop Thread (Thread 54 - LWP 68129):
VKD3D Fence Thread (Thread 25 - LWP 68189):
Comparison: Healthy State vs. Lagging State
Reproduction