FREEDOM251

Freedom251 › Game Compatibility Layers

cnc-ddraw

Free plan Open source AndroidLinuxMacSelf-hostedWindows

Visit cnc-ddraw Alternatives Pricing

cnc-ddraw's own site

What cnc-ddraw is

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 suits

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 it does well

  • 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.

Limits

The game must use a DirectDraw Software renderer; cnc-ddraw does not support Direct3D games. The listed game compatibility list is incomplete and is not usually updated.

Plans

PlanBilled and limitsPrice
cnc-ddrawMIT-licensed software · requires a game with a DirectDraw (Software) rendererFree

As github.com lists them, read 28 Sept 2026. The maker's own page has the final word.

Getting started

  1. Download cnc-ddraw.zip from the project website.
  2. Extract the archive into the game folder.
  3. Start the game.
  4. For Wine on Linux, macOS, or Android, configure the ddraw override in winecfg or run cnc-ddraw config.exe once.
  5. If a game fails to start or crashes, generate and upload a debug log, and consult the wiki for game-specific setup steps.

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 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.

Verdict

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.

Questions

How much does cnc-ddraw cost?

The listed plan is free. It is MIT-licensed software.

Which systems are listed as supported?

The project lists Windows, Wine on Linux, macOS, Android, and virtual machines.

What kind of game does it support?

The game must use a DirectDraw Software renderer. Direct3D games are not supported.

How do I install it?

Download cnc-ddraw.zip, extract it into the game folder, and start the game.

What license does it use?

The software is provided under the MIT License, which permits use, copying, modification, distribution, sublicensing, and sale subject to its terms.

Facts from cnc-ddraw's own pages

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, 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, 28 Sept 2026
Compatibility problems addressed
The project targets black screens, poor performance, crashes and broken Alt+Tab behavior. · github.com, 14 Oct 2026
Direct3D limitation
The wrapper does not support games whose renderer is Direct3D rather than DirectDraw software rendering. · github.com, 14 Oct 2026
Display modes
The wrapper supports windowed, exclusive fullscreen and borderless modes. · github.com, 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, 14 Oct 2026
Frame control
An FPS limiter and VSync option are included. · github.com, 14 Oct 2026
Fullscreen toggle
Alt+Enter switches between fullscreen and windowed modes. · github.com, 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, 28 Sept 2026
Game-specific work
The project warns that some games need extra steps documented in its wiki. · github.com, 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, 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, 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, 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, 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, 14 Oct 2026
Installation
Installation consists of downloading cnc-ddraw.zip, extracting it into the game directory and starting the game. · github.com, 14 Oct 2026
Latest release
GitHub lists version 7.1.0.0 as the latest release, published on 28 December. · github.com, 14 Oct 2026
License
The repository is released under the MIT License, permitting use, modification, distribution and sublicensing with the notice retained. · github.com, 14 Oct 2026
Limit
The game must have a DirectDraw (Software) renderer; cnc-ddraw does not support Direct3D games. · github.com, 28 Sept 2026
Limit: game-specific input
A Red Alert 2 support thread says the older game cannot remap its mouse buttons like newer Command & Conquer titles. · reddit.com, 14 Oct 2026
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. · reddit.com, 14 Oct 2026
Limit: renderer availability
The same user reported that the cnc-ddraw renderer was missing from the TS configuration menu after patching. · reddit.com, 14 Oct 2026
Maker identity
The repository is owned by the GitHub account FunkyFr3sh, whose profile lists 23 repositories and 142 followers. · github.com, 14 Oct 2026
Mouse scaling
The configuration supports optional mouse-sensitivity scaling. · github.com, 14 Oct 2026

Where cnc-ddraw stands on Freedom251

Look at these too