- Home
- Game Compatibility Layers
- cnc-ddraw
cnc-ddraw
What it is
cnc-ddraw is a compatibility layer for older 2D games that use DirectDraw Software rendering. It reimplements that API to address problems such as black screens, poor performance, crashes, and faulty Alt+Tab behavior. It can select among GDI, OpenGL, and Direct3D 9 renderers, and offers windowed, exclusive fullscreen, and borderless display modes. Alt+Enter toggles between windowed and fullscreen. GLSL shaders provide upscaling, while other options include an FPS limiter, VSync, optional mouse sensitivity scaling, and saving and restoring window size, position, and state. The project lists Windows, Wine on Linux, macOS, Android, and virtual machines as supported environments. For a standard setup, extract cnc-ddraw.zip into the game folder and start the game. Wine users need to set a ddraw override in winecfg or run cnc-ddraw config.exe once. The software is free under the MIT License, but it does not support Direct3D games; the game must use a DirectDraw Software renderer.
For and against
For
- Free software under the MIT License
- Supports GDI, OpenGL, and Direct3D 9 renderers
- Offers windowed, fullscreen, and borderless modes
- Includes VSync and an FPS limiter
Against
- Does not support Direct3D games
- Requires a DirectDraw Software renderer
- Wine requires an extra setup step
The verdict
cnc-ddraw provides display and compatibility options for supported older 2D games across several listed environments. Check the game's renderer requirement before using it; Direct3D games are not supported.
Who it suits
It suits people trying to run older 2D games that use a DirectDraw Software renderer. Wine users should be prepared to configure the ddraw override or run the configuration utility.
Plans and prices
cnc-ddraw
MIT-licensed software · requires a game with a DirectDraw (Software) renderer
Read 28 Sep 2026 · github.com
On the record
- Community integration
- The CnCNet renderer configuration identifies cnc-ddraw.dll as a selectable CnC-DDraw backend with ddraw.ini settings for windowed and borderless modes.github.com · read 14 Oct 2026
- Compatibility
- The project lists Windows ME, 2000, XP, Vista, 7, 8, 10, and 11, Wine on Linux, macOS, and Android, and virtual machines as supported environments.github.com · read 28 Sep 2026
- Compatibility problems addressed
- The project targets black screens, poor performance, crashes and broken Alt+Tab behavior.github.com · read 14 Oct 2026
- Direct3D limitation
- The wrapper does not support games whose renderer is Direct3D rather than DirectDraw software rendering.github.com · read 14 Oct 2026
- Display modes
- The wrapper supports windowed, exclusive fullscreen and borderless modes.github.com · read 14 Oct 2026
- Documentation and support
- Support is handled through the GitHub wiki, issues and requested debug-log uploads for startup or crash failures.github.com · read 14 Oct 2026
- Frame control
- An FPS limiter and VSync option are included.github.com · read 14 Oct 2026
- Fullscreen toggle
- Alt+Enter switches between fullscreen and windowed modes.github.com · read 14 Oct 2026
- Game compatibility
- The repository lists many supported classic games and says the list is incomplete and is not usually updated.github.com · read 28 Sep 2026
- Game-specific work
- The project warns that some games need extra steps documented in its wiki.github.com · read 14 Oct 2026
- Independent feature description
- PCGamingWiki describes cnc-ddraw as converting DirectDraw calls to Direct3D 9, OpenGL or GDI while adding frame limiting, VSync, mouse scaling, borderless mode and GLSL upscaling.pcgamingwiki.com · read 14 Oct 2026
- Independent Linux limitation
- The same guide reports that some Wine setups can still show major menu artifacts and recommends trying different renderers.wip-documentation-mkdocs.readthedocs.io · read 14 Oct 2026
- Independent Linux setup
- A CnC tools guide installs cnc_ddraw into a dedicated Wine prefix with winetricks.wip-documentation-mkdocs.readthedocs.io · read 14 Oct 2026
- Independent renderer guidance
- CnC Tools documentation says GDI can help with tab-switching problems, though it uses an older renderer.cc-resource-docs.readthedocs.io · read 14 Oct 2026
- Independent scaling guidance
- CnC Tools documentation recommends updating to the latest release and says scaling can be configured in ddraw.ini or cnc-ddraw config.exe.cc-resource-docs.readthedocs.io · read 14 Oct 2026
- Installation
- Installation consists of downloading cnc-ddraw.zip, extracting it into the game directory and starting the game.github.com · read 14 Oct 2026
- Latest release
- GitHub lists version 7.1.0.0 as the latest release, published on 28 December.github.com · read 14 Oct 2026
- License
- The repository is released under the MIT License, permitting use, modification, distribution and sublicensing with the notice retained.github.com · read 14 Oct 2026
The review
cnc-ddraw is a free runtime compatibility layer for older 2D games that use DirectDraw. It is best suited to players whose games offer a DirectDraw software renderer and have display or compatibility problems. Its focused rendering and display controls are useful, but it cannot help with games that rely on Direct3D.
Overview
By reimplementing DirectDraw, cnc-ddraw aims to address black screens, poor performance, crashes, and faulty Alt+Tab behavior in older games. It is a targeted remedy rather than a general way to run any older Windows title: the game must have a DirectDraw (Software) renderer.
The project names many classic games as supported, but that compatibility list is incomplete and not routinely updated. A title missing from it may still be worth trying, though the game’s renderer requirement remains decisive.
Key features
GDI, OpenGL, and Direct3D 9 rendering options give games several possible display paths, while automatic renderer selection can spare users from choosing one manually. The renderer options do not broaden the games cnc-ddraw can handle: the game itself still needs DirectDraw software rendering.
Windowed, fullscreen-exclusive, and borderless modes offer flexibility in how a game occupies the screen. Alt+Enter switches between windowed and fullscreen modes, which makes changing presentation straightforward. GLSL shader upscaling is available for enlarging the image, while an FPS limiter and VSync provide frame-rate and synchronization controls.
Optional mouse-sensitivity scaling addresses input feel, and automatic saving and restoration of window position, size, and state helps preserve a preferred layout. These are practical adjustments for older games, not a substitute for renderer compatibility.
Pricing
cnc-ddraw costs free, with no paid tier described. The MIT License permits use, copying, modification, distribution, sublicensing, and sale, subject to its terms. This is a strong fit for players who want a no-cost compatibility layer and are comfortable following the license terms; the main cost is the effort of checking the game’s renderer and handling setup or troubleshooting.
Platforms
The project supports Windows ME, 2000, XP, Vista, 7, 8, 10, and 11, as well as Wine on Linux, macOS, Android, and virtual machines. On Windows, setup is to download cnc-ddraw.zip, extract it into the game folder, and start the game. For Wine on Linux, macOS, or Android, users must override ddraw in winecfg manually or run cnc-ddraw config.exe once.
When a game fails to start or crashes, the project’s instructions ask users to generate and upload a debug log and point to the wiki for game-specific setup. That troubleshooting route is useful, but it means some cases may require more than extracting the files and launching the game.
Who it's for
Choose cnc-ddraw if an older 2D game uses DirectDraw software rendering and suffers from display, performance, crash, or Alt+Tab problems. Its multiple renderers, display modes, and scaling options make it more adaptable than a single-purpose display fix.
Look elsewhere if the game uses Direct3D, or if you need a general-purpose solution for Windows applications. The key compatibility check is the game’s renderer, not just its age or whether it appears on the project’s title list.
Pros and cons
- Pros: Free and MIT-licensed, with Windows, Linux, macOS, and Android environments supported.
- Pros: Multiple renderers, display modes, shader upscaling, and input and frame-rate controls address several common issues in older 2D games.
- Cons: DirectDraw software rendering is required; Direct3D games are unsupported.
- Cons: Wine setup requires a ddraw override or a one-time configuration step, and crashes may call for logs and game-specific instructions.
Alternatives
For a broader set of options, browse Game Compatibility Layers. Android users comparing free tools can consider Bannerlator, which has no support commitment and compatibility that varies by GPU, Android version, and game. GameHub offers free platform access across Android, iOS, and macOS, while cloud gaming and streaming require a stable network. Winlator is a free Android application for running Windows (x86_64) applications.
FAudio is a free option for audio-related needs, with commercial use permitted under its zlib license and SDL 3.2.0 or newer required. Box64 is another free option for Android and Linux. OpenNative is a free Android option. TDF is free for GNU/Linux on x86_64 with a GPU supporting Vulkan 1.3 or newer. Box86 is a free Linux option that requires a 32-bit Linux subsystem and 32-bit libraries.
Verdict
Choose cnc-ddraw for an older 2D game that uses DirectDraw software rendering and needs help with display or compatibility behavior. Its no-cost, multi-renderer toolkit is the main reason to try it; the strict renderer requirement is the reason to look elsewhere when a game depends on Direct3D.