OBS Game Capture Black Screen DirectX 9 Fix
Capturing older DirectX 9 games in OBS Studio using the standard “Game Capture” source often results in a persistent black screen due to outdated graphics API rendering and modern Windows permission conflicts. This article provides a direct, step-by-step guide to resolving this issue by adjusting OBS hook settings, configuring administrator privileges, utilizing alternative capture methods, and employing API wrappers to make classic games compatible with modern streaming setups.
Run OBS and the Game as Administrator
Many older DirectX 9 titles require elevated permissions to run correctly on modern versions of Windows. If the game runs with higher privileges than OBS, OBS will be blocked from hooking into the game’s rendering pipeline.
- Close OBS Studio and your game.
- Right-click the OBS Studio shortcut and select Run as administrator.
- Locate the executable file (.exe) for your game, right-click it, and select Run as administrator.
- In OBS, check if the Game Capture source now displays the game.
Adjust Game Capture Source Settings
Certain built-in compatibility hooks in OBS can interfere with older graphics APIs. Adjusting these settings can restore the video feed.
- Double-click your Game Capture source in the OBS Sources dock to open its properties.
- Set the Mode to Capture specific window and select your DirectX 9 game from the Window dropdown.
- Uncheck Use anti-cheat compatibility hook. While necessary for modern multiplayer games, this setting often blocks hook attempts on older titles.
- Check the box for Capture third-party overlays (such as Steam).
- Click OK and restart both the game and OBS.
Switch to Windowed Mode and Window Capture
DirectX 9 games running in exclusive fullscreen mode often block external screen-recording hooks entirely. Switching to a windowed display allows OBS to capture the desktop frame directly.
- Launch your game and enter its in-game video or graphics settings menu.
- Change the display mode from Fullscreen to Windowed or Borderless Windowed.
- In OBS, hide or delete your Game Capture source, and add a Window Capture source instead.
- Select your game window from the dropdown menu.
- If the screen remains black, change the Capture Method in the Window Capture properties from “Automatic” to BitBlt or Windows 10 (1903 and up).
Use a DirectX Translation Wrapper
If native capture methods fail, you can force the game to translate its outdated DirectX 9 calls into modern DirectX 11 or 12 instructions, which OBS can easily capture without errors.
- Download a trusted translation tool such as dgVoodoo2 or a d3d9 to d3d11 wrapper.
- Extract the corresponding
.dllfiles (specificallyd3d9.dll) from the tool’s folder. - Paste these files directly into the installation directory of your game, in the same folder where the main game executable (.exe) is located.
- Launch the game. The game will now render using the newer API.
- Create a standard Game Capture source in OBS, which should now successfully hook the translated video output.