DDrawCompat Documentation
repository·master·Indexed 23 days ago
https://github.com/narzoul/ddrawcompatA DLL wrapper that improves compatibility and performance for games using DirectX 1-7 and GDI on modern Windows systems (Vista, 7, 8, 10, and 11). It provides a way to fix graphics API issues without performing full API conversion, requiring SSE2 support and Shader Model 3 GPUs.
What's inside DDrawCompat
- DDrawCompat is a DLL wrapper designed to fix compatibility and performance issues associated with DirectX 1-7 graphics APIs. It also provides partial support for GDI. It does not perform API conversion; instead, most rendering continues to be handled by the native DirectX 1-7 and GDI libraries.
Supported and Unsupported Use Cases
masterDDrawCompat is intended for specific scenarios. Please note the following limitations:
Unsupported Cases:
- Games requiring an internet connection.
- Windows Insider preview builds.
- Virtualized or emulated environments (e.g., Virtual Machines or Wine).
- Using DDrawCompat alongside other wrappers, hooks, overlays, or video recorders (Note: desktop screen recorders may work if using
FullscreenMode=borderless). - Applications that mix DirectX 1-7 with other APIs (e.g., DirectX 8+, OpenGL, Vulkan, or Glide).
Reporting Issues: When reporting issues, provide the application title, GPU model, Windows version, and reproduction steps. Attaching
infolevel logs is highly recommended. You may redact personal information (like Windows usernames) from log files before sharing.System Requirements for DDrawCompat
masterTo use DDrawCompat, your system must meet the following requirements:
General Requirements:
- OS: Windows Vista, 7, 8, 10, or 11
- CPU: Must have SSE2 support
- GPU: Must have Shader Model 3 support
Specific Requirements for Windows Vista and 7:
- Drivers: Must use WDDM-compatible graphics drivers (legacy XPDM drivers are no longer supported since v0.3.0).
- Desktop Composition: Must be enabled.
Uninstall DDrawCompat
masterTo remove DDrawCompat from a game:
- Delete the
ddraw.dllfile from the game's directory. - Delete any leftover log files (e.g.,
DDrawCompat-*.logorddraw.log).
- Delete the
Install DDrawCompat in a game directory
masterTo install DDrawCompat for a specific game:
- Download the latest binary release from the releases page (avoid files with "debug" in the name unless you are a developer).
- Unzip the downloaded file.
- Copy the extracted
ddraw.dllto the target game's installation directory, placing it in the same folder as the game's main executable (.exe).
Note: If a
ddraw.dllalready exists in the directory, it is likely another wrapper. Back up the original file before replacing it with DDrawCompat'sddraw.dll.Configure DDrawCompat
masterStarting from version v0.4.0, DDrawCompat can be configured using:
- Text files: Configuration settings defined in text files.
- In-game overlay: Partial configuration support via an overlay during gameplay.
Refer to the project wiki for detailed configuration options and syntax.
Verify DDrawCompat Installation
masterAfter installing
ddraw.dlland starting the game, check the game's directory for a log file to confirm DDrawCompat is working.- Log filename format:
DDrawCompat-*exename*.log(for versions v0.3.0 and newer) orddraw.log(for versions prior to v0.3.0).
If no log file is created, DDrawCompat was not loaded by the game. You may need to check the project wiki for troubleshooting solutions.
- Log filename format: