DARKTABLE(1)
π darktable β bestie edition π
so like, this is the manual page for darktable(1) β the legendary digital photography workflow app. it's giving "I do everything and I do it beautifully." let's go π
β¨ NAME β¨
darktable β a digital photography workflow application. yeah that's it, that's the whole name section, iconic of it honestly π«Ά
β¨ SYNOPSIS β¨
darktable [options] [IMG_1234.{RAW,...}|image_folder/]
and the options menu, in all its glory:
--cachedir <user cache directory>
--conf <key>=<value>
--configdir <user config directory>
-d {all,cache,camctl,camsupport,control,dev,fswatch,imageio,input,
ioporder,lighttable,lua,masks,memory,nan,opencl,params,perf,
pwstorage,print,signal,sql,undo}
--datadir <data directory>
--disable-opencl
-h, --help
--library <library file>
--localedir <locale directory>
--luacmd <lua command>
--moduledir <module directory>
--noiseprofiles <noiseprofiles json file>
-t <num openmp threads>
--tmpdir <tmp directory>
--version
β¨ DESCRIPTION β¨
darktable is a digital photography workflow application for Linux, Mac OS X and several other Unices. periodt.
it's literally designed to make editing and consistently processing large photo sessions easy, and it hands you an easy-to-use digital lighttable plus a whole set of sophisticated post-processing tools. the way it justβ¦ does that πΈ
most of the processing happens in 32-bit floating point per channel mode in the device independent CIE L*a*b* color space. and she's fully color managed, which means you get full control over the look of your photos. no cap. π
the app relies on a modern plugin architecture, which makes it super easy for 3rd party developers to extend what's already there. all lighttable and darkroom features are implemented as plugins, so you can build your own plugins by reusing existing code β slay. and most workflow-specific things can also be scripted in Lua. π
β¨ OPTIONS β¨
IMG_1234.RAWorimage_folder/β you may optionally hand over the filename of an image, or the name of a folder full of image files. if you give a filename, darktable starts up in darkroom view with that file opened. if you give a folder, darktable starts in lighttable view with that folder's contents as the current collection. and if there's already an instance of darktable running (using the same library), the image or folder gets opened there instead β the two processes talk over D-Bus. cute little gossip network fr fr π¦--cachedir <cache directory>β darktable keeps a cache of image thumbnails (for fast image preview) and of precompiled OpenCL binaries (for fast startup). by default the cache lives in"$HOME/.cache/darktable/". fun fact: there may be multiple thumbnail caches in parallel β one for each library file. π--conf <key>=<value>β darktable supports a rich set of configuration parameters that you define in"darktablerc", darktable's config file in the user config directory. this option lets you temporarily overwrite individual settings on the command line β but heads up bestie, those settings will not be stored in"darktablerc". π«Ά--configdir <config directory>β this defines the directory where darktable stores your user-specific configuration. the default spot is"$HOME/.config/darktable/".-d <debug option>β turns on debug output to the terminal. darktable has several subsystems and you can activate debugging for each one separately. you can use this option multiple times if you want debug output from more than one subsystem. π₯
a few of those debug options are:
controlβ enables job queue debugging. if you redirect darktable's output tocontrol.logand call./tools/create_control_svg.sh control.log, you'll get a lovelycontrol.svgvisualizing the threads' work. β¨cacheβ gives you a lot of debugging info about the thumbnail cache for lighttable mode. if compiled in debug mode, this also tells you where in the code a certain buffer was last locked.perfβ use this for performance tweaking your darkroom modules. it rdtsc-measures the runtimes of all plugins and prints them to stdout.allβ enable all debugging output. in general this is not very useful. π
--datadir <data directory>β defines the directory where darktable finds its runtime data. the default place depends on your installation; typical spots are"/opt/darktable/share/darktable/"and"/usr/share/darktable/".--disable-openclβ stops darktable from initializing the OpenCL subsystem. use this if darktable crashes at startup because of a defective OpenCL implementation. (iykyk π)-h,--helpβ show the available command line options and exit.--library <library file>β darktable keeps image info in an sqlite database for fast access. the default location of that database file is"$HOME/.config/darktable/library.db". you can give an alternative location, e.g. if you want to do some experiments without compromising your originallibrary.db. if the database file doesn't exist, darktable creates it for you. you may also give":memory:"as a library file β in which case the database is kept in system memory and all changes are discarded when darktable terminates. π--localedir <locale directory>β the place where darktable finds its language-specific text strings. default depends on your installation; typical spots are"/opt/darktable/share/locale/"and"/usr/share/locale/".--luacmd <lua command>β a string containing lua commands to execute after lua initialization. these commands run after your"luarc"file. note: if lua isn't compiled in, this option will be accepted but won't do anything. π--moduledir <module directory>β darktable has a modular structure and organizes its modules as shared libraries loaded at runtime. this option tells darktable where to look for those shared libraries. default depends on your installation; typical spots are"/opt/darktable/lib/darktable/"and"/usr/lib/darktable/".--noiseprofiles <noiseprofiles json file>β darktable's profiled denoise module uses camera-specific profile data loaded from an external JSON file. this option changes which file gets loaded, so you can test alternative profiles. the default profile file is"noiseprofiles.json"and it's typically found in"/opt/darktable/share/darktable/"or"/usr/share/darktable/".-t <num openmp threads>β darktable uses OpenMP to parallelize many computation steps and make use of all the available CPU cores. this option lets you specify the number of threads to use. valid values are between 1 and 100. π₯--tmpdir <tmp directory>β the place where darktable stores its temporary files. if you don't supply this option, darktable uses the system default.--versionβ show the darktable version along with some important build options, and exit.
β¨ DEFAULT KEYBINDINGS β¨
π All modes
lβ switch to lighttable viewdβ switch to darkroom viewtβ switch to tethered capture viewmβ switch to map viewsβ switch to slideshow viewpβ switch to print view.β switch between lighttable and darkroom viewsCtrl-qβ quitF11β switch between fullscreen and normal modes of the application's windowEscβ leave fullscreen modeCtrl-hβ show/hide headerTabβ show/hide sidebars
πΈ Lighttable mode
g,Shift-gβ navigate to top, bottom rowPageUp,PageDownβ navigate one page up, down'β scroll centerDown,Left,Right,Upβ scroll down, left, right, upzβ preview imageCtrl-zβ preview image with focus detectionF1,F2,F3,F4,F5β color labels: toggle red, yellow, green, blue and purple1,2,3,4,5β star rating0β strip all starsrβ mark as rejectedlβ realign images to the gridAlt-1β zoom in on first visible imageAlt-2,3β adjust zoomAlt-4β zoom out completelyCtrl-aβ select all imagesCtrl-Shift-aβ select no imagesCtrl-iβ invert selectionCtrl-dβ duplicate imageCtrl-g,Ctrl-Shift-gβ group/ungroup selected imagesDeleteβ remove image from collectionCtrl-c,Ctrl-Shift-cβ copy all, selected historyCtrl-v,Ctrl-Shift-vβ paste all, selected historySpaceβ toggle selection of an imageReturnβ select an imageCtrl-eβ export currently selected imagesCtrl-kβ jump back to the previous collectionCtrl-tβ open a popup to quickly tag an imageCtrl-Shift-iβ import a folderCtrl-jβ jump to the filmroll of an image
π¦ Darkroom mode
Alt-1,2,3β zoom to 1:1, fill, and fit, respectivelyCtrl-fβ show/hide filmstripSpace,Backspaceβ step to next, previous imageCtrl-eβ export current imageCtrl-c,Ctrl-Shift-cβ copy all, selected historyCtrl-v,Ctrl-Shift-vβ paste all, selected historyoβ toggle show of over- and under-exposureCtrl-gβ toggle gamut checkCtrl-sβ toggle softproofingEnterβ in Crop & Rotate module, commit the crop[,]β in Flip module, rotate 90 degrees ccw, cw<,>β when drawing masks, decrease, increase brush opacity, respectively{,}β when drawing masks, decrease, increase brush hardness, respectively[,]β when drawing masks, decrease, increase brush size, respectively
π Tethered mode
Ctrl-fβ show/hide filmstripvβ toggle live view
π Map mode
Ctrl-fβ show/hide filmstripCtrl-zβ undoCtrl-rβ redo
π Filmstrip (when the cursor is on top of the filmstrip)
F1,F2,F3,F4,F5β color labels: toggle red, yellow, green, blue and purple1,2,3,4,5β star rating0β strip all starsrβ mark as rejectedCtrl-dβ duplicate imageCtrl-aβ select all imagesCtrl-Shift-aβ select no imagesCtrl-iβ invert selectionCtrl-c,Ctrl-Shift-cβ copy all, selected historyCtrl-v,Ctrl-Shift-vβ paste all, selected history
β Slideshow mode
Spaceβ start/stop playback
β¨ SEE ALSO β¨
okay that's the whole vibe so far bestie, and there's more coming β this page has a part 2, so don't go anywhere π«Άπ
π OTHER INFO π
okay so bestie, if you wanna keep up with the ~lore~ β news, the blog, the bug tracker β everything lives at:
and if you want the complete darktable usermanual, it's right here, no gatekeeping:
<https://www.darktable.org/usermanual/>
there's also darktablerc.html, which is the glow-up guide to all the default config settings β¨ the exact spot it lives in depends on how you installed darktable, but the typical hangouts are:
"/opt/darktable/share/doc/darktable/""/usr/share/doc/darktable/"
π REPORTING BUGS π
found a bug? got a feature request? some "and so on" situation? please drop it in the bug tracker, that's literally what it's for:
<https://github.com/darktable-org/darktable/issues>
not me just ignoring bugs btw β go report them, the devs wanna know π«Ά
π AUTHORS π
the principal developer of darktable is Johannes Hanika β main character, periodt.
and here's the (hopefully) complete list of everyone who contributed to the project π:
- Developers: Pascal Obry, Hanno Schwalm, Victor Forsiuk, Mario Zimmermann, Ralf Brown, Andrii Ryzhkov, Dan Torop, Jeronimo Pellegrini, Daniele Pighin, Robert Mongold, Philipp Lutz, Bill Ferguson, Kofa, Martin Straeten, MiloΕ‘ KomarΔeviΔ, EdgarLux, Diederik ter Rahe, StΓ©phane Gourichon, Ryo Shinozaki, deekayhd, Benjamin Grimm-Lebsanft, MatjaΕΎ Jeran, esq4, David Smith, Hpbirkeland, Marko Vertainen, Yannic Meyer
- Translators: Victor Forsiuk, Pascal Obry, Jeronimo Pellegrini, Martin Straeten, EdgarLux, StΓ©phane Gourichon, Ryo Shinozaki, MatjaΕΎ Jeran, esq4, Hpbirkeland, Marko Vertainen, BΓ‘thory PΓ©ter, RIM, Andrii Ryzhkov, Besmir Godolja, Johan Schiff, Kang-Wei Hsu, Tianhao Chai, 94tiger, BoneNI, Florian Tham, GameMaster0x, Jan Ε mucr, Yannic Meyer, zxs-un
- Sub-module rawspeed contributors (at least 1 commit): MiloΕ‘ KomarΔeviΔ, Roman Lebedev, Sidhartha, Steven Le Rouzic
- Sub-module integration contributors (at least 1 commit): Pascal Obry, yuri
- Sub-module lua-scripts contributors (at least 1 commit): Bill Ferguson, Tino Mettler, deekayhd, Andrii Ryzhkov, Ilya Palopezhentsev, Martin Straeten, BjΓΆrn LindstrΓΆm, Dan Zwell, fblampe, Aaron Patterson, dterrahe, masterpiga
And all those of you that made previous releases possible π y'all ate.
this man page was written by Alexandre Prokoudine <alexandre.prokoudine@gmail.com> and Richard Levitte <richard@levittr.org>. Additions were made by Tobias Ellinghaus <me@houz.org>. iconic behaviour, honestly π
π HISTORY π
the project was started by Johannes Hanika in early 2009 to fill the gap (or, rather, a black hole π³οΈ) of a digital photography workflow tool on Linux. and look at it now, literally thriving πΈ
βοΈ COPYRIGHT AND LICENSE βοΈ
Copyright (C) 2009-2017 by Authors.
darktable is free software; you can redistribute it and/or modify it under the terms of the GPL v3 or (at your option) any later version.
that's the whole vibe: free, open, yours to remix π
and that's a wrap on the whole page, bestie β this was darktable 2.3, dated 2017-01-20, a.k.a. DARKTABLE(1) in the section 1 lineup π go forth and edit them RAWs β¨π¦πΈ
π¦ where this page comes from
- fedora 43: darktable 5.6.1-2.fc43 Β· GPL-3.0-or-later
- fedora 44: darktable 5.6.1-2.fc44 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms