Crash on Startup with Direct-2-Display and OBS Hook

Last updated 3 August 2026

Crash on Startup with Direct-2-Display and OBS Hook

Backstage crashes immediately on startup when any display is configured in Direct-2-Display (direct) mode and OBS Studio's screen-capture hook is present on the machine.

Symptom

Backstage crashes during startup without any error dialog. The process exits before the main window appears. The crash occurs reliably whenever at least one display is in direct mode.

Two things make this hard to diagnose:

  1. OBS does not need to be running. The hook DLL is injected from disk as long as OBS is installed on the machine. You will not see OBS in the taskbar or system tray.

  2. The crash only appears once a display enters direct mode. This makes it look like whatever output or display change you just made is the cause, when the real trigger is the OBS hook.

Backstage now detects this condition and names the cause. When a Direct-2-Display display and a loaded copy of the hook are detected together, Backstage shows a warning dialog at startup (if a UI is present) and logs a warning before the Direct-2-Display swapchain call. On a headless or unattended server, no modal dialog appears — check the Backstage log file instead.

The detection tests whether the hook module is actually loaded into memory, not merely present on disk. If Backstage shows the warning, the hook is genuinely loaded and active. A leftover file from an uninstalled OBS does not trigger a false alarm.

Cause

OBS Studio installs a graphics hook, graphics-hook64.dll, into C:\ProgramData\obs-studio-hook\. This hook intercepts Vulkan calls system-wide. It assumes every Vulkan surface is backed by a window.

A Direct-2-Display output uses a display-plane surface instead of a windowed one. When the hook tries to process the Direct-2-Display swapchain creation call, it encounters a null reference and crashes the entire process.

This is a defect in the OBS hook, not in Backstage. Desktop-mode outputs are unaffected because they use window-backed surfaces.

Resolution

The fix is to prevent the OBS hook from being injected. Choose the option that fits your situation:

Option 1: Uninstall OBS Studio

If OBS is not needed on this production server, uninstall it entirely. This removes the hook and prevents re-injection.

Option 2: Remove or rename the hook directory

If you want to keep OBS installed but do not need its game/screen capture on this machine, remove or rename the injected hook directory:

Rename-Item "C:\ProgramData\obs-studio-hook" "obs-studio-hook.disabled"

OBS updates may recreate this directory. Check after any OBS update.

Option 3: Use desktop-mode outputs instead of direct mode

If OBS capture is genuinely needed on the same machine, avoid Direct-2-Display mode for your outputs. Desktop-mode outputs use window-backed Vulkan surfaces and are not affected by the hook.

How to verify

  1. Check whether the hook directory exists: C:\ProgramData\obs-studio-hook\

  2. Check the Backstage log for the OBS hook warning. If the warning appears, the hook is loaded and will crash Direct-2-Display swapchain creation.

  3. After applying one of the resolution options, restart Backstage. The Direct-2-Display outputs should initialize normally.

Tips

  • Production servers should not have screen-capture or streaming software installed. OBS, screen recorders, and similar tools inject hooks into graphics APIs and can interfere with real-time rendering.

  • On a headless server, Backstage never blocks on a modal dialog for this warning — it logs the condition instead. Always check the log file if a headless server fails to start.

  • If Backstage does not show the OBS hook warning but still crashes on startup with direct-mode displays, the cause is something else. See Output Not Displaying for general output troubleshooting.

Output Not Displaying — general troubleshooting when an output is not showing content.

Performance Issues — diagnosing rendering slowdowns and dropped frames.