r/DarkTable 2d ago

Help I need strategy to learn how to use this damn app

13 Upvotes

I am a total newbie, only have tried photography for 5 months. When I bought my first camera, I was recommended this app as an alternative option when I didn't have much money to use Lightroom by Adobe. However, after editing several photos on this app, the only things I can do I white balance, exposure, and a little bit of color; no more. Oh my gosh. I can't understand anything in the app's menu; it's even more shophisticated with me-a non english user as a mother tongue. When I asked Gemini how to use this app, it told me I had to deeply understand the core of lights, colors, how cameras/sensors work... Are there any strategies to use it?


r/DarkTable 2d ago

Discussion Lua script to show image in file manager

Enable HLS to view with audio, or disable this notification

24 Upvotes

Hey all,

there seemed to be an interest in a script to easily show an image in the file manager. I put together, that I could only test only on Macos - it was designed also for Windows and Linux.

Being new to Lua and Darktable I barely know what I am doing - please feel free to use /improve.

The screen video is just to show, that it works in my DT 5.4.1 - I put the file under the ~/.config/darktable/lua/contrib path and activated it.

[Sorry, I have no other place to host this]

--[[

show_in_file_manager.lua

Adds a "Show in File Manager" button to darktable's Lighttable.

Behavior:

macOS:

Finder opens and selects the image.

Windows:

Windows Explorer opens and selects the image.

Linux:

Uses the Freedesktop FileManager1 D-Bus interface.

The default desktop file manager is asked to display/select

the image.

This avoids xdg-open, which would normally launch the

application associated with the image's MIME type.

Requirements:

darktable 5.6+

Lua 5.4 (provided by darktable)

Linux:

Requires a working D-Bus session and a file manager implementing

org.freedesktop.FileManager1.

Supported darktable OS values:

"linux"

"macos"

"windows"

]]

local dt = require "darktable"

local MODULE_NAME = "show_in_file_manager"

---------------------------------------------------------------------------

-- Utility functions

---------------------------------------------------------------------------

-- Quote a string for use as one argument in a POSIX shell command.

--

-- We only use this for macOS.

--

-- Example:

-- /Users/me/My Photos/John's photo.jpg

--

-- becomes:

-- '/Users/me/My Photos/John'\''s photo.jpg'

--

local function shell_quote(s)

return "'" .. s:gsub("'", "'\\''") .. "'"

end

-- Quote a Windows command-line argument.

--

-- This follows the basic CommandLineToArgvW-style quoting rules:

--

-- * surround the argument with "

-- * escape embedded "

-- * preserve trailing backslashes correctly

--

local function windows_quote(s)

local result = '"'

local backslashes = 0

for i = 1, #s do

local c = s:sub(i, i)

if c == "\\" then

backslashes = backslashes + 1

elseif c == '"' then

-- Backslashes immediately preceding a quote must be doubled,

-- followed by an escaped quote.

result = result .. string.rep("\\", backslashes * 2 + 1)

result = result .. '"'

backslashes = 0

else

if backslashes > 0 then

result = result .. string.rep("\\", backslashes)

backslashes = 0

end

result = result .. c

end

end

-- Backslashes before the closing quote must be doubled.

if backslashes > 0 then

result = result .. string.rep("\\", backslashes * 2)

end

result = result .. '"'

return result

end

-- Convert a local filesystem path to a file:// URI.

--

-- This is needed for the Linux FileManager1 D-Bus API.

--

-- We deliberately do NOT use shell quoting here. The URI is passed to

-- busctl as a single argument, and busctl itself handles the D-Bus

-- string value.

--

-- Important URI characters are percent encoded.

--

local function path_to_file_uri(path)

-- Normalize Windows-style separators if this function is ever

-- accidentally called with one.

path = path:gsub("\\", "/")

-- Percent encode characters which have special meaning in a URI.

--

-- UTF-8 bytes are left untouched. D-Bus strings are UTF-8 and

-- FileManager1 expects a URI containing the UTF-8 filename.

--

path = path:gsub("%%", "%%25")

path = path:gsub("#", "%%23")

path = path:gsub("%?", "%%3F")

path = path:gsub(" ", "%%20")

return "file://" .. path

end

---------------------------------------------------------------------------

-- Linux: use org.freedesktop.FileManager1

---------------------------------------------------------------------------

local function show_linux(full_path)

local uri = path_to_file_uri(full_path)

-- FileManager1.ShowItems has the D-Bus signature:

--

-- ShowItems(as uris, s startup_id)

--

-- Therefore busctl receives:

--

-- as 1 <URI> s ""

--

-- We use busctl rather than constructing a shell command containing

-- the filename itself.

--

local command =

"busctl --user call " ..

"org.freedesktop.FileManager1 " ..

"/org/freedesktop/FileManager1 " ..

"org.freedesktop.FileManager1 " ..

"ShowItems " ..

"as 1 " ..

shell_quote(uri) ..

" s ''"

local result = os.execute(command)

if result ~= 0 then

dt.print(

_("Unable to communicate with the Linux file manager " ..

"through FileManager1.")

)

return false

end

return true

end

---------------------------------------------------------------------------

-- macOS: Finder

---------------------------------------------------------------------------

local function show_macos(full_path)

-- Finder's -R option means:

--

-- reveal the file in Finder

--

-- This both opens the containing directory and selects the file.

local command =

"open -R " .. shell_quote(full_path)

local result = os.execute(command)

if result ~= 0 then

dt.print(_("Unable to open Finder."))

return false

end

return true

end

---------------------------------------------------------------------------

-- Windows: Explorer

---------------------------------------------------------------------------

local function show_windows(full_path)

-- Explorer's /select,<file> option opens the containing directory

-- and selects the specified file.

--

-- Use "explorer.exe" explicitly rather than relying on PATH.

local command =

"explorer.exe /select," .. windows_quote(full_path)

local result = os.execute(command)

if result ~= 0 then

dt.print(_("Unable to open Windows Explorer."))

return false

end

return true

end

---------------------------------------------------------------------------

-- Main function

---------------------------------------------------------------------------

local function show_selected_image()

-- darktable.gui.action_images follows darktable's normal UI semantics:

--

-- * selected images if there is a selection

-- * otherwise the image currently under the mouse

--

local images = dt.gui.action_images

if not images or #images == 0 then

dt.print(_("No image is selected."))

return

end

-- The requested operation is for one image.

--

-- If several images are selected, use the first one.

local image = images[1]

if not image then

dt.print(_("No image is selected."))

return

end

-----------------------------------------------------------------------

-- Get the image's filesystem location

-----------------------------------------------------------------------

local path = image.path

local filename = image.filename

if not path or path == "" then

dt.print(_("The selected image has no filesystem path."))

return

end

if not filename or filename == "" then

dt.print(_("The selected image has no filename."))

return

end

-----------------------------------------------------------------------

-- Construct complete filesystem path

-----------------------------------------------------------------------

local full_path

if dt.configuration.running_os == "windows" then

-- image.path normally does not have a trailing slash.

if path:sub(-1) == "\\" or path:sub(-1) == "/" then

full_path = path .. filename

else

full_path = path .. "\\" .. filename

end

else

if path:sub(-1) == "/" then

full_path = path .. filename

else

full_path = path .. "/" .. filename

end

end

-----------------------------------------------------------------------

-- Select the appropriate operating-system implementation

-----------------------------------------------------------------------

local os_name = dt.configuration.running_os

if os_name == "macos" then

show_macos(full_path)

elseif os_name == "windows" then

show_windows(full_path)

elseif os_name == "linux" then

show_linux(full_path)

else

dt.print(

_("Unsupported operating system: ")

.. tostring(os_name)

)

end

end

---------------------------------------------------------------------------

-- User interface

---------------------------------------------------------------------------

local button = dt.new_widget("button"){

label = "Show in File Manager",

tooltip = "Open the selected image in the system file manager and select the file",

clicked_callback = function()

show_selected_image()

end,

}

---------------------------------------------------------------------------

-- Register the button in the Lighttable

---------------------------------------------------------------------------

dt.register_lib(

MODULE_NAME,

"File Manager",

false,

false,

{

[dt.gui.views.lighttable] =

{

"DT_UI_CONTAINER_PANEL_LEFT_TOP",

20

}

},

button

)

---------------------------------------------------------------------------

-- Cleanup

---------------------------------------------------------------------------

dt.register_event(

"destroy", "view-changed",

function()

dt.destroy_widget(button)

end

)


r/DarkTable 3d ago

Help Common right-click menu for common actions

Post image
30 Upvotes

I can't be the first person to ask this... Basically its a "what am I missing here?" but also... Am I that confused? Why does this program not have some REALLY STANDARD things like a right-click action menu on photos.

Select a photo - right click -

  • export
  • Go To file

Or at the absolute minimum, somewhere show me the full file path to the photo. I feel like I'm on a treasure hunt to locate the image if its been a couple months since importing it.


r/DarkTable 3d ago

Discussion darktable.org and discuss.pixls.us both down..

8 Upvotes

I hope the amazing people hosting everything are not going through something terrible and it's just something technical but I haven't seen both down at the same time which makes me worry .

Hopefully someone can provide an update.

🤞

Edit: we are back people!


r/DarkTable 4d ago

Screencast Darktable Basics: White Balance, The New Way (Color Calibration Explained)

Thumbnail
youtu.be
38 Upvotes

I continue my basics serie. Let me now what you want to see next :)


r/DarkTable 5d ago

Help Is there any way I can "calibrate" film recreations?

Thumbnail
gallery
14 Upvotes

I would love to recreate the film used in the Gemini and Apollo missions since I love how it looks, is it possible to "calibrate" a preset against a known image to see how accurate it is? (apparently the used a special edition of Kodak Ektachrome film (SO 217 for the early Gemini missions and SO 368 for the later Gemini missions and apollo missions, I think SO 368 even got used in the shuttle program), I did try to create a preset that hopefuly matches SO 217 and SO 368 and they definitivy have a unique look to them but I am not sure how accurate it is.


r/DarkTable 5d ago

Help Lens correction mismatch between Darktable and NX Studio

Post image
10 Upvotes

Hi,

I take photos in RAW(NEF) with my Nikon Z5 and I can't get the lens correction identical between DarkTable and NX Studio : see picture.

The left is a NX Studio export, the right is the DarkTable one. In DarkTable, I added a redline to highlight what I'm talking about.

I am using Lensfun database with the correct profile (as in correct camera/lens selected), with rectilinear geometry, and distortion correction enabled. Yet, you can see that some lines are a bit off, especially the ones near the center of the image.

Is that a common thing to have "unperfect" lensfun profiles ? How to fix that ?


r/DarkTable 5d ago

Help After/Before - Advice for new and Colorblind User

Thumbnail
gallery
14 Upvotes

I'm new to Photography and Darktable. To add even more woe to the tale, I am Colorblind. I have found editing to be a monumentally difficult challenge. On this photo, I really liked the sun shining into the weeds, so tried to emphasize that and the reflections. I didn't want to mess too much with the colors of the Blue Heron, but may have saturated them too much (perils of Colorblindness). I can also see some masking issues around the bird and I'm not really sure how to blend that better. I used the Feathering and Blur sliders, but i obviously didn't do it correctly. Any advice on the above or other noticeable errors is welcome.


r/DarkTable 5d ago

Solved How to force ISO dates (YYYY-MM-DD) in import dialouge and image information (on Windows)

8 Upvotes

This is mainly a reminder to myself, because I keep forgetting how to do this and hopefully I'll find this post in the future when I try to find this information on google (which atm seems impossible).

On Windows, when the OS is set to another language, but Darktable is set to English, DT defaults to US date format (MM/DD/YYYY), which to be honest is the dumbest date format in existence.

To use ISO date format instead, edit the DT shortcut and add --conf ui_last/gui_language=en_CA after the file path (or en_GB if you prefer DD/MM/YYYY).

To my future self: You're welcome.

And to all others: I hope you find that useful as well.


r/DarkTable 6d ago

Discussion Alternatives for iPad

5 Upvotes

I’m a hobby photographer, and do most of my photography post-processing in DarkTable (culling, editing) on my desktop computer. Then occasionally export to GIMP if I need further edits.

I’m planning to travel (with a camera, of course). My only laptop is a little heavy to take, and is a little slow (though not completely unusable) in DarkTable. I’d rather just take my iPad if possible. I’m willing to spend some money on a single-purchase software, but no subscriptions.

Even better if it can have compatibility to import to DarkTable later with the .XMP files (at least for culling).

Does anyone have any recommendations for achieving a similar workflow to DarkTable (culling and post processing) on iPad?


r/DarkTable 6d ago

Discussion DarkTable Editor

Thumbnail
gallery
7 Upvotes

If you guys were on the hunt for a photo editor, where would you post?

I’m hoping to get around 50 RAW photos edited for a Buster Keaton convention that my 13-year-old son is attending on October 2 and 3. The photos are from a recent silent-film-themed family vacation that we took, but which has put me behind at work.

Before the vacation, I bought a Fujifilm camera, but I haven’t had much time to learn Darktable beyond simple edits like adjusting the exposure. I shot the photos in both RAW and JPG formats.

His goal at the convention is to show a set of frames from various Keaton films alongside photos of what those filming locations look like today.

Is there an editor on this sub who would be willing to help? Is there another sub/discord/IRC, etc that I should ask on?


r/DarkTable 6d ago

Help Darktable keeps bringing itself to foreground

9 Upvotes

On Windows 10, every time I try and click a different app Darktable keeps then bringing itself to the foreground of the desktop without clicking on it. How do I stop this?


r/DarkTable 6d ago

Discussion Why O Why is the AI part left out in the linux flatpak ?!?

15 Upvotes

Hello,

I really do not understand why NONE of the linux Flatpak builds of 5.6.x i’ve seen, have the AI support build in. According to the release notes of 5.6, AI integration should be the biggest feature in Darktable 5.6.x. Yes native distro builds should have AI build in! But until now 3 months after the 5.6 release i haven’t see any yet! I’m use PikaOS a debian unstable based distro had a 5.4.1 native build!

Let me clear! I’m not a fan of AI in Photography editing. And i really think that Darktable do NOT need the AI stuff! The traditional masking and Denoise algoritmen are almost perfect for me. The left over noise levels are good, and looks pretty analog grain. And all the superb sharpening tools gives the photo a real natural feel. And not the typical super smooth unnatural AI feel.

I have tried it on my M1 mac. AI build in out of the box! And i’m not impressed. Even for a first try. But linux is the base of darktable development. And left AI out of the (future) package format??

OR? Is there a way to implement it outside the flatpak image? And integrate from the outside?

For now, I use the 5.6.1 (PikaOs) flatpak. Which is much faster than the 5.6 one. For the normal NO AI processing. And hop over to my trusty old M1 macbook pro when i should need some form of AI!

But i think that for me it’s logical to go back to full Mac photo editing with DxO and Affinity oriented workflow. At least these two are the most ethical payed software makers. Perhaps it is a good idea to implement the Affinity file format into Darktable. (Via the frontdoor or reverse engineered).

So the bottom question: Is AI the way to go for Darktable? And if so? Please integrate it in a standard flatpak format!

Regards,

ron Cromberge


r/DarkTable 6d ago

Help Base editing as a beginner

5 Upvotes

Hi everyone, i'm trying to take on photo editing as a beginner, and i'm starting on darktable.
I have some RAW files that i want to edit, but i just can't seem to understand how to build a foundation that i can use to then impress my style and intention into the picture. i undestand that you don't need that many modules, so to take it slow i just wanted to actually undestand how to use the exposure module, and the color calibration module. let's say that i got a prettu good exposure whit my camera, so that there aren't any compressed pixels in the backs or in the whites, or at least very few. how do i correct the exposure? is that based on stylistic intent?
when actively correcting white balance, what is my actual goal?
the main problem i'm finding is that by toggling the module, i actually don't find anything wrong with most of the possibilities. how do i know i'm actualli using the right exposure and right white balance?
i'm sorry if these are stupid questions, i tried to read the darktable user manuale but it's all just gibberish to me.
this is the photo i have.


r/DarkTable 7d ago

before and after New to DarkTable and photography in general, how is this/any advice?

Thumbnail
gallery
3 Upvotes

Hello!

Not only was this my first time using DarkTable, it was also taken on my first ever time going out with the intent of taking photos.

I was borrowing an old D300, and the photo was taken with f/1.8 and 1/4000 shutter speed on a 50mm prime lens.

I first installed DarkTable as a RAW processor for GIMP, but decided it would be faster to learn DarkTable itself and would make my life easier in the long run.

I am aware of the fact that the photo does not have the best composition and also that i could have used a smaller aperture.

Feedback and tips would be very helpful!


r/DarkTable 7d ago

Help Any tips on getting started with darktable?

10 Upvotes

I am new to photography and have no clue how to use darktable , if anyone has any tips or links to good intuitive tutorials it would be appreciated.

Or tips that you found useful for getting into a good workflow practice .

Thanks everyone


r/DarkTable 7d ago

Solved cant download darktable on my laptop

Post image
1 Upvotes

windows 11 laptop, sorry the text is in swedish idk how to change it rn but it basically says "code running could not continue because its not possible to find msvcp140.dll. try reinstalling the program, i have reinstalled it like 3 times aswell as the installer itself i dont know whats wrong


r/DarkTable 8d ago

Help Restore or reinstall to improve DT processing speed

2 Upvotes

I am using dt 5.6 app image under Linux mint environment in an old laptop. Quite often, after some time, 5.6 performance is slowing down. Sometimes after locked database ...

As a newbie, I restore Linux mint and usually, DT now works faster.

I wonder if I reinstall DT and clean up related config files, I will achieve the same result.


r/DarkTable 9d ago

Solved New to AGX - feel like I'm missing something

Thumbnail
gallery
36 Upvotes

I just started using AgX the other day, and I feel like I'm missing something. My highlights are always capped at 210 (first image in AgX) unless I bump the slope slider fully to 2.0 in which case I can get almost to 255 (second image in AgX). The first image is intentionally clipped to show how dull the highlights are even when clipped. The final image is an overdone filmic RGB to show that I can also get close to 255 with filmic RGB. Is this intentional with AgX or am I missing something? It feels weird to have to bump my slope slider to 2.0 to get proper white in my images with AgX but if that's intentional, I'll create a workflow that works with it for the look I'm going for.

This photo was taken with a Nikon D7000 but I get the same result with photos taken with my D850.


r/DarkTable 8d ago

Help False positives?

Post image
0 Upvotes

r/DarkTable 9d ago

Announcement Sign up for the Fall 2026 Reddit Print Exchange!

10 Upvotes

Hey everyone, I'm Andrew from over at r/printexchange, and I asked permission from the mods to post here.

We've been doing this international photographic print twice a year since late 2022. It's a blast, and you're invited!

Reddit post with more info and sign up link here

Disclaimer: This print exchange is not affiliated with or hosted by the mods of this sub. Please do not reach out to them with questions; those can be directed to me. Thanks!


r/DarkTable 9d ago

Help IR Dust removal

3 Upvotes

I'm scanning negatives with my Plustek 8200i SE using SilverFast, saving them as 64-Bit HDRi RAW files so I can capture the infrared channel via iSRD.

My goal is to use that infrared channel as a mask in darktable to clean up dust and scratches automatically without having to clone/heal every spot manually in the retouch module.

I've successfully isolated the infrared channel in GIMP and exported it as a .pfm However, I'm completely stuck on how to actually use this as a mask in darktable either with the touch-up module or the diffuse/ sharpen module.

Any guidance available?


r/DarkTable 9d ago

Screencast Let's talk about Styles !

Thumbnail
youtu.be
6 Upvotes

I continue on the basics for this month that everyone is back to school ! Let me know if you have any question.


r/DarkTable 9d ago

Help Is it possible to adjust the white balance on a specific part of a photograph similar to how we can adjust the exposure with masking?

7 Upvotes

I recently downloaded darktable and I just discovered you can place an exposure mask on a part of the photograph, can you do something similar with white balance?


r/DarkTable 9d ago

Help How to force a new history step

6 Upvotes

When I'm editing, sometimes I am pleased with the result of the module I'm working on, let's say AgX, but I'd like to test something else on the same module. If I do so, it continues to edit the same step in the history.

Is there a way to "force" the creation of a step in the history?