Skip to content
SPECIFICTION
Get listed

cnc-ddraw

github.com

Free plan Open source WindowsmacOSLinuxAndroidSelf-hosted
Visit github.com
Spec score 9.0 #1 of 27 in Game Compatibility Layers

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

cnc-ddraw Free MIT-licensed software · requires a game with a DirectDraw (Software) renderer Read 28 Sep 2026 · github.com

Every cnc-ddraw plan and price →

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

Alternatives to cnc-ddrawAll alternatives →