Darktable is a photography development and workflow tool made for Linux distributions. It is an open-source project developed and maintained by a devoted online community. You can use Darktable to manage your digital negatives, organize them in a database, and view them through a zoomable light table, thus allowing you to develop those negatives into raw images. You can also export these images to your local storage or on a remote device. Darktable is often thought of as a free open-source alternative to Adobe Lightroom and is suitable for professional photographers and enthusiasts alike. The following guide tries to help readers who want to install Darktable on Linux.
What Is Darktable?
As mentioned, Darktable is a free and open-source photography workflow app that is primarily used for raw image development. It kind of acts as a digital darkroom for developing negatives, hence the name. The app can also be seen as a free alternative to Adobe Lightroom. The software allows users to edit and develop negatives into raw images without destroying the original. Furthermore, you can use the app to manage colors on the photos and even control your camera directly via your computer.
The app serves as both, a photo development tool and a database management for said photos. As we already mentioned, it is maintained by a dedicated community of photographers and developers who provide regular updates and improvements to the app.
Features
We have listed below a few features of Darktable:
- You don’t have to worry about destroying your original images when editing them, as the original images are saved separately.
- The app works on 4×32-bit floating point pixel buffers and SSE instructions.
- Supported by OpenCL, the images are processed very fast.
- The app supports various color schemes, such as built-in ICC for sRGB, Adobe RGB, XYZ, and linear RGB.
- You can run the app on multiple platforms, including Linux, macOS, Windows, Solaris, and GNOME.
- You are able to search images via tags, image ratings, and even color labels.
- The app supports different file formats such as JPEG, CR2, NEF, HDR, PFM, RAF, etc.
- There is almost no latency and offers a zoomable UI.
- Dozens of languages are also supported.
- And lastly, you can even automate tasks.
Supported platforms
Here is a list of platforms officially supported:
- Linux
- FreeBSD
- NetBSD
- OpenBSD
- Windows 8.1 and later
- macOS 13.5 and later
Note: Darktable doesn’t support Big-endian platforms or 32-bit platforms. Although, you can try using it on 32-bit platforms. Also, Darktable was primarily developed on and for Linux. Thus, other platforms might encounter some bugs that are absent on Linux.
Minimum Requirements
- RAM: 4 GB (8 GB Optimal)
- CPU: Intel Pentium 4, Core 2 (Intel Core i5 4×2.4 GHz for best performance)
- GPU: Not Required (However, for optimal use, try it with Nvidia: 1024 CUDA cores)
- Disk space: 250 MB (1 GB for best performance)
Although you can run Darktable on lightweight systems, (even on a Raspberry Pi), you won’t be able to use modules like Denoise, Local Contrast, Contrast Equalizer, Retouch, or Liquify. Similarly, a GPU is not mandatory but is strongly recommended.
Build Dependencies
You will need the following to build Darktable from Source:
- Clang
- GCC
- MinGW-w64
- XCode
- CMake 3.18
- GTK 3.24.15
- GLib 2.56
- SQLite 3.26
- libcurl 7.56
- Exiv2 0.27.2
- pugixml 1.5
- Lensfun (for automatic lens correction)
- Little CMS 2
- OpenMP 4.5 (for CPU multi-threading and SIMD vectorization)
- LLVM 7
- OpenCL 1.2
- Lua 5.4 (for plugins and extension scripting)
- G’MIC 2.7.0
- libgphoto2 2.5
- Imath 3.1.0
- libavif 0.9.3
- libheif 1.13.0
- libjxl 0.7.0
- WebP 0.3.0
- colord
- Xatom
- PortMidi
- SDL2
- CUPS
- OpenEXR
- OpenJPEG
- GraphicsMagick or ImageMagick
Installing Darktable On Linux
Now, let us start with installing Darktable on Linux. We have listed a few methods you can use to install the app. All you have to do is follow the instructions provided below:
Method 1. Using Native Package Managers To Install Darktable On Linux
The recommended method is to use the package repositories of your Linux distribution to install Darktable. However, note that:
If you are using a pre-built package, ensure it the following:
- Lua
- OpenCL
- OpenMP
- Colord support
Although these dependencies are optional, and won’t prevent you from installing Darktable, for a much richer experience, you will need them.
Ubuntu/Debian
For Ubuntu or Debian distributions, just run the following command in the terminal:
Ubuntu 23.04
echo 'deb http://download.opensuse.org/repositories/graphics:/darktable:/stable/xUbuntu_23.04/ /' | sudo tee /etc/apt/sources.list.d/graphics:darktable:stable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable:stable/xUbuntu_23.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable_stable.gpg > /dev/null
sudo apt update
sudo apt install darktable
Ubuntu 22.04
echo 'deb http://download.opensuse.org/repositories/graphics:/darktable:/stable/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/graphics:darktable:stable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable:stable/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable_stable.gpg > /dev/null
sudo apt update
sudo apt install darktable
Debian Unstable
echo 'deb http://download.opensuse.org/repositories/graphics:/darktable:/stable/Debian_Unstable/ /' | sudo tee /etc/apt/sources.list.d/graphics:darktable:stable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable:stable/Debian_Unstable/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable_stable.gpg > /dev/null
sudo apt update
sudo apt install darktable
Debian Testing
echo 'deb http://download.opensuse.org/repositories/graphics:/darktable:/stable/Debian_Testing/ /' | sudo tee /etc/apt/sources.list.d/graphics:darktable:stable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable:stable/Debian_Testing/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable_stable.gpg > /dev/null
sudo apt update
sudo apt install darktable
On Debian 11
echo 'deb http://download.opensuse.org/repositories/graphics:/darktable:/stable/Debian_11/ /' | sudo tee /etc/apt/sources.list.d/graphics:darktable:stable.list
curl -fsSL https://download.opensuse.org/repositories/graphics:darktable:stable/Debian_11/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/graphics_darktable_stable.gpg > /dev/null
sudo apt update
sudo apt install darktable
Using Binary Package (Ubuntu)
You can always download the pre-built binary package and unpack it:
Step 1. First, download the Binary Package (Deb file) from the official Darktable website.
Or, use the following command:
wget https:// https://download.opensuse.org/repositories/graphics:/darktable:/stable/xUbuntu_23.04/amd64/darktable_4.2.0~git4.64041571-1+77.1_amd64.deb
Step 2. Now, use DPKG to install the file:
sudo dpkg -i ~/Downloads/darktable_4.2.0~git4.64041571-1+77.1_amd64.deb
Step 3. Then, install the missing dependencies:
sudo apt-get install -f
Note: You can get all the binary packages on the official website. The steps are the same as mentioned above, just use the appropriate command, e.g. for Fedora use DNF instead of APT.
Fedora
The process is similar for Fedora or any other distro, just run the following command:
For Fedora Rawhide
dnf config-manager --add-repo https://download.opensuse.org/repositories/graphics:darktable:stable/Fedora_Rawhide/graphics:darktable:stable.repo
dnf install darktable
On Fedora 39
dnf config-manager --add-repo https://download.opensuse.org/repositories/graphics:darktable:stable/Fedora_39/graphics:darktable:stable.repo
dnf install darktable
On Fedora 38
dnf config-manager --add-repo https://download.opensuse.org/repositories/graphics:darktable:stable/Fedora_38/graphics:darktable:stable.repo
dnf install darktable
OpenSUSE
On openSUSE Tumbleweed PowerPC
zypper addrepo https://download.opensuse.org/repositories/graphics:darktable:stable/openSUSE_Tumbleweed_PowerPC/graphics:darktable:stable.repo
zypper refresh
zypper install darktable
For openSUSE Tumbleweed ARM
zypper addrepo https://download.opensuse.org/repositories/graphics:darktable:stable/openSUSE_Tumbleweed_ARM/graphics:darktable:stable.repo
zypper refresh
zypper install darktable
For openSUSE Tumbleweed
zypper addrepo https://download.opensuse.org/repositories/graphics:darktable:stable/openSUSE_Tumbleweed/graphics:darktable:stable.repo
zypper refresh
zypper install darktable
Arch Linux
sudo pacman -S darktable
Linux Mint
sudo apt update
sudo apt install darktable
Gentoo
sudo emerge --sync
sudo emerge media-gfx/darktable
NixOS
nix-env -iA nixpkgs.darktable
FreeBSD
sudo pkg install darktable
Alpine Linux
sudo apk add darktable
Solus
sudo eopkg install darktable
Void Linux
sudo xbps-install -S darktable
Mageia
sudo urpmi darktable
Method 2. Install Darktable With Flatpak
To install Darktable using Flatpak, you will need to do the following:
Step 1. First, install Flatpak:
sudo apt install flatpak
Step2. Now, add the Flathub repository
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
Step 3. Finally, install Darktable using Flathub:
flatpak install flathub org.darktable.Darktable
Method 3. Install Darktable on Linux using AppImage
Step 1. Go to the official Darktable website and download the latest AppImage.
Step 2. Now, make the AppImage executable:
chmod +x darktable-<version>.AppImage
Step 3. Lastly, run the AppImage:
./darktable-<version>.AppImage
Method 4. Compile Darktable From Source
Step 1. First, install the required dependencies for your system:
Ubuntu
sed -e '/^#\sdeb-src /s/^# *//;t;d' "/etc/apt/sources.list" \
| sudo tee /etc/apt/sources.list.d/darktable-sources-tmp.list > /dev/null \
&& (
sudo apt-get update
sudo apt-get build-dep darktable
)
sudo rm /etc/apt/sources.list.d/darktable-sources-tmp.list
Debian
sudo apt-get build-dep darktable
Fedora/CentOS/RHEL
sudo dnf builddep darktable
OpenSUSE
sudo zypper si -d darktable
Step 2. Now, clone the Darktable repository from GitHub:
git clone --recurse-submodules --depth 1 https://github.com/darktable-org/darktable.git
cd darktable
git fetch --tags
git checkout tags/release-4.8.1
Step 3. You will also need the submodules from Git:
git submodule update --init
Step 4. Now compile your build:
./build.sh --prefix /opt/darktable --build-type Release --install --sudo
Note: This is a shell script that automatically builds Darktable on Linux in a single command.
Step 4.1- Alternatively, you can always use a manual build:
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ ..
cmake --build
sudo cmake --install
Method 5. Install Darktable On Linux via Snap
Step 1. First, install Snap on your system:
sudo apt install snapd
Step 2. Then, install Darktable via Snap:
sudo snap install darktable --stable