User: Password:
Subscribe / Log in / New account

Darktable 1.1

Did you know...? is a subscriber-supported publication; we rely on subscribers to keep the entire operation going. Please help out by buying a subscription and keeping LWN on the net.

By Nathan Willis
December 5, 2012

Darktable is an open source raw photo converter with built-in image-library-management features, which puts it up against stiff competition. Previous releases boasted a wealth of functionality but were hampered by the application's peculiar user interface. The just-released 1.1 version, however, makes big strides forward in usability while still adding several interesting new features. The new features include front-end functionality, plus a command-line interface and GPU hardware acceleration through OpenCL.

We last looked at Darktable in November 2011, shortly after the release of version 0.9.3. At that time, the application offered a substantial collection of photo adjustment tools via plugins — including several tools not offered by competing raw converters like Rawstudio or RawTherapee. But the interface made them difficult to use: unlabeled controls, nonstandard widgets and status indicators, and a plugin selection palette composed entirely of cryptic, similar-looking logos.

Consequently, the biggest news for most users is that Darktable has evolved into a far more usable product, with interface updates touching most areas of functionality.

Photo editing

    1.1 UI]

All of the same plugins and their icons are still available; they have simply been organized into a scrollable list, with the name of the plugin next to its logo. The downside is that it might look a wee bit less like a TIE fighter's control panel — but it is far more usable. Darktable's editing interface allows you to stack multiple adjustments on top of each other by activating their plugins. This approach is different from the model employed by other raw editors (Rawstudio, for example) in which the adjustments available are presented as intrinsic qualities of the image. In Rawstudio's approach, for instance, an image has one tone curve, and you can change it or leave it alone. In Darktable, you can adjust the "base curve," but you can also apply (for example) high-pass or low-pass filters, each of which adjusts the curve in its own particular way. Order is important in Darktable's approach; if you desaturate an image then try to adjust its color balance, you will not have much to play with.

One of the benefits of Darktable's approach is that the developers can implement quirky and original features as plugins — effects that incorporate several types of adjustment at once. In older Darktable releases, though, some of these unique effects filters exhibited the most troublesome usability hangups. The new release fixes almost all of the issues: most of the curves, axes, and units are labeled, and in most cases it is clear what effect changing a widget will have on the image. Where controls remain unclear, there is usually a pop-up tooltip with a decent explanation. Many of the controls now feature a combination label-slider-spinbox akin to the "spin scales" (or as I call them, "spladers"...) now found in GIMP.

There are new plugins and adjustment features on display as well, including conditional blending — which is precisely what it sounds like. Conditional blending allows you to apply a blend mode (e.g., "multiply" or "soft light") only to regions of the image that fall within a particular color or brightness range. There is also a nice equalizer plugin that enhances local contrast, bringing out small image details without radically affecting the overall tone of the picture.

Speaking of user interfaces, the 1.1 release also introduces a command-line interface, darktable-cli. At the moment, it is only capable of resizing images, but the potential for using Darktable in scripting is intriguing.

Photo juggling

Those of us not blessed with obsessive-compulsive tendencies tend to let our file storage get messy. In the old days, photographers would have called this the "shoebox problem" in reference to stacks of boxes filled with negatives and prints. A fully digital workflow alleviates this to some degree, but hunting for a half-remembered image in the desktop environment's file manager remains a slow and frustrating ordeal. Although an entire category of application has sprung up to offer a hand (the "image manager" like Shotwell or Digikam), most raw photo editors are still forced to incorporate some file collection management and search functionality, simply to save the user from switching back and forth repeatedly.

Darktable 1.1 adds muscle to its file management skills. By far the flashiest new feature is similar-image-search, which scours the database of imported image files looking for photos that appear "similar" visually — as scored by histogram, color, and lightness . I am particularly partial to this feature because it was one of the main selling points of imgSeek, a now-defunct project that was the subject of my first-ever published review, and remains a rarely-seen feature. As was the case with imgSeek, the results of similar-image-searching are imprecise, but if you have imported your entire collection, it would surely assist you in finding the odd mis-labeled image buried in a strange directory.

Darktable also allows you to categorize images in "film rolls" (which despite the now-archaic terminology are merely named collections), in addition to applying keywords, tags, and other metadata. How keywords differ from tags is not explained, other than the fact that they reside on opposite sides of the screen. What is more distinctive is support for geotagging images, complete with a colorful map widget. The map feature is not fully integrated into the other image management tools — instead, it is one of the four top-level application tabs (the other three being image management, photo editing, and tethering). Finally, the application has a new "Group images" mode (which is toggled on or off with a G button in the upper toolbar) which, when activated, hides redundant images, such as the JPEG versions of existing raw photos.

Darktable 1.1 thus gives you multiple ways to find the image you are thinking of, based on automatic or user-assigned metadata, image properties, and the photo's point of origin. The application also gives you quick access to common editing tasks from within the image management tab. Direct export is the most obvious task, but Darktable can also take a select set of differently-exposed images and blend them into a high dynamic range (HDR) image, or it can immediately apply a user-defined "style" with one click of a button. These styles amount to templates; to define one you select an image to which you have made changes and save its current state as a new style.

Shoot first, accelerate later

The last of the new user-visible features in the new release is support for live previews in tethered shooting mode. Tethered shooting refers to capturing images from a camera connected to the computer over USB. There are several practical reasons for tethering, including the ability to see larger and higher-quality output than can be displayed on a camera's LCD screen. But tethered shooting can also be helpful when setting up complicated studio shots, such as time-lapses, macro-photography, or tricky-to-capture phenomena (imagine capturing the arrow-striking-an-apple shot, for instance). Live preview makes setting up and double-checking these carefully-managed shoots far simpler.

Darktable 1.1 has new features under the hood, too. The most prominent is support for GPU-based hardware acceleration, which arrives courtesy of OpenCL. OpenCL support benefits users by speeding up image transformations. When working with high-megapixel raw images, every speed increase is important, because users want to see even minute changes in settings reflected as soon as possible on the screen. The trend in camera-making is to add more megapixels with every release, of course, and these days the low end of the price spectrum offers more pixels than the high end did a few years ago — so time-saving is not the concern of professional photographers alone. Darktable, like GIMP, uses the GEGL library to perform image transformations. As we mentioned in May 2012, GEGL has been slowly but surely adding OpenCL support to its operations in recent years, most recently through the work of developer Victor Oliveira. OpenCL "kernels" are functions which can be executed in parallel on GPUs or CPUs, and they are architecture-independent (unlike, for example, NVIDIA's CUDA). Thus, systems with a supported GPU automatically get GPU acceleration, but all multi-core CPU systems automatically get multi-threading, too. At the moment, the proprietary graphics drivers from NVIDIA and ATI offer the best support for OpenCL, although the Nouveau driver project is making progress on its own.

The list of changes since the Darktable 0.9 series includes other features, too, but the most significant for the average user will no doubt be the improved user interface. There are still quirks, but the team has done an excellent job of fixing the biggest usability blockers — and doing so without sacrificing the design aesthetic that earlier releases established. Darktable's approach to image editing has always been different from the other open source raw converters. When its own user interface does not get in the way, it makes a much stronger case — and, more importantly, it lets the user experiment with the unique features, and stumble across interesting effects.

(Log in to post comments)

Darktable 1.1

Posted Dec 5, 2012 18:17 UTC (Wed) by gidoca (subscriber, #62438) [Link]

> Order is important in Darktable's approach; if you desaturate an image then try to adjust its color balance, you will not have much to play with.
I don't think this is the case. As far as I know, the order in which the plugins are applied to an image is fixed, independent from the order in which they are activated. seems to confirm this.

Darktable 1.1

Posted Dec 6, 2012 12:14 UTC (Thu) by boucman2 (subscriber, #81743) [Link]

(darktab dev speaking here)

indeed, the order in which the modules are applied is fixed, this is done to maximize the final quality by minimizing the number of change in colorspace and resulting quantification artifacts

you can see the complete order by clicking on the selected group tab (thus unselecting it) the modules will all be displayed in the order in which they are applied (bottom to top)

Darktable 1.1

Posted Dec 6, 2012 20:54 UTC (Thu) by man_ls (guest, #15091) [Link]

This is very interesting. So DarkTable feautures non-destructive editing? You can deactivate any filter and you get back the original result, as opposed to Gimp? This seems incredibly useful. I just installed it, thanks!

Darktable 1.1

Posted Dec 7, 2012 5:02 UTC (Fri) by rgmoore (✭ supporter ✭, #75) [Link]

As I understand it, this is one of the key features of GEGL, which the article says is the technology underpinning Darktable and should be coming soon to a GIMP near you. The idea is that picture edits are treated as a directed acyclic graph, where the vertices are images and the edges are transformations. It can cache intermediate images to speed up processing, but the basic approach is to store the original image and the transformations rather than the final image.

Darktable 1.1

Posted Dec 7, 2012 16:22 UTC (Fri) by boucman2 (subscriber, #81743) [Link]

No, there was some experimenting with GEGL, but darktable isn't using GEGL yet.

your analysis of GEGL is correct, though

Darktable 1.1

Posted Dec 9, 2012 17:56 UTC (Sun) by simosx (subscriber, #24338) [Link]

If you use Ubuntu 12.04 or 12.10, you can install Darktable 1.1 from the PPA at

Darktable 1.1

Posted Dec 15, 2012 21:14 UTC (Sat) by thedevil (guest, #32913) [Link]

By the way, RawTherapee has had a command line interface for a while, and you can do pretty much anything you can do with the GUI (provided you set up a "profile" for the action, but profiles are text files so you could create one on a fly in a script as well). I was seriously considering Darktable because a stable RawTherapee release is slow in coming, but this sounds like a showstopper for now.

Darktable 1.1

Posted Dec 25, 2012 9:22 UTC (Tue) by prokoudine (guest, #41788) [Link]

"Darktable, like GIMP, uses the GEGL library to perform image transformations." — oh, but it doesn't :)

Darktable 1.1

Posted Jan 2, 2013 23:46 UTC (Wed) by s0f4r (guest, #52284) [Link]

The plugin *list* is a major improvement - I've wasted sometimes minutes using flaky mouseover tooltips to identify what the pretty icons mean trying to find e.g. the lens correction plugin. I'll certainly update and try to use it again. Until now it had fallen out of my digital workflow mostly because of this.

Copyright © 2012, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds