$linuxjunkies
>

Install darktable for RAW Photo Processing

Install darktable on Ubuntu, Fedora, and Arch, then learn importing, the scene-referred pipeline, masking, exporting, and how it compares to RawTherapee.

IntermediateUbuntuDebianFedoraArch10 min readUpdated June 7, 2026

Before you start

  • A camera that produces RAW files (CR2, CR3, NEF, ARW, RAF, DNG, etc.)
  • At least 4 GB RAM; 8 GB+ recommended for high-resolution files
  • sudo or root access to install packages
  • Optional: a compatible GPU and its OpenCL driver for hardware acceleration

darktable is a non-destructive RAW photo processor and virtual lightroom that stores every edit as metadata, leaving your original files untouched. It handles hundreds of camera RAW formats, offers a node-based processing pipeline, and exports to TIFF, JPEG, WebP, and more. This guide covers installation across the major distro families, a practical editing workflow, and how darktable stacks up against RawTherapee for everyday use.

Installation

Ubuntu / Debian

The version in the default Ubuntu repositories is often significantly behind upstream. Use the official PPA or Flatpak to get a current release.

sudo add-apt-repository ppa:ubuntuhandbook1/darktable
sudo apt update
sudo apt install darktable

On Debian stable the PPA is not available; Flatpak is the cleanest option there:

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install flathub org.darktable.Darktable

Fedora / RHEL family

Fedora ships a reasonably current darktable in the default repos. On RHEL 9 / Rocky / AlmaLinux, enable EPEL first.

# Fedora
sudo dnf install darktable

# Rocky / AlmaLinux 9
sudo dnf install epel-release
sudo dnf install darktable

Arch Linux

sudo pacman -S darktable

Arch tracks upstream closely, so this is typically the latest stable release.

Verify the installed version

darktable --version

Output will resemble this is darktable 4.6.1. Versions below 4.0 are missing several modern modules (sigmoid tone-mapping, RGB scene-referred workflow); upgrade if you see anything older than 4.x.

First Launch and Library Setup

darktable organises work around a library database stored in ~/.config/darktable/. On first run it creates this automatically. The library never copies your files — it records file paths, metadata, and edit histories.

Importing photos

Open the Lighttable view (the grid icon, or press L). Click Import in the top-left panel.

  • Add to library — indexes files in-place; preferred for files already on a mounted drive or NAS.
  • Copy & import — copies from a camera card to a destination folder you specify, then indexes. Use this for card ingestion.

Set the destination folder pattern under File handling → Destination. A sensible pattern is $(YEAR)/$(MONTH)/$(DAY) which creates dated subfolders automatically.

Organising with collections and tags

Use the Collections panel (left side of Lighttable) to filter by film roll, date, camera model, or star rating. Right-click any image to assign tags, colour labels, or star ratings. These are written to the sidecar .xmp file, not the RAW itself.

The Darkroom: Core Processing Modules

Double-click an image to enter the Darkroom. darktable's pipeline runs from bottom to top in the module stack; understanding this order prevents confusing interactions.

Since darktable 3.2 the preferred approach is scene-referred: work in linear light, expose correctly, then map to display. Enable it via Preferences → Processing → Auto-apply pixel workflow defaults → scene-referred (filmic). This activates exposure, color calibration, and filmic rgb by default on every import.

Essential modules

  • Exposure — Sets the base brightness. Use the eyedropper on a known grey patch or adjust EV until the histogram sits where you want it.
  • Color calibration — Handles white balance and colour science. Pick a grey or use the built-in illuminant presets. This replaces the old white balance module in scene-referred mode.
  • Filmic rgb — Compresses scene dynamic range into display range. Adjust white relative exposure and black relative exposure sliders to taste; the S-curve in the look tab controls contrast.
  • Tone equalizer — Luminosity-masked dodging and burning. Scroll over the preview to see which zone each region falls into, then drag the corresponding handle.
  • Color zones / Color balance rgb — Use Color balance rgb for global colour grading (shadows/midtones/highlights hue and saturation). Color zones is useful for targeted hue shifts.
  • Denoise (profiled) — Camera-specific noise profiles. Set mode to non-local means auto as a starting point; pull back strength if detail suffers.
  • Lens correction — Applies distortion, CA, and vignette correction from the Lensfun database automatically when camera/lens EXIF is present.

Masking and local adjustments

Almost every module supports a mask. Click the mask icon at the bottom of any module and choose drawn, parametric, or raster. Parametric masks select pixels by luminosity, hue, or saturation ranges — powerful for sky or skin selections without painting. Combine drawn shapes with parametric refinement for precise control.

Styles and presets

Save any set of active modules as a style via Styles → Create style in Darkroom. Apply the same look to multiple images from Lighttable by selecting them and clicking Styles → Apply style. Styles are portable — export and share them as .dtstyle files.

Comparing Images

In Lighttable, select two or more images and press F to enter full-screen compare mode. Click any image to zoom; use the arrow keys to cycle. In Darkroom, the snapshots panel (top of left sidebar) lets you take a snapshot before a destructive-feeling change and compare it with a split-line overlay — drag the line across the image.

Exporting

Select images in Lighttable, then open the Export panel on the right sidebar.

  • Format — JPEG (quality 90–95 for delivery), TIFF 16-bit (for retouching in GIMP or Photoshop), WebP (web), or EXR (HDR pipeline).
  • Output colour profile — sRGB for web/screen delivery; AdobeRGB or display P3 if your client needs wider gamut prints.
  • Resize — Use pixels mode and set the long edge (e.g., 2048 px) for web galleries.
  • Filename template — A token like $(FILE_NAME)_dt_export keeps originals safe.

Click Export. Progress appears in the top bar. darktable exports in parallel using all available CPU cores; GPU acceleration via OpenCL is used automatically if a compatible driver is present.

Enable OpenCL acceleration

# Check whether darktable sees your GPU
darktable --disable-opencl 2>&1 | grep -i opencl

If OpenCL initialises correctly you will see it listed in Preferences → Processing → OpenCL. On NVIDIA hardware install the proprietary driver; on AMD, rocm-opencl-runtime (Arch/Fedora) or the Mesa clover/rusticl stack works for older cards.

darktable vs. RawTherapee

FeaturedarktableRawTherapee
Workflow philosophyScene-referred, linear light pipelineLab-based with scene-referred option (v5.9+)
Noise reductionProfiled denoise + diffuse & sharpenLMMSE, Wavelets; excellent high-ISO results
Colour managementStrong: ICC, built-in profilingStrong: ICC, custom camera profiles
MaskingParametric + drawn, per-moduleLimited; layer-based coming in v6
Tethered shootingYes (via gphoto2)No
Library / DAMYes (Lighttable, tags, collections)Minimal (file browser only)
Learning curveSteeper; scene-referred concepts requiredMore familiar to Photoshop users

RawTherapee often edges ahead on detail recovery from very noisy files and its demosaic algorithms (AMAZE, dual-demosaic) are highly regarded. darktable wins on workflow integration if you need library management, tethering, and per-module masking in one tool.

Verification

After your first export, open the output file in an image viewer and cross-check the embedded EXIF with exiftool:

exiftool your_export.jpg | grep -E 'Color Space|Image Size|Software'

Confirm Software shows darktable, colour space matches what you set, and resolution is correct.

Troubleshooting

darktable crashes on launch

Start from a terminal to see the backtrace. A corrupted database is a common cause; rename ~/.config/darktable/library.db to force a fresh library (your RAW files are untouched). GPU driver bugs also cause startup crashes — try darktable --disable-opencl to rule this out.

RAW file shows as unsupported

Very new camera models may not be in your installed version of LibRaw. Check the darktable camera support page against your version, then upgrade via Flatpak or the PPA to get a newer LibRaw bundled in.

Exports are slow

Confirm OpenCL is active in Preferences. If you are using many modules with high-resolution masks, rendering time increases significantly — disable modules you are not using rather than leaving them toggled off but loaded.

tested on:Ubuntu 24.04Fedora 40Arch rollingDebian 12

Frequently asked questions

Does darktable ever modify my original RAW files?
No. All edits are stored as metadata in the library database and in sidecar .xmp files alongside your originals. The RAW files themselves are never written to.
Which version should I install — the repo package or Flatpak?
Flatpak from Flathub is usually the most current and works consistently across distros. The native package is fine on Arch and recent Fedora releases, but Ubuntu's default repo version is often 1–2 major releases behind.
Can darktable use my GPU to speed up processing?
Yes, via OpenCL. Install the proprietary NVIDIA driver or rocm-opencl-runtime for AMD, then enable OpenCL in Preferences → Processing. A mid-range GPU can cut export times by 50–70%.
How do I apply the same edits to a batch of photos?
Edit one image in Darkroom, then in Lighttable select all target images, right-click the edited image and choose Paste history. Alternatively, save a Style from the edited image and apply it to any selection.
Should I use darktable or RawTherapee?
Use darktable if you need an integrated library manager, tethered shooting, or per-module masking. Reach for RawTherapee if you prioritise aggressive noise reduction and are comfortable working without a DAM.

Related guides