Darktable is an open-source photography workflow application that handles RAW file processing, photo library management, and non-destructive image editing. Photographers use it to organize thousands of digital negatives, develop RAW files from professional cameras, apply color corrections and lens profiles, and export finished images for print or web. By the end of this guide, you will have Darktable installed on Debian, verified and ready to import your first photo collection.
Choose Your Darktable Installation Method
Debian provides three installation paths for Darktable. Each method offers distinct trade-offs between ease of setup, version currency, and system integration:
| Method | Channel | Version | Updates | Best For |
|---|---|---|---|---|
| APT (Recommended) | Debian Repos | Distro default | Automatic via apt upgrade | Most users who prefer stability and system integration |
| Flatpak | Flathub | Latest upstream | Automatic via flatpak update | Users who want newer features with sandboxed installation |
| Source Compilation | GitHub Releases | Any release or master | Manual recompilation | Developers or users needing custom builds with specific optimizations |
For most users, the APT method is recommended because it integrates directly with your system libraries, receives Debian security updates, and requires no additional framework setup. The Flatpak method provides newer versions but runs in a sandbox with some limitations on system integration. Source compilation gives you complete control over build options and is the only way to run the development master branch.
Darktable versions vary significantly between Debian releases and Flatpak. Debian 13 (Trixie) includes version 5.0.x, Debian 12 (Bookworm) ships 4.2.x, and Debian 11 (Bullseye) provides 3.4.x. Flatpak on Flathub offers the latest upstream release (currently 5.2.x). Source compilation allows any version including the development master branch.
Method 1: Install Darktable with APT
Update System Packages
First, refresh your package index and apply any pending updates to ensure your system has the latest package metadata and security patches:
sudo apt update && sudo apt upgrade -y
Install Darktable
Next, install Darktable from the official Debian repositories:
sudo apt install darktable -y
As a result, APT automatically resolves and installs all required dependencies, including graphics libraries, RAW format support, and color management tools.
Verify the Installation
After installation completes, confirm Darktable is accessible by checking its version:
darktable --version
You should see output similar to the following (the version varies by Debian release):
darktable 5.0.1 Copyright (C) 2012-2025 Johannes Hanika and other contributors.
Your version number will differ depending on your Debian release. Debian 13 shows 5.0.x, Debian 12 shows 4.2.x, and Debian 11 shows 3.4.x. Any version output confirms successful installation.
Method 2: Install Darktable via Flatpak
Alternatively, Flatpak provides the latest Darktable version independent of your Debian release. This method is ideal if you need newer features, want application sandboxing, or prefer consistent versions across different Linux systems.
Enable Flatpak and Flathub
If Flatpak is not already configured on your system, follow our Flatpak installation guide for Debian to set up the framework and add the Flathub repository. This typically takes under five minutes.
Once Flatpak is installed, add the Flathub repository for system-wide access:
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Install Darktable from Flathub
With Flathub configured, install Darktable using the Flatpak package manager:
sudo flatpak install flathub org.darktable.Darktable -y
The -y flag automatically confirms the installation prompt, which is useful for scripted deployments but means you will not see the package list before installation proceeds.
Verify the Flatpak Installation
To verify the installation succeeded, list installed Flatpak applications:
flatpak list --app | grep -i darktable
You should see output similar to the following:
darktable org.darktable.Darktable 5.2.1 stable system
Method 3: Compile Darktable from Source
Additionally, compiling from source gives you access to the latest development version, custom build optimizations for your hardware, and the ability to enable or disable specific features. However, this method requires more time and technical knowledge but provides the most flexibility.
Warning: The master branch is unstable and may corrupt your database or XMP sidecar files. Back up your
~/.config/darktable/directory and any XMP files before testing development builds. For stability, compile from a release tag instead of master.
Install Build Dependencies
First, enable source repositories and install the build dependencies. Darktable has extensive requirements including GTK3, SQLite, Exiv2, and various image format libraries.
Enable deb-src repositories by adding Types: deb-src to your sources configuration:
sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/debian.sources
sudo apt update
Next, install all build dependencies using the build-dep command:
sudo apt build-dep darktable -y
sudo apt install git cmake build-essential libssl-dev -y
Specifically, the build-dep command installs all packages required to compile Darktable as defined in the Debian source package. Additionally, the extra packages provide Git for cloning, CMake for building, and essential development tools.
Clone the Source Repository
For the latest stable release, clone the repository and checkout the release tag:
git clone --recurse-submodules --depth 1 https://github.com/darktable-org/darktable.git
cd darktable
git fetch --tags
git checkout tags/release-5.2.1
Check the GitHub releases page for the current version tag. Replace
release-5.2.1with the latest tag if a newer version is available.
Alternatively, to build the development master branch (unstable):
git clone --recurse-submodules --depth 1 https://github.com/darktable-org/darktable.git
cd darktable
Compile and Install
Darktable provides a build script that handles compilation with sensible defaults. Run the following command to compile with optimizations and install to /opt/darktable:
./build.sh --prefix /opt/darktable --build-type Release --install --sudo
Specifically, this builds Darktable with O3 optimization, SSE/AVX support if available, OpenMP multi-threading, OpenCL GPU acceleration, and Lua scripting support. As a result, compilation takes 10-30 minutes depending on your hardware.
After compilation, create a desktop entry so Darktable appears in your application menu:
sudo ln -sf /opt/darktable/share/applications/org.darktable.darktable.desktop /usr/share/applications/
Verify the Source Build
Finally, confirm the compiled version is accessible:
/opt/darktable/bin/darktable --version
You should see output similar to the following:
darktable 5.2.1 Copyright (C) 2012-2025 Johannes Hanika and other contributors.
Launch Darktable
After installation, you can launch Darktable from either the terminal or your desktop environment’s application menu.
Launch from Terminal
For APT installations, run:
darktable
If you installed via Flatpak, use this command instead:
flatpak run org.darktable.Darktable
Similarly, source-compiled installations require the full path:
/opt/darktable/bin/darktable
Running from terminal displays diagnostic messages that can help troubleshoot OpenCL or camera detection issues. For normal use, launching from the application menu is more convenient.
Launch from Applications Menu
Search for “Darktable” in your desktop environment’s application menu or launcher. The application appears in the Graphics or Photography category on most desktop environments.

On first launch, Darktable creates its configuration directory at ~/.config/darktable/ and prompts you to import your photo library or select a folder to monitor.

Manage Darktable
Update Darktable
Importantly, regular updates provide new features, camera support, and security fixes. The specific update method depends on how you installed Darktable.
APT Update
To update only Darktable without upgrading other system packages:
sudo apt update
sudo apt install --only-upgrade darktable
Alternatively, update all system packages including Darktable:
sudo apt update && sudo apt upgrade -y
Flatpak Update
Update all Flatpak applications including Darktable:
sudo flatpak update -y
Source-Compiled Update
To update a source-compiled installation, pull the latest changes and recompile. First, remove the existing build and installation directories to ensure a clean build:
cd ~/darktable
sudo rm -rf build /opt/darktable
git pull
git submodule update --init
./build.sh --prefix /opt/darktable --build-type Release --install --sudo
Darktable’s build system caches can cause issues when updating. Always remove the
buildand/opt/darktabledirectories before recompiling to avoid conflicts between versions.
Remove Darktable
If Darktable no longer meets your needs, remove it using the method matching your installation.
APT Removal
To uninstall Darktable and clean up orphaned dependencies:
sudo apt remove darktable -y
sudo apt autoremove -y
Flatpak Removal
Alternatively, if you installed via Flatpak, delete the application and its associated data:
sudo flatpak uninstall --delete-data org.darktable.Darktable -y
Source-Compiled Removal
Finally, for source-compiled installations, delete the installation directory, source files, and desktop entry:
sudo rm -rf /opt/darktable
rm -rf ~/darktable
sudo rm -f /usr/share/applications/org.darktable.darktable.desktop
Remove User Configuration Files
Warning: The following commands permanently delete your Darktable configuration, library database, presets, styles, and editing history. Export any presets or styles you want to keep before proceeding. This action cannot be undone.
To remove user configuration and cache directories:
rm -rf ~/.config/darktable/
rm -rf ~/.cache/darktable/
rm -rf ~/.local/share/darktable/
Specifically, these directories contain your library database, editing history, custom presets, and cached thumbnails. However, your original photo files remain untouched in their original locations.
Troubleshooting
Darktable Fails to Start
If Darktable fails to launch or displays OpenCL errors, run it from terminal to see diagnostic output:
darktable -d opencl
Typically, common causes include missing GPU drivers or incompatible OpenCL runtimes. If OpenCL acceleration is not needed, disable it by editing ~/.config/darktable/darktablerc and setting:
opencl=FALSE
Camera Not Detected for Tethering
If Darktable does not detect your camera for tethered shooting, verify your user is in the appropriate groups:
groups $USER
Specifically, your user should be a member of the plugdev group. If not, add yourself and then log out/in:
sudo usermod -aG plugdev $USER
RAW Files Not Recognized
Sometimes, newer camera models may not be supported by older Darktable versions. Therefore, check the Darktable camera support list to verify your camera is supported. If your camera requires a newer version, use the Flatpak installation method or compile from source.
Source Compilation Fails
If the build script fails with missing library errors, ensure all dependencies are installed:
sudo apt build-dep darktable -y
If build-dep fails with “You must put some ‘deb-src’ URIs in your sources.list,” enable source repositories first:
sudo sed -i 's/^Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/debian.sources
sudo apt update
sudo apt build-dep darktable -y
Additionally, for build cache issues causing strange behavior after updating, remove the build directory completely before recompiling:
rm -rf ~/darktable/build
Conclusion
As a result, Darktable is now installed and ready to manage your photography workflow on Debian. You can import RAW files from your camera, organize images in the lighttable, develop photos with non-destructive edits in the darkroom, and export finished images. For further capabilities, explore the tethered shooting mode for studio work, the map module for geotagging, and the print module for high-quality output.