Darktable
darktable is an open source photography workflow application and raw developer
Install / Use
/learn @darktable-org/DarktableREADME
darktable

darktable is an open source photography workflow application and non-destructive raw developer - a virtual lighttable and darkroom for photographers. It manages your digital negatives in a database, lets you view them through a zoomable lighttable and enables you to develop raw images, enhance them and export them to local or remote storage.

darktable is not a free Adobe® Lightroom® replacement.
Table of Contents
- Documentation
- Website
- Requirements
- Installing
- Updating from older versions
- Obtaining extensions
- Building
- Using
- Contributing
- FAQ
- Why is my camera not detected when plugged-in ?
- Why is my lens not detected/corrected in darkroom ?
- Why do the thumbnails in the lighttable view look different to the preview in the darkroom view ?
Documentation
The darktable user manual is maintained in the dtdocs repository.
Lua API documentation is maintained in the luadocs repository.
Website
The website (https://www.darktable.org/) is maintained in the dtorg repository.
Requirements
Supported platforms
- Linux
- FreeBSD
- NetBSD
- OpenBSD
- Windows 10 and later
- Apple Silicon Macs running macOS 14 and later
- Intel Macs running macOS 15 and later
Big-endian platforms are not supported.
32-bit platforms are not officially supported - they might or might not work.
Both darktable and the libraries it uses are developed on the Linux platform. Therefore, other platforms MAY have additional bugs that are not present in the Linux version. In addition, for example, on the Windows platform, printing support is not currently implemented. So we recommend, if you have a choice of platform, to use darktable on Linux.
Hardware
(workable minimum / recommended minimum):
- RAM: 4 GB / 8 GB
- CPU: Intel Pentium 4 (Core 2 for Windows) / Intel Core i5 4×2.4 GHz
- GPU: none / Nvidia with 1024 CUDA cores, 4 GB, OpenCL 1.2 compatible
- free disk space: 250 MB / 1 GB
darktable can run on lightweight configurations (even on a Raspberry Pi), but expect modules like denoise, local contrast, contrast equalizer, retouch or liquify to be slow beyond usable.
A GPU is not mandatory but is strongly recommended for a smoother experience. Nvidia GPUs are recommended for safety because some AMD drivers behave unreliably with some modules (e.g. local contrast).
AI features (optional)
Darktable includes optional AI-powered features such as object masks, denoise and upscale.
These require building with -DUSE_AI=ON (off by default), or --enable-ai when building
with the build helper script build.sh. AI features are disabled by default in preferences
and must be enabled by the user. Models are downloaded from the AI tab in preferences.
CPU inference is bundled and works out of the box - no additional software is needed. On macOS (Apple Silicon), CoreML acceleration and on Windows, DirectML GPU acceleration are also bundled by default. Processing on CPU is slower than GPU but requires no special hardware.
GPU acceleration significantly speeds up AI inference but requires installing a GPU-enabled build of ONNX Runtime separately:
- NVIDIA (CUDA): Linux and Windows.
- CUDA Toolkit 12.x (for ONNX Runtime 1.20+)
- cuDNN 9.x (for ONNX Runtime 1.20+)
- Recommended: 8 GB+ VRAM
- AMD (ROCm): Linux only.
- ROCm 6.x (for ONNX Runtime 1.20+)
- MIGraphX (may require separate install, e.g.
apt install migraphx migraphx-devon Ubuntu) - Supported AMD GPU (RDNA2/CDNA or newer), see compatibility matrix
- Intel (OpenVINO): Linux and Windows.
- Intel integrated GPU (Gen9+), discrete Arc GPU, or NPU (Meteor Lake+)
- Windows (DirectML): works with any DirectX 12 compatible GPU (NVIDIA, AMD, Intel).
- Windows 10 1903+ (DirectML is a system component)
- macOS (Apple Silicon): CoreML acceleration is used automatically. No extra install needed.
GPU memory: 4 GB VRAM minimum, 8 GB+ recommended. With less memory darktable will use smaller tiles, which is slower but still works.
To enable GPU acceleration, set the path to the GPU-enabled ONNX Runtime library in
preferences → processing → AI. darktable will auto-detect available execution providers.
You can verify which provider is active by running darktable with -d ai for debug output.
Installing
If the latest release is still not available as a pre-built package for your distribution, you can build the software yourself following the instructions below.
Latest release
5.4.1 (stable)
- Download package for Windows
- Download disk image for macOS on Apple Silicon
- Download disk image for macOS on Intel
- Download AppImage for Linux
- Install native packages or add a third-party repository for Linux distros
- Install Flatpak package for Linux
- More information about installing darktable on any system
When using a pre-built package, ensure that it has been built with Lua, OpenCL, OpenMP and Colord support.
These are optional and will not prevent darktable from running if missing,
but their absence will degrade the user experience.
You can check for them by running darktable with the --version command line option.
Development snapshot
The development snapshot reflects the current state of the master branch. It is intended for testing and is generally not safe. See the notes below for warnings and precautions about using the master branch.
- Install native packages directly or add third party repository for some Linux distros (one snapshot per day)
- Binary packages are provided for Linux (AppImage), macOS and Windows on a nightly basis
Updating from older versions
When updating darktable from an older release, you only need to install the newest version. Existing files will be preserved.
However, newer releases occasionally need to change the structure of the library database (containing the whole list of images known to darktable, with their editing history). If this happens you will be prompted with a request to either upgrade the database or close the software.
Migration to a newer database structure/newer release means that your edits (both new and old) will no longer be compatible with older versions of darktable. Upgrades are definitive. Newer versions are always compatible with older edits, but newer edits are generally not compatible with older versions.
darktable automatically backs up the library database when a new version causes it to be upgraded
(in ~/.config/darktable/library.db-pre-3.0.0 for example), so
you can revert to the previous release by restoring this backup if needed
(simply rename it to library.db).
You will not be able to open the newer version of the database with a version of darktable that only supports the older version of the database. This is impossible because the older application does not know how the database schema has changed, so its code will not be able to work with it.
You will be able to import images with an XMP sidecar file that contains newer versions of processing modules or new modules,
