protonscr

Way of the Hunter 2

protonopen appid 2543830Game compatibility - Unofficial
ValveSoftware/Proton#10252 · opened 2026-10-13 by aleksey-su · updated 2026-10-13 · 0 comments · github · game page · search this game
Aaleksey-su 2026-10-13 github

Compatibility Report

  • Name of the game with compatibility issues: Way of the Hunter 2
  • Steam AppID of the game: 2543830

System Information

I confirm:

  • [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.

Proton log (PROTON_LOG=1, hang reproduced): steam-2543830.log.gz attached.

Symptoms

Since game patch 1.2 (v1.2.0.213891, Steam build 25780641, UE 5.7.4), the game hangs forever on the loading screen on AMD GPUs. The previous build (25630108) worked fine. There is no error and no crash: the logo shows, loading starts, and it never finishes. One core stays at 100%.

Workaround: PROTON_DISABLE_NVAPI=1 %command%. With it the game loads and plays normally.

Other AMD users confirm the same hang and workaround on ProtonDB (RX 9070 XT, RX 9060 XT): https://www.protondb.com/app/2543830

Analysis

From the attached log:

  1. The game ships NVIDIA Streamline 2.14.1 (sl.interposer / sl.reflex / sl.pcl). dxvk-nvapi correctly refuses on AMD:
    NvAPI_Initialize: NVIDIA or other suitable device not found or initialization failed
  2. Streamline then logs:
    generic.cpp:1286[getFrameGenParams] NvAPI_D3D_GetSleepStatus(...) failed error -6 (NVAPI_NVIDIA_DEVICE_NOT_FOUND)
  3. After that the main thread runs a tight unbounded retry loop: LoadLibrary(nvapi64.dll) -> NvAPI_Initialize fails -> FreeLibrary. This happens 513 times in about 3.5 seconds.
  4. On the 514th load the log ends with seh:raise (22), which is SIGABRT from msvcrt (called from inside nvapi64.dll). The process never exits. The main thread spins forever in Sleep(0) inside nvapi64.dll:
WOTH2-Win64-Shipping.exe -> sl.interposer.dll -> sl.pcl.dll / sl.reflex.dll
 -> nvapi64.dll (dxvk-nvapi) -> kernel32 Sleep(0) -> NtYieldExecution -> sched_yield   (endless)

I read this stack with gdb from the Wine syscall frame. Two samples minutes apart show the same frames. At this point only one Windows thread exists, there is no disk I/O, and the GPU is idle.

On Windows with an AMD GPU there is no nvapi64.dll at all, so this code path never runs. Under Proton, DXVK_ENABLE_NVAPI=1 is set by default regardless of GPU vendor, so the game finds nvapi64.dll and gets stuck. With PROTON_DISABLE_NVAPI=1, nvapi64.dll is absent and the game initializes normally (112 threads, PSO precompile, main menu, saves load).

Suggested fix

Add 2543830 to the existing list in proton that sets disablenvapi when no NVIDIA kernel driver (nvidia/nouveau/nova) is loaded. ARC Raiders, The Finals and others are already on that list.

Possibly also relevant for dxvk-nvapi: abort() after about 500 load/unload cycles of nvapi64.dll looks like a resource leak on repeated init failure.

Reproduction

  1. AMD GPU, any current Proton (10.0 / 11.0 / Hotfix / Experimental), default settings.
  2. Launch Way of the Hunter 2 (build 25780641).
  3. Logo -> loading screen -> hangs forever (one core at 100%).
  4. Add PROTON_DISABLE_NVAPI=1 %command% -> the game works.

steam-2543830.log.gz