cnc-ddraw
github.com
What it is
cnc-ddraw reimplements DirectDraw to address compatibility problems in older 2D games, including black screens, poor performance, crashes, and faulty Alt+Tab behavior. It can use GDI, OpenGL, or Direct3D 9 rendering, selecting a renderer automatically. Display options include windowed, fullscreen exclusive, and borderless modes; Alt+Enter switches between fullscreen and windowed. GLSL shaders provide upscaling, and other options include an FPS limiter, VSync, mouse sensitivity scaling, and saving and restoring window position, size, and state. The project lists Windows, Linux through Wine, macOS, Android, and virtual machines as supported environments. Setup involves extracting cnc-ddraw.zip into the game folder and starting the game. Wine users must configure the ddraw override in winecfg or run cnc-ddraw config.exe once. The game must use a DirectDraw Software renderer; Direct3D games are not supported. cnc-ddraw is free under the MIT License.
Spec sheet
- What it does
- cnc-ddraw reimplements the DirectDraw API to improve compatibility for older 2D games.Read 14 Oct 2026 · github.com
- Purpose
- cnc-ddraw reimplements the DirectDraw API to improve compatibility in older 2D games that have issues such as black screens, poor performance, crashes, or defective Alt+Tab behavior.Read 28 Sep 2026 · github.com
- License
- The repository is released under the MIT License, permitting use, modification, distribution and sublicensing with the notice retained.Read 14 Oct 2026 · github.com
- 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.Read 14 Oct 2026 · github.com
- 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.Read 28 Sep 2026 · github.com
- Compatibility problems addressed
- The project targets black screens, poor performance, crashes and broken Alt+Tab behavior.Read 14 Oct 2026 · github.com
- Direct3D limitation
- The wrapper does not support games whose renderer is Direct3D rather than DirectDraw software rendering.Read 14 Oct 2026 · github.com
- Display modes
- The wrapper supports windowed, exclusive fullscreen and borderless modes.Read 14 Oct 2026 · github.com
- Documentation and support
- Support is handled through the GitHub wiki, issues and requested debug-log uploads for startup or crash failures.Read 14 Oct 2026 · github.com
- Frame control
- An FPS limiter and VSync option are included.Read 14 Oct 2026 · github.com
- Fullscreen toggle
- Alt+Enter switches between fullscreen and windowed modes.Read 14 Oct 2026 · github.com
- Game compatibility
- The repository lists many supported classic games and says the list is incomplete and is not usually updated.Read 28 Sep 2026 · github.com
- Game-specific work
- The project warns that some games need extra steps documented in its wiki.Read 14 Oct 2026 · github.com
- 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.Read 14 Oct 2026 · pcgamingwiki.com
- Independent Linux limitation
- The same guide reports that some Wine setups can still show major menu artifacts and recommends trying different renderers.Read 14 Oct 2026 · wip-documentation-mkdocs.readthedocs.io
- Independent Linux setup
- A CnC tools guide installs cnc_ddraw into a dedicated Wine prefix with winetricks.Read 14 Oct 2026 · wip-documentation-mkdocs.readthedocs.io
- Independent renderer guidance
- CnC Tools documentation says GDI can help with tab-switching problems, though it uses an older renderer.Read 14 Oct 2026 · cc-resource-docs.readthedocs.io
- 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.Read 14 Oct 2026 · cc-resource-docs.readthedocs.io
- Installation
- Installation consists of downloading cnc-ddraw.zip, extracting it into the game directory and starting the game.Read 14 Oct 2026 · github.com
- Latest release
- GitHub lists version 7.1.0.0 as the latest release, published on 28 December.Read 14 Oct 2026 · github.com
- Limit
- The game must have a DirectDraw (Software) renderer; cnc-ddraw does not support Direct3D games.Read 28 Sep 2026 · github.com
- Limit: game-specific input
- A Red Alert 2 support thread says the older game cannot remap its mouse buttons like newer Command & Conquer titles.Read 14 Oct 2026 · reddit.com
- Limit: performance
- A Reddit test on Windows NT 4.0 found only the GDI renderer usable and described performance as very poor on period hardware.Read 14 Oct 2026 · reddit.com
- Limit: renderer availability
- The same user reported that the cnc-ddraw renderer was missing from the TS configuration menu after patching.Read 14 Oct 2026 · reddit.com
- Maker identity
- The repository is owned by the GitHub account FunkyFr3sh, whose profile lists 23 repositories and 142 followers.Read 14 Oct 2026 · github.com
- Mouse scaling
- The configuration supports optional mouse-sensitivity scaling.Read 14 Oct 2026 · github.com
- Other features
- It includes an FPS limiter, VSync, optional mouse sensitivity scaling, and automatic saving and restoring of window position, size, and state.Read 28 Sep 2026 · github.com
- Praise: usability
- A Steam Deck guide recommends extracting cnc-ddraw into the game directory and loading ddraw through a Wine DLL override.Read 14 Oct 2026 · steamcommunity.com
- Praise: visual and Alt-Tab behavior
- A Tiberian Sun user reported that cnc-ddraw runs better, looks better and handles Alt-Tab without changing other windows to the game's resolution.Read 14 Oct 2026 · reddit.com
- Release compatibility fix
- Version 7.1 fixed FPS-limiter problems when running through Wine on Linux, macOS and Android.Read 14 Oct 2026 · github.com
- Release security maintenance
- Version 7.1 updated proxy DLLs to reduce antivirus false positives.Read 14 Oct 2026 · github.com
- Renderer backends
- It provides GDI, OpenGL and Direct3D 9 renderers and can select among them automatically.Read 14 Oct 2026 · github.com
- Renderers
- It supports GDI, OpenGL, and Direct3D 9 renderers, with automatic renderer selection.Read 28 Sep 2026 · github.com
- Scaling
- It supports upscaling through GLSL shaders.Read 28 Sep 2026 · github.com
- Setup
- The instructions say to download cnc-ddraw.zip, extract it into the game folder, and start the game.Read 28 Sep 2026 · github.com
- Shader integration
- The project has preliminary support for libretro shaders.Read 14 Oct 2026 · github.com
- Source and build files
- The repository includes C/C++ source directories, a Makefile and Visual Studio solution and project files.Read 14 Oct 2026 · github.com
- Supported games
- The README lists more than 200 supported games and says the list is incomplete.Read 14 Oct 2026 · github.com
- Supported systems
- The README lists Windows ME through Windows 11, Wine on Linux, macOS and Android, plus virtual machines.Read 14 Oct 2026 · github.com
- Troubleshooting
- For games that fail to start or crash, the README asks users to generate and upload a debug log; it also directs users to the wiki for game-specific setup steps.Read 28 Sep 2026 · github.com
- Upscaling
- GLSL shaders provide image upscaling.Read 14 Oct 2026 · github.com
- Window state
- Window position, size and state can be saved and restored automatically.Read 14 Oct 2026 · github.com
- Wine setup
- On Wine for Linux, macOS or Android, users must override ddraw in winecfg or run cnc-ddraw config.exe once.Read 14 Oct 2026 · github.com
Plans and prices
Strong points and limits
Strong points
- Supports GDI, OpenGL, and Direct3D 9 renderers.
- Offers windowed, exclusive fullscreen, and borderless modes.
- Includes GLSL upscaling, FPS limiting, and VSync.
- Listed for Windows, Linux, macOS, and Android.
Limits
- Requires a DirectDraw Software renderer.
- Does not support Direct3D games.
- Wine requires an additional ddraw configuration step.
Who it suits
It suits players trying to run older 2D games that use a DirectDraw Software renderer. It is not for Direct3D games.
cnc-ddraw in depth
Read the full write-up
Overview
cnc-ddraw is a free compatibility layer for classic 2D games that use DirectDraw. It is best suited to players trying to resolve display or performance problems in those titles; its narrow renderer requirement makes it a poor fit for other older games.
It reimplements DirectDraw at runtime, with multiple rendering options and controls for windowing and scaling. The central caveat is decisive: the game must use a DirectDraw software renderer, not Direct3D.
Key features
GDI, OpenGL, and Direct3D 9 rendering are supported, with automatic renderer selection. That gives compatible games several rendering paths without requiring a manual choice. The Direct3D 9 option is a renderer cnc-ddraw can use; it does not remove the requirement that the game itself use DirectDraw software rendering.
Windowed, fullscreen-exclusive, and borderless modes cover different desktop setups, while Alt+Enter switches between windowed and fullscreen. GLSL shader upscaling can improve the presentation of older games. An FPS limiter, VSync, optional mouse-sensitivity scaling, and automatic saving and restoration of window position, size, and state add practical controls, though none expands the range of supported game renderers.
Setup is direct for a compatible game: extract cnc-ddraw.zip into the game folder and start the game. Under Wine on Linux, macOS, or Android, users must also override ddraw in winecfg or run cnc-ddraw config.exe once. If a game fails to start or crashes, the project directs users to generate and upload a debug log and consult the wiki for game-specific setup steps.
The project lists many classic games, but says the list is incomplete and not usually updated. A title's absence from the list therefore does not settle whether it will work.
Pricing
cnc-ddraw costs free. The free plan is the MIT-licensed software itself, with no paid tier identified. The MIT License permits use, copying, modification, distribution, sublicensing, and sale subject to its terms. The practical limit is compatibility: a game needs a DirectDraw software renderer.
Platforms
Supported environments include Windows ME, 2000, XP, Vista, 7, 8, 10, and 11; Wine on Linux, macOS, and Android; and virtual machines. Wine use entails an extra configuration step.
Who it's for
Choose cnc-ddraw when a classic 2D game uses DirectDraw software rendering and suffers from black screens, poor performance, crashes, or defective Alt+Tab behavior. It is not the right tool for a Direct3D game, and the compatibility list is not a definitive guide to every title.
Pros and cons
Pros: Multiple renderers with automatic selection give compatible games options for addressing graphics problems.
Pros: Window modes, Alt+Enter, shader upscaling, and frame and input controls address common display and playability needs.
Pros: The free MIT-licensed release can be used, modified, and redistributed subject to the license terms.
Cons: DirectDraw software rendering is mandatory; Direct3D games are unsupported.
Cons: Wine setup requires an additional ddraw override or configuration run, and troubleshooting may require a debug log or game-specific wiki guidance.
Alternatives
Game Compatibility Layers is a useful starting point if the game's graphics path makes cnc-ddraw unsuitable.
GameHub is a better fit for Android, iOS, or macOS users seeking cloud gaming and streaming, which require a stable network.
Bannerlator is an Android option, though compatibility varies by GPU, Android version, and game, with no support commitment.
DXVK is an option for Linux or Windows when Vulkan is available; Linux/Wine use requires a compatible Vulkan driver.
PlayOnLinux suits Linux or macOS users looking for another free option, with the caveat that not all games are supported and performance may occasionally decrease.
Sober is a free unofficial project for Linux desktop users.
TDF is a Linux and self-hosted option for x86_64 systems with a GPU supporting Vulkan 1.3 or newer.
vkd3d-proton is another free project for Linux or Windows.
CrossOver suits Linux or macOS users who want a paid option with a 14-day free trial; CodeWeavers says it releases 95% of the Wine code it develops for CrossOver back to Wine.
Verdict
Choose cnc-ddraw if the game you want to run uses DirectDraw software rendering and needs better display compatibility: its renderer choices and useful window and scaling controls come at no cost. Look elsewhere if the game uses Direct3D, since that requirement puts it outside cnc-ddraw's scope.
Verdict
cnc-ddraw provides display and rendering options for compatible older 2D games. Check that a game uses DirectDraw Software before setting it up.
Where Specifiction places it
- Game Compatibility Layers#1 of 279.0