#1100·OptiScaler

Alan Wake 2 is die with dlssg via nvngx --> ffx+enabler x3/x4 with RT

Author: rastomanchikCreated Aug 16, 2026Updated Sep 5, 2026
Labelsbugmaster

Game name and version:

Alan Wake 2 (latest Steam version, as of Aug 2026)

Mods and mod versions used

OptiScaler v10.0.0-dev (build 45bcb64, 20260816_054741) — master branch

GPU

AMD Radeon RX 9060 XT

OS

Arch Linux, Steam, GE-Proton 11.5

Used automated or manual install?

  • Automated
  • Manual

If on AMD/Intel and Automated, used DLSS inputs?

  • Yes
  • No

Please describe the issue and steps to reproduce it

Upscaler: FSR 4.1.1, Input: DLSS.

Frame Generation set to "DLSSG via Streamline" — works correctly and stably, including through loading screens and cutscene transitions.

Frame Generation set to "DLSSG via NvNGX" (enabled via dlss-enabler for x3/x4 multi-frame generation) — the game hangs with a black screen shortly after a scene transition (specifically reproduced when finishing a mission and returning to the open world / cutscene ending). Audio keeps playing, but the video output is completely frozen. No crash dialog appears. MangoHud and the OptiScaler overlay stop responding entirely (no more frames are being submitted).

Steps to reproduce:

Enable Ray Tracing, specifically Ray Tracing Transparency, in the in-game graphics settings. Set Frame Generation to "DLSSG via NvNGX" with dlss-enabler x3/x4 multi-frame generation enabled. Play until a mission ends and the game transitions from a cutscene back to the open world (loading/scene transition). Screen goes black, audio continues, game is completely unresponsive (confirmed via journalctl/dmesg — see below — this is a real GPU hang, not a simple UI freeze).

Note: with Ray Tracing fully disabled, the same "DLSSG via NvNGX" x3/x4 setup ran stably across 3 separate runs — the issue only appears when Ray Tracing Transparency is also enabled.

Isolation performed:

Disabling Frame Generation entirely → issue does not occur. Switching Frame Generation to "DLSSG via Streamline" → issue does not occur, stable through the same transition. Issue reproduces specifically and only with the "DLSSG via NvNGX" x3/x4 path. Further isolation: with Ray Tracing fully disabled, "DLSSG via NvNGX" x3/x4 ran stably across 3 separate test runs/relaunches, no hang. The hang only occurs when Ray Tracing Transparency is enabled together with "DLSSG via NvNGX" x3/x4. This looks like a specific interaction/race between the RT transparency compute passes and the NvNGX x3/x4 frame-generation compute dispatch — both are compute-heavy and appear to be competing for the same compute queue, which then times out. Relevant log excerpts

Game log (AlanWake2.exe wine/proton log) shows a device-lost cascade following an AMD GPU driver hard recovery:

50543.624:0178:0284:warn:seh:OutputDebugStringW L"FSR_API_DEBUG_ERROR: An instance of ffxCreateContextDescUpscaleVersion must be attached to ffxCreateContextDescUpscale and specify a valid version to access new API functions.\n" ...

radv/amdgpu: The CS has been cancelled because the context is lost. This context is guilty of a hard recovery.
50545.592:0178:02d0:err:vkd3d-proton:d3d12_command_queue_wait_staggered_submission: Failed to wait for semaphore, vr -4.
50545.592:0178:02d0:err:vkd3d-proton:d3d12_command_queue_signal_shared: Failed to submit signal operation, vr -4.
50545.592:0178:02cc:err:vkd3d-proton:vkd3d_wait_for_gpu_timeline_semaphore: Failed to wait for Vulkan timeline semaphore, vr -4.
50545.592:0178:02d8:err:vkd3d-proton:d3d12_command_queue_execute: Failed to submit queue(s), vr -4.
50545.594:0178:02d0:warn:vkd3d-proton:d3d12_device_mark_as_removed: Device 000000000d610080 is lost (reason 0x887a0005, "VK_ERROR_DEVICE_LOST").

(this last line then repeats continuously, filling the log to several GB, since vkd3d-proton keeps retrying against a dead device)

Kernel log (dmesg / journalctl -k) captured at the exact moment of the freeze, showing the root cause — a hung compute ring (not graphics):

amdgpu 0000:0a:00.0: Dumping IP State
amdgpu 0000:0a:00.0: Dumping IP State Completed
amdgpu 0000:0a:00.0: [drm] AMDGPU device coredump file has been created
amdgpu 0000:0a:00.0: [drm] Check your /sys/class/drm/card1/device/devcoredump/data
amdgpu 0000:0a:00.0: ring comp_1.1.1 timeout, signaled seq=106404, emitted seq=106405
amdgpu 0000:0a:00.0:  Process AlanWake2.exe pid 47299 thread AlanWake2.exe pid 47418
amdgpu 0000:0a:00.0: Starting comp_1.1.1 ring reset
amdgpu 0000:0a:00.0: reset compute queue (1:1:1)
amdgpu 0000:0a:00.0: Ring comp_1.1.1 reset succeeded
amdgpu 0000:0a:00.0: [drm] device wedged, but no recovery needed

The kernel successfully recovered the compute queue on its own (ring reset succeeded, no full GPU reset needed), but RADV/vkd3d-proton had already marked the Vulkan device as lost, and the game/engine does not recover from VK_ERROR_DEVICE_LOST, resulting in a permanent black-screen hang.

This strongly suggests a single compute dispatch related to the new "DLSSG via NvNGX" x3/x4 frame generation path is not completing within the GPU timeout during scene transitions, causing the AMDGPU driver to time out that compute ring.

The OptiScaler log itself confirms this from the other side — its own hooked submit call reports the device-lost error directly:

[10:16:55.934322] [E] Vulkan_wDx12::hk_vkQueueSubmit2 o_vkQueueSubmit2 result: VK_ERROR_DEVICE_LOST This is OptiScaler's own vkQueueSubmit2 hook (used for submitting the frame-generation work) receiving VK_ERROR_DEVICE_LOST, which points to the hung compute dispatch being submitted from OptiScaler's NvNGX x3/x4 frame generation path itself, rather than from the base game.

Additional info: also tested with GE-Proton 10-34 (instead of GE-Proton 11.5) — same hang occurs with RT Transparency + DLSSG via NvNGX x3/x4. So this doesn't appear to be Proton-version-specific.

Workaround found: disabling only "Ray Tracing Transparency" resolves the hang — cutscene transitions with DLSSG via NvNGX x3/x4 now work fine.

OptiScaler.zip