|
|
Subscribe / Log in / New account

A look at darktable 2.0

By Nathan Willis
November 11, 2015

The darktable project has unveiled the first release-candidate (RC) packages for its upcoming version 2.0 milestone. Darktable retains its focus as a high-end photo editor in the forthcoming release, with new features that target professional workflows and experienced users. But there are also improvements that will be appreciated by casual shutterbugs.

As a refresher, we previewed darktable's 1.6 release in late 2014. The 1.6 series has seen a set of incremental updates over the past year, generally to update the application's support for new camera models (as well as the occasional bug fix).

The 2.0 branch has seen substantial new work, however—including changes to the way edits are stored on disk. As always, darktable's edits are non-destructive to the original raw or JPEG file, but the updates to the on-disk file format break backward compatibility with the older releases. Users can open an image previously edited with darktable 1.6 in the 2.0 release, but after saving any changes, the edit file will not be readable in 1.6.

The new release is available for download in a source archive for Linux and as an installable OS X application. Compiling from source is straightforward, and the RC release is configured to install itself in /opt/darktable/ (as opposed to /usr/bin/ for stable releases), so it is possible to test out 2.0 while keeping 1.6 around for daily use.

The changes in 2.0 begin with a port from GTK+2 to GTK+3. As is often the case with specialty applications (especially those in the graphics domain), darktable uses its own custom widgets for most of the controls and on-canvas tools, so most users may not notice that a different version of the GUI toolkit is in use—except for those using high-DPI screens, on which darktable will correctly pick up GTK+3's high-DPI support. But it is an important update for the project, and rigorous testing is advisable.

The major new features available in 2.0 include a printing module. This is the first time that darktable has supported print output, which is a feature that photographers can be notoriously picky about. Darktable's print support is CUPS-based, but it includes a large bevy of color-adjustment tools, detailed previewing, and is fully color-managed. In conjunction with that feature, darktable has also added support for soft proofing, or simulating device-specific printer output on the screen. Assuming that the printer and display are properly set up, users can spot color shifts or out-of-gamut problem areas before they send an image out to the printer.

A related feature is the ability to export images directly to PDF. Previously, PDF output and printing have certainly been doable through external applications, of course; integrating them into the application is helpful for the sake of speed. All image-export operations now allow the user to upscale an image (which is primarily useful for print, where one might need a large physical size) and to change the image mode (e.g., to grayscale).

2.0 also allows users to place a watermark on their images before exporting or printing them. This is a feature generally only useful to professional photographers, who may want to add a copyright statement or a warning of some kind (e.g., PROOF). Right now, the feature only supports text watermarks, not images.

[Color reconstruction in
darktable]

Another feature likely to be of keen interest to frequent darktable users is support for keyboard control. Notably, users can now use the keyboard to navigate through image collections, and keyboard accelerators have been added for several of the image adjustment tools. For instance, one can increase or decrease the size or opacity of the brush tool on the fly, without moving the cursor out of the image and over to the tool's control panel. Navigating large image collections is faster through the keyboard, and resizing on-canvas tools as one works is, similarly, a convenience for those who expect to spend a lot of time in the application.

Frequent darktable users may also appreciate some changes to the application's Lua scripting interface. The big update is that Lua scripts can now alter user-interface elements, a change that opens the door to better interactive scripts from outside developers. Personally, I have long been critical of darktable's UI style (in particular the indistinct, often abstract set of symbols used for filters). It remains to be seen whether the darktable community will push the project forward in this respect, but one can hope. The other Lua-related change is that the project has launched a separate GitHub repository for Lua scripts, including a section for contributed scripts.

Darktable's editing tools get a refresh in the 2.0 RC. Perhaps the flashiest addition is a new color-reconstruction module, which uses some clever trickery to re-generate image data in highlights that have been completely washed out. The gist is that a washed-out highlight often only maxes out one of the red, green, and blue channels on the sensor. With the sensor overloaded, the color data in the RGB tuple is not valid, but there may still be some detail that can be recovered from the non-washed-out channels.

In the past, darktable would use this data to recreate a bit of texture detail in an area that would otherwise be rendered as a featureless white blob. Now, the color-reconstruction module can artificially fill in color information for the washed out area by sampling the neighboring, non-white pixels. Highlight reconstruction is improved in the "shadows & highlights" module as well; as noted above, once any channel on the image sensor is spiked at 100%, the color information for that pixel is effectively lost. Highlight reconstruction techniques, therefore, are prone to producing results that are out of balance with the normally exposed pixels in the rest of the image. The "shadows & highlights" module now features a separate slider users can employ to adjust the balance of reconstructed highlights.

[darktable crop tool]

Some of the existing modules have seen usability improvements for the new release. The "Crop and Rotate" tool supports setting the desired aspect ratio, but in the new release, the list of ratios gains some helpful aliases—such as "4x5, 8x10" next to the "5:4" ratio entry. The list has also been re-sorted to put commonly used ratios at the top and less common ones (such as Cinemascope 2.35:1) at the bottom.

A more subtle change is that the curve tools (such as "base curve" and "tone mapping") now allow the user to add control nodes by Control-clicking. These nodes are the points that the user drags around to change the shape of the curve; precision is the name of the game when it comes to adjusting a curve for optimal output. Previously, it was only possible to add a node by clicking and dragging the curve; that meant that adding a node required messing with the shape of the curve. Now users can add nodes to, in effect, nail down areas of the curve that they do not want to see changed.

There are, of course, many other small changes to be found in the new darktable RC release. Image geotags now properly support the "altitude" field from GPS devices, the application's noise-profile data is now stored in a JSON file that can (hopefully) prove useful to external scripts and applications, and so on. On the whole, 2.0 looks to be a solid release from an increasingly predictable—in the good sense—project. If things follow their usual pace, a 2.0 final release should be available before the end of the year. It will be particularly interesting to watch future releases to see whether darktable successfully manages to cultivate a scripting community; pro users often enjoy customizing their tools, but they also demand a lot of out-of-the-box functionality. Thus far, darktable has served this demographic well.


to post comments

A look at darktable 2.0

Posted Nov 12, 2015 6:55 UTC (Thu) by cuboci (subscriber, #9641) [Link]

Minor correction about the Crop & Rotate tool. It looks like the aspect ratios have just been sorted by their numerical value (look at the numbers to the right of the description) not by most common use.

A look at darktable 2.0

Posted Nov 12, 2015 14:30 UTC (Thu) by philipstorry (subscriber, #45926) [Link] (12 responses)

I've been testing Darktable 1.6 for a while - looking to possibly migrate from Corel Aftershot Pro.

Some observations by way of comparison (+ is better than AFP, - is worse):
+ Parametric masks (which make some jobs wonderfully easy)
+ Geotagging integration (took me a while to notice, but is great)
+ Zone editing
+ Noise reduction
- Image browsing
- Importing photos into libraries
- Histogram

Overall, I'm suspecting that my future lies with Darkroom - I just need to work with it some more.

As a new user, only the printing (and soft proofing) really gets my interest here. So whilst I'm going to run 2.0, it's not making me move any faster towards switching. Which is a good thing - it shows that Darkroom has the kind of dependability that I'm looking for in the long term...

A look at darktable 2.0

Posted Nov 12, 2015 15:31 UTC (Thu) by cruff (subscriber, #7201) [Link] (11 responses)

looking to possibly migrate from Corel Aftershot Pro

I'm looking for something other than Aftershot Pro also, it has turned out to be nearly unusable on OS X, it dies frequently, often when scrolling with the track pad! And the Linux version requires pretty recent dependency packages, forcing me to upgrade my distribution sooner than I wanted. I'm not sure things improved at all when Corel bought out Bibble.

A look at darktable 2.0

Posted Nov 12, 2015 20:27 UTC (Thu) by pedrocr (guest, #57415) [Link]

>And the Linux version requires pretty recent dependency packages, forcing me to upgrade my distribution sooner than I wanted.

2.0 builds and runs fine under Ubuntu 14.04 (the latest LTS) so I'm not sure how old you want your distribution to be and still be able to run recent software.

A look at darktable 2.0

Posted Nov 20, 2015 11:06 UTC (Fri) by Wol (subscriber, #4433) [Link] (9 responses)

How new is your computer? I think my Athlon chip is about 5 years old (XP III iirc) and I had to delete darktable from my system because an update added chip dependencies that my system didn't have :-(

There's some "new" SSE instructions they use that AMD were slow to implement, I think ... :-(

Cheers,
Wol

A look at darktable 2.0

Posted Nov 20, 2015 17:29 UTC (Fri) by mathstuf (subscriber, #69389) [Link] (8 responses)

There's a thread on fedora-devel about it[1]. Basically upstream says that 32-bit isn't in the cards anymore (not enough memory to really be useful and without SSE, performance is sub-par on top of that).

[1]http://thread.gmane.org/gmane.linux.redhat.fedora.devel/2...

A look at darktable 2.0

Posted Nov 20, 2015 22:11 UTC (Fri) by flussence (guest, #85566) [Link] (1 responses)

Ew, there's some seriously unpleasant people in that thread.

I remember Chromium having a similar issue — a hardcoded -msse3 buried in one of the build config files causing frequent tab crashes. That one was a real adventure to track down, but they were really nice about fixing it.

A look at darktable 2.0

Posted Nov 24, 2015 14:02 UTC (Tue) by nix (subscriber, #2304) [Link]

If it's the guy I think you're thinking of, he's been banned from numerous mailing lists by this point for being unjustifiably horrible to everyone on no grounds whatsoever. Right now he's making the spamassassin lists a venomous trial to subscribe to...

A look at darktable 2.0

Posted Nov 21, 2015 17:57 UTC (Sat) by Wol (subscriber, #4433) [Link] (5 responses)

Except my system isn't 32-bit - running a full 64-bit build of Gentoo.

It's a pain that a 5-yr-old chip is too old to run it ... :-( I got the chip name slightly wrong - it's an AMD Phenom X-III

Cheers,
Wol

A look at darktable 2.0

Posted Nov 21, 2015 20:19 UTC (Sat) by gioele (subscriber, #61675) [Link] (4 responses)

> It's a pain that a 5-yr-old chip is too old to run it ... :-( I got the chip name slightly wrong - it's an AMD Phenom X-III

What set of instructions does darktable require that your CPU does not support?

The list of AMD processors at https://en.wikipedia.org/wiki/List_of_AMD_Phenom_micropro... claims that all the Phenom X3 (the latest being released in 2008, almost 8 years ago) support «MMX, SSE, SSE2, SSE3, SSE4a, Enhanced 3DNow!, NX bit, AMD64, Cool'n'Quiet, AMD-V».

A look at darktable 2.0

Posted Nov 22, 2015 19:29 UTC (Sun) by Wol (subscriber, #4433) [Link] (3 responses)

Bear in mind that there is SSE3, and there is SSSE3 ... (at least as far as I can make out).

Bear in mind also I run gentoo, and was running on a mix of Athlon T-bird (Y2K era), Phenom X3, and some Intel chip (machine has Vista and gentoo).

And when I dug into it, auiu, the Phenom has SSSE3, and darktable requires SSE3, and they are not the same thing... I can always have another go at emerging it, but that thread pointed out that the original amd64 instruction set did not include SSE3, and I had the impression my Phenom was one of them ...

Oh yes - there's some (gentoo?) utility that queries the chip for the instruction sets it supports, and SSE3 wasn't among them when I ran that.

Cheers,
Wol

A look at darktable 2.0

Posted Nov 22, 2015 19:38 UTC (Sun) by Wol (subscriber, #4433) [Link]

Just had a quick check of my info - looks like I might have misremembered more than I thought ...

anthony@ashdown ~/Video $ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                3
On-line CPU(s) list:   0-2
Thread(s) per core:    1
Core(s) per socket:    3
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            16
Model:                 5
Model name:            AMD Athlon(tm) II X3 435 Processor
Stepping:              2
CPU MHz:               2712.147
BogoMIPS:              5424.29
Virtualization:        AMD-V
L1d cache:             64K
L1i cache:             64K
L2 cache:              512K
NUMA node0 CPU(s):     0-2

A look at darktable 2.0

Posted Nov 22, 2015 23:37 UTC (Sun) by pizza (subscriber, #46) [Link] (1 responses)

> but that thread pointed out that the original amd64 instruction set did not include SSE3, and I had the impression my Phenom was one of them ...

The entire Phenom family supports SSE3. (Along with any AMD CPU released since mid-2005)

('pni' is what it's called under /proc/cpuinfo)

Incidentally, the Phenom family does not support *S*SSE3; AMD processors did not support that until the end of 2001 with the Bulldozer and Bobcat cores.

A look at darktable 2.0

Posted Nov 23, 2015 13:14 UTC (Mon) by pizza (subscriber, #46) [Link]

> Incidentally, the Phenom family does not support *S*SSE3; AMD processors did not support that until the end of 2001 with the Bulldozer and Bobcat cores.

Gack, that should be 2011, not 2001..

A look at darktable 2.0

Posted Nov 12, 2015 20:31 UTC (Thu) by pedrocr (guest, #57415) [Link]

One of the most important improvements in 2.0 that was totally missed here is the new on-disk cache. It's been totally rewritten to be much faster and to handle large resolution screens seamlessly. darktable now caches as jpg the thumbnails it generates to show in the lighttable and now has a set of fixed thumbnail size levels all the way up to 5K. This makes dealing with large collections *much* faster and means you can connect a 4K or 5K screen and everything just works without the nasty tradeoffs of the past.

A look at darktable 2.0

Posted Nov 13, 2015 21:07 UTC (Fri) by rahvin (guest, #16953) [Link] (1 responses)

I'm not sure that comparison on the color correction is the best sample. Sure the tool improved contrast and color representation in the shadowed areas, but it also increased the forehead glare unacceptably to the point of washout in a much large area than the previous. In a photo like this you need to go both direction, raise the lower end of histogram and lower the higher end to balance out the over exposure and underexposure.

A look at darktable 2.0

Posted Dec 5, 2015 19:37 UTC (Sat) by Velmont (guest, #46433) [Link]

Hm? What are you talking about? I can only see one picture that shows a before (at the top, with white washed-out highlight at the head) and an after. That is showing the highlight reconstruction. So the washed out highlight at the top is without, at the bottom you can see it has filled in some color in that area again.

Are we talking about the same thing?


Copyright © 2015, 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