NickeManarin/ScreenToGif · critical · GraphicsConfigurationException
The Desktop Duplication API is not supported on this compute
Error message
The Desktop Duplication API is not supported on this computer.
What it means
Thrown by DirectImageCapture when DuplicateOutput raises a SharpDXException with the Unsupported DXGI result code. DDA requires Windows 8 or later and a graphics driver (WDDM 1.2+) that supports DXGI 1.2. The Unsupported code means the platform cannot provide desktop duplication at all.
Source
Thrown at ScreenToGif/Capture/DirectImageCapture.cs:194
});
using (var factory = new Factory1())
{
//Get the Output1 based on the current capture region position.
using (var output1 = GetOutput(factory))
{
try
{
//Make sure to run with the integrated graphics adapter if using a Microsoft hybrid system. https://stackoverflow.com/a/54196789/1735672
DuplicatedOutput = output1.DuplicateOutput(Device);
}
catch (SharpDXException e) when (e.Descriptor == SharpDX.DXGI.ResultCode.NotCurrentlyAvailable)
{
throw new Exception("Too many applications using the Desktop Duplication API. Please close one of the applications and try again.", e);
}
catch (SharpDXException e) when (e.Descriptor == SharpDX.DXGI.ResultCode.Unsupported)
{
throw new GraphicsConfigurationException("The Desktop Duplication API is not supported on this computer.", e);
}
catch (SharpDXException e) when (e.Descriptor == SharpDX.DXGI.ResultCode.InvalidCall)
{
throw new GraphicsConfigurationException("The Desktop Duplication API is not supported on this screen.", e);
}
catch (SharpDXException e) when (e.Descriptor.NativeApiCode == "E_INVALIDARG")
{
throw new GraphicsConfigurationException("Looks like that the Desktop Duplication API is not supported on this screen.", e);
}
}
}
}
/// <summary>
/// Get the correct Output1 based on region to be captured.
/// </summary>
private Output1 GetOutput(Factory1 factory)
{View on GitHub (pinned to a4d0a67c21)
Solutions
- Upgrade to Windows 8/10/11 which support the Desktop Duplication API.
- Update graphics drivers to a version supporting WDDM 1.2+.
- Fall back to an alternative capture method (BitBlt/GDI) when DDA is unsupported.
- Detect OS version at startup and disable DDA-based capture, offering BitBlt instead.
Example fix
// before
catch (SharpDXException e) when (e.Descriptor == SharpDX.DXGI.ResultCode.Unsupported)
{
throw new GraphicsConfigurationException("The Desktop Duplication API is not supported on this computer.", e);
}
// after: catch and switch capture mode
try { DuplicatedOutput = output1.DuplicateOutput(Device); }
catch (SharpDXException e) when (e.Descriptor == SharpDX.DXGI.ResultCode.Unsupported)
{
CaptureMode = CaptureMode.BitBlt; // fall back
LogWriter.Log("DDA unsupported, falling back to BitBlt capture.");
} Defensive patterns
Strategy: fallback
Validate before calling
// Check DDA support at startup
var osVersion = Environment.OSVersion.Version;
if (osVersion < new Version(6, 2)) // Windows 8
{
CaptureMode = CaptureMode.BitBlt; // DDA not supported pre-Win8
} Type guard
static bool IsDesktopDuplicationSupported()
{
return Environment.OSVersion.Version >= new Version(6, 2); // Windows 8+
} Try / catch
try
{
InitializeDesktopDuplication();
}
catch (GraphicsConfigurationException ex) when (ex.Message.Contains("not supported on this computer"))
{
CaptureMode = CaptureMode.BitBlt;
} Prevention
- Check the OS version at startup and disable DDA on Windows 7 or earlier.
- Verify the graphics driver supports WDDM 1.2+ before enabling DDA capture.
- Always implement a BitBlt fallback path for systems without DDA support.
When it happens
Trigger: DuplicateOutput is called on a system that does not meet DDA requirements: Windows 7 or earlier, a VM without GPU acceleration, a graphics driver that predates WDDM 1.2, or a headless/session-0 environment.
Common situations: User is on Windows 7 (DDA was introduced in Windows 8). Graphics driver is outdated or is the Microsoft Basic Display Adapter without proper DDA support. Running inside a virtual machine or RDP session without GPU passthrough. Server SKU without a desktop compositor.
Related errors
- Too many applications using the Desktop Duplication API. Ple
- The Desktop Duplication API is not supported on this screen.
- Looks like that the Desktop Duplication API is not supported
- Could not find a proper output device for the area of L: {Le
- Could not find the specified output device.
AI-assisted analysis of NickeManarin/ScreenToGif@a4d0a67c21 (2026-08-13).
Data as JSON: /api/errors/bbd0663b9721d0d0.
Report an issue: GitHub.