cnc-ddraw reimplements the DirectDraw API to address compatibility problems in older 2D games, including black screens, poor performance, crashes, and faulty Alt+Tab behavior. It supports GDI, OpenGL, and Direct3D 9 renderers and can select a renderer automatically. Display choices include windowed, fullscreen exclusive, and borderless modes, with Alt+Enter switching between fullscreen and windowed. GLSL shaders can upscale the image; other options include an FPS limiter, VSync, optional mouse sensitivity scaling, and automatic saving and restoring of window position, size, and state. The project lists Windows versions from ME through 11, Wine on Linux, macOS, Android, and virtual machines as supported environments. Setup is to extract cnc-ddraw.zip into the game folder and start the game. On Wine, users need to configure the ddraw override in winecfg or run the configuration utility once. The game must use a DirectDraw Software renderer: cnc-ddraw does not support Direct3D games. It is free software under the MIT License.
Who it is for
It suits people trying to run older 2D games that use DirectDraw and encounter compatibility problems. It is not suitable for games that use Direct3D instead of a DirectDraw Software renderer.
What is good
- Automatic selection among GDI, OpenGL, and Direct3D 9.
- Supports windowed, fullscreen exclusive, and borderless modes.
- Includes VSync and an FPS limiter.
- Free software under the MIT License.
What to know first
- Requires a game with a DirectDraw Software renderer.
- Does not support Direct3D games.
- Wine users need an additional ddraw configuration step.
Freedom251 review
cnc-ddraw: the full review
cnc-ddraw offers display and scaling options for older games built around DirectDraw. Its key requirement is that the game use a DirectDraw Software renderer.
Overview
cnc-ddraw is a runtime compatibility layer for classic 2D games that use DirectDraw. It is best suited to players trying to resolve display or stability problems in that specific class of game. Its focused controls can help, but games built for Direct3D fall outside its scope.
Key features
The layer reimplements DirectDraw and can route rendering through GDI, OpenGL, or Direct3D 9, with automatic renderer selection. That offers several rendering paths for older games with black screens, poor performance, crashes, or unreliable Alt+Tab behavior; it does not remove the requirement that the game itself use a DirectDraw software renderer.
Windowed, exclusive fullscreen, and borderless modes cover different desktop setups, while Alt+Enter switches between windowed and fullscreen. GLSL shader upscaling can improve the presentation of older graphics. An FPS limiter and VSync add frame-rate and synchronization controls, optional mouse-sensitivity scaling addresses mismatched input, and automatic saving and restoration of window position, size, and state avoids repeated window adjustments.
Setup is deliberately direct: extract cnc-ddraw.zip into the game folder and start the game. Under Wine on Linux, macOS, or Android, users must either override ddraw in winecfg or run cnc-ddraw config.exe once. If a game will not start or crashes, the project asks users to generate and upload a debug log, and points to its wiki for game-specific setup guidance. The repository lists many classic games, but the list is incomplete and not usually updated, so it is a useful starting point rather than a definitive compatibility check.
Pricing
cnc-ddraw costs 0.00 USD per free and is offered under the MIT License. That license permits use, copying, modification, distribution, sublicensing, and sale subject to its terms. There are no paid tiers to weigh against the free option; the meaningful trade-off is the narrow DirectDraw software-renderer requirement.
Platforms
The project lists Windows ME, 2000, XP, Vista, 7, 8, 10, and 11, Wine on Linux, macOS, and Android, as well as virtual machines, as supported environments. This makes it relevant to people preserving older games across several desktop and mobile environments, though Wine setup requires an extra configuration step. Vulkan support is absent, and Steam integration is absent.
Who it's for
Choose cnc-ddraw when an older 2D game uses DirectDraw software rendering and has display, performance, crash, or Alt+Tab problems. Look elsewhere if the game uses Direct3D: cnc-ddraw does not support Direct3D games, regardless of its Direct3D 9 renderer option.
Pros and cons
- Pros: Multiple rendering backends and automatic selection give compatible games more than one route to working display output.
- Pros: Display modes, shader upscaling, frame controls, optional mouse scaling, and saved window state address practical play and desktop-use issues.
- Pros: Free MIT-licensed software can be extracted into a game folder, with Wine configuration instructions for non-Windows environments.
- Cons: It requires a DirectDraw software renderer and cannot help with Direct3D games.
- Cons: Wine use needs manual configuration, and troubleshooting may require uploading a debug log or following game-specific wiki steps.
- Cons: The compatibility list is incomplete and not usually updated, so it cannot settle every game's status.
Alternatives
Game Compatibility Layers is a broader directory to browse when the game's graphics path or required fix points beyond cnc-ddraw's DirectDraw focus.
- GameHub is a free option on Android, iOS, and macOS; choose it when cloud gaming and streaming are relevant and a stable network is available.
- Bannerlator is a free Android option; consider it when you need a different compatibility tool, bearing in mind compatibility varies by GPU, Android version, and game, with no support commitment.
- DXVK is free on Linux and Windows and requires Vulkan; pick it when that Vulkan-based route fits, rather than cnc-ddraw's DirectDraw software-renderer requirement.
- PlayOnLinux is free for Linux and macOS; it may suit users seeking another way to run games, though not all games are supported and performance can sometimes decrease.
- vkd3d-proton is a free open-source project for Linux and Windows.
- Winlator is a free Android application for running Windows x86_64 applications.
- Porting Kit is free for macOS and installs Windows games and apps using Wineskin.
- Bottles is a free option for Linux and macOS.
Verdict
cnc-ddraw is a strong fit for players trying to revive a DirectDraw software-rendered classic: it combines several rendering paths with useful display and input controls, and costs nothing. Its decisive limitation is equally clear: Direct3D games need another solution.
cnc-ddraw plans and pricing
All plansCompared on game compatibility layers
- Free plan
- Yes
- Host platforms
- Windows, Linux, macOS, Android
- Runtime model
- translation + runtime
- DirectX support
- not stated
- Vulkan support
- No
- Steam integration
- No
- Anti-cheat status
- not stated