A look at darktable 2.0
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 [Color reconstruction in
darktable]](https://static.lwn.net/images/2015/11-darktable-color-sm.png)
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's new crop tool menu [darktable crop tool]](https://static.lwn.net/images/2015/11-darktable-crop.png)
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.
Posted Nov 12, 2015 6:55 UTC (Thu)
by cuboci (subscriber, #9641)
[Link]
Posted Nov 12, 2015 14:30 UTC (Thu)
by philipstorry (subscriber, #45926)
[Link] (12 responses)
Some observations by way of comparison (+ is better than AFP, - is worse):
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...
Posted Nov 12, 2015 15:31 UTC (Thu)
by cruff (subscriber, #7201)
[Link] (11 responses)
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.
Posted Nov 12, 2015 20:27 UTC (Thu)
by pedrocr (guest, #57415)
[Link]
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.
Posted Nov 20, 2015 11:06 UTC (Fri)
by Wol (subscriber, #4433)
[Link] (9 responses)
There's some "new" SSE instructions they use that AMD were slow to implement, I think ... :-(
Cheers,
Posted Nov 20, 2015 17:29 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link] (8 responses)
[1]http://thread.gmane.org/gmane.linux.redhat.fedora.devel/2...
Posted Nov 20, 2015 22:11 UTC (Fri)
by flussence (guest, #85566)
[Link] (1 responses)
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.
Posted Nov 24, 2015 14:02 UTC (Tue)
by nix (subscriber, #2304)
[Link]
Posted Nov 21, 2015 17:57 UTC (Sat)
by Wol (subscriber, #4433)
[Link] (5 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
Cheers,
Posted Nov 21, 2015 20:19 UTC (Sat)
by gioele (subscriber, #61675)
[Link] (4 responses)
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».
Posted Nov 22, 2015 19:29 UTC (Sun)
by Wol (subscriber, #4433)
[Link] (3 responses)
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,
Posted Nov 22, 2015 19:38 UTC (Sun)
by Wol (subscriber, #4433)
[Link]
Posted Nov 22, 2015 23:37 UTC (Sun)
by pizza (subscriber, #46)
[Link] (1 responses)
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.
Posted Nov 23, 2015 13:14 UTC (Mon)
by pizza (subscriber, #46)
[Link]
Gack, that should be 2011, not 2001..
Posted Nov 12, 2015 20:31 UTC (Thu)
by pedrocr (guest, #57415)
[Link]
Posted Nov 13, 2015 21:07 UTC (Fri)
by rahvin (guest, #16953)
[Link] (1 responses)
Posted Dec 5, 2015 19:37 UTC (Sat)
by Velmont (guest, #46433)
[Link]
Are we talking about the same thing?
A look at darktable 2.0
A look at darktable 2.0
+ 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
A look at darktable 2.0
looking to possibly migrate from Corel Aftershot Pro
A look at darktable 2.0
A look at darktable 2.0
Wol
A look at darktable 2.0
A look at darktable 2.0
A look at darktable 2.0
A look at darktable 2.0
Wol
A look at darktable 2.0
A look at darktable 2.0
Wol
Just had a quick check of my info - looks like I might have misremembered more than I thought ...
A look at darktable 2.0
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
A look at darktable 2.0
A look at darktable 2.0
A look at darktable 2.0
A look at darktable 2.0