#1137·OptiScaler

Overlay menu causes VK_ERROR_DEVICE_LOST on Blackwell (RTX 5080) — Xid 32 push buffer corruption via VkSubpassDependency

Author: MatthewRiley05Created Sep 4, 2026Updated Sep 14, 2026

Game name and version:

Wuthering Waves (Steam, App ID 100721531), Client-Win64-Shipping.exe

Mods and mod versions used

OptiScaler v10.0.0-dev (65a5f6f9, 20260903_083443) — pre-release nightly, no other mods

GPU

NVIDIA GeForce RTX 5080 (Blackwell, GB203, vendorId: 10DE, deviceId: 2C02, 16303MB VRAM) Driver: NVIDIA 610.57.04

OS

Linux (CachyOS, kernel 7.x), Wine 11.0 via DW Proton Latest

Used automated or manual install?

  • Automated
  • Manual

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

  • Yes
  • No

DLSS inputs are used (nvngx_dlss.dll detected and working). DLSS is the upscaler selected in game settings. Note: DLSSG is force-toggled to eOff every frame by OptiScaler.

Did you check the Wiki and Compatibility List?

  • Yes
  • No

Please describe the issue and steps to reproduce it

The Vulkan overlay menu crashes on Blackwell (RTX 5080) with VK_ERROR_DEVICE_LOST after ~1.4 seconds of the menu being open. The same configuration works perfectly on Ada Lovelace (RTX 4070). Steps to reproduce:

  1. Install OptiScaler v10.0.0-dev with OverlayMenu=auto, UseDelayedInit=true
  2. Launch Wuthering Waves via DW Proton on Linux with WINEDLLOVERRIDES=winmm.dll=n,b PROTON_DLSS_UPGRADE=1
  3. Let the game run for a few minutes to reach the open world
  4. Press Home (default shortcut key) to open the OptiScaler overlay menu
  5. After ~1.4 seconds of the menu being visible, the game crashes with VK_ERROR_DEVICE_LOST What works:
  • OverlayMenu=false — game runs stably with no crashes (FG is also disabled since FGInput=auto defaults to nofg)
  • Game launches and runs fine without the overlay menu open
  • The overlay's transparent background renders fine for thousands of frames (menu:no)
  • Same configuration works perfectly on RTX 4070 (Ada Lovelace) Crash pattern from OptiScaler.log: [19:08:34.226820] menu:yes (menu opened at frame 14573) [19:08:34.244841] menu:yes (frame 14574) ... (menu renders successfully for 85 frames / ~1.4 seconds) [19:08:35.626500] menu:yes (frame 14658, last successful frame) [19:08:35.626832] hkvkQueuePresentKHR result: 0 (overlay present succeeds) [19:08:35.631400] [E] Vulkan_wDx12::hk_vkQueueSubmit2 o_vkQueueSubmit2 result: VK_ERROR_DEVICE_LOST [19:08:35.631421] [E] Vulkan_wDx12::hk_vkQueueSubmit2 o_vkQueueSubmit2 result: VK_ERROR_DEVICE_LOST [19:08:35.631468] [E] Vulkan_wDx12::hk_vkQueueSubmit2 o_vkQueueSubmit2 result: VK_ERROR_DEVICE_LOST ... (7 total VK_ERROR_DEVICE_LOST errors, then game dies) Kernel dmesg shows: NVRM: Xid (PCI:0000:01:00): 32, pid=..., name=Client-Win64-Sh, channel 0x00000023 NVRM: Xid (PCI:0000:01:00): 13, Graphics Exception: Class 0xcec0 Subchannel 0x0 Mismatch NVRM: Xid (PCI:0000:01:00): 13, ESR 0x4041b0=0x128cec0
  • Xid 32 = Invalid or corrupted push buffer stream
  • Xid 13, Class 0xcec0 = Blackwell-specific graphics exception (this class does not exist on Ada Lovelace) Proposed root cause (from code analysis): Three issues combine to trigger the Blackwell crash:
  1. Render pass missing fragment stage synchronization (menu_overlay_vk.cpp:191-197): The overlay's VkSubpassDependency uses VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT for both src and dst stage masks, but the layout transition from VK_IMAGE_LAYOUT_PRESENT_SRC_KHR requires VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT in the dst stage mask per the Vulkan spec. Ada's driver tolerates this; Blackwell's stricter driver faults.
  2. In-place pNext chain mutation with const_cast (VulkanwDx12_Hooks.cpp:6523-6574): The hk_vkQueueSubmit hook modifies the game's original VkSubmitInfo pNext chain in-place and uses const_cast on a static timelineInfoResourceCopy. This is undefined behavior that corrupts driver-internal state differently per GPU architecture.
  3. Overlay semaphore replacement timing (menu_overlay_vk.cpp:592-593): The overlay replaces the present's wait semaphores with its own. On Blackwell, where the queue scheduler has different async compute behavior, this timing change causes the subsequent hk_vkQueueSubmit2 call to fail.
  • Steam launch options: WINEDLLOVERRIDES=winmm.dll=n,b PROTON_DLSS_UPGRADE=1 %command% -ForceEnableCSharpEnvironment
  • Proton: DW Proton Latest (wine-11.16)
  • Display server: Wayland
  • CPU: AMD Ryzen 7 9800X3D (with RADV RAPHAEL_MENDOCINO iGPU)
  • VK layers loaded: VK_LAYER_NV_optimus, VK_LAYER_NV_present, VK_LAYER_MESA_anti_lag, VK_LAYER_MESA_device_select, MangoHUD, Steam overlay
  • Tested with VKD3D_CONFIG=descriptor_heap,enable_experimental_features — did not help

I have attached

  • OptiScaler.log (set LogLevel=0 and LogToFile=true in OptiScaler.ini, zip it if too big)
  • Screenshot of game folder (where you placed Opti)
  • Screenshot of Opti overlay in-game (opens with shortcut, default Insert)

Disclaimer: This issue was AI assisted just to help find out the issue. Everything was still verified and tested by me.

OptiScaler_crash_log.txt

Image