seamless darktable on Debian 12

I would like to share in this post the path to having darktable installed on Debian 12.

How did all of this started?
In 2020 I had my daily driver laptop running Linux Mint and setup for photo, accounting (printing, scanning of documents), and scripting in powershell workflow(s). Had this for a real year and moved back to windows due to some other tools I needed and the easiness of that OS in the end when you don’t want to spend time on fixing things.
2021, found out about freeBsd and configure that to a certain point on a spare laptop, found it so clean but could not really use it other for web based tasks, issue with usb3 and so.
Summer 2023, when I saw the speed of DT 4.4.2 on another machine with Linux, and well the bug started to wake up. I had a gaming laptop left, with a nvidia 1060, and that would be nice for the openCl support in DT.

From here started my journey to try to:

  • calibrate laptop screen with displayCal
  • have darktable work with openCl

Without using flatPack, snap or things like that. These are very big in download, as they areit’s its own thing in a sandbox package.

I tried all these modern Linux distributions:

  • openSuse
  • fedora once with gnome and once with kde
  • popOs

It was a mess with missing packages, depenencies of those packages, got issues with python, then impossible to import an icc profile as a user from the wheel goup etc etc.
Then why not do it on freeBsd? Well that laptop is having a special keyboard and that’s too much work to get it working.

So I ended up with the first of the gnu/linux family Debian (can be wrong). And to my surprise all went smooth. And like all my other attempts darktable here was build on the machine from source.

Desktop on Debian used is xfce (same one I used on freeBsd).

Here are the steps that I executed:

  1. add standard user to group sudo
su –l 
adduser charly sudo
  1. Add the Non-Free repository

sudo apt edit-sources

add line (asked if I wanted use nano, yes thank you)

deb stable main contrib non-free

sudo apt update

  1. Installing Nvidia components
sudo apt install nvidia-driver firmware-misc-nonfree 
#this will enable openCL 
sudo apt install nvidia-cuda-dev nvidia-cuda-toolkit
  1. installing displayCal
    sudo apt install displaycal #didn't save this so could be wrong here

  2. following the build instructions on github for darktable

After that I was able to verify that openCl was enable for darktable and use the program. I was happy after all that seamless work.

Hope this gives classic Debian some credit.


If you still remember, what was the problem on pop-os ? That is what I use currently, I’m still preparing for RAW processing, haven’t seriously tried yet.



Hello @nobrowser .

I can say some positive things about Pop-Os, nvidia drivers installed by default, has good support for steam (if you play games) and installing additional application was okay.

I think I succeeded building darktable but had to go to a flatpack version of displayCal and even if I gave it full permission to use the hard-drive and so it failed installing the ICC profile. And installing the ICC profile manually worked but the profile was not taken in account, did not search why.

2 other things that bothered me was no right mouse click… could probably be fixed and the desktop UI that is slow (this on my machine).

This is the laptop specs I’m using (with debian installed):

Ok, thanks. I just got displaycal via flatpak a few days ago, have not tried it yet. I guess I should try soon :stuck_out_tongue:

I think flatpak comes with tools to get files out of the sandbox, but likewise I haven’t had need for them yet.


Yes there are tools to manage the flatpack sandbox.

You can always save the displayCal result as a archive file and manually import. Did not work for me on all Linux distributions.

1 Like

I used DisplayCal on Ubuntu using an AppImage or FlatPak, and encountered no problems. However, there’s now a Python 3 version compatible with modern distros (which no longer ship Python 2, sunset in 2020 - see Sunsetting Python 2 | I am yet to try it myself:

1 Like

Yup, debian is your friendly no-thrills Linux that comes in many flavours.
Especially if you (need or want to) run it across various hardware architectures.

I did some bench tests of darktable, there are some interesting results for open cl:

  • Linux with 1060GTX Mobile 6gb ram, 78w: 4-5 sec
  • Linux with 1080GTX Mobile 8bg ram, 200w: 2-3 sec
  • Windows with 1660ti Desktop 6gb ram ?w: 4-5 sec

The old high end card is still faster, this is due to the memory bus being faster (my personal opinion).

I will also try to limit the 1080 to 100w to see if there is a difference.
And I do have a 3050 mobile on a lappie that is currently on loan, when its back I’ll test that also.

How many processing units each card has?

Model 1080 1060 1660ti
Pipelines / CUDA cores 2560 1280 1536
CUDA cores 2560 1280 ?
Core clock speed 1607 MHz 1506 MHz 1500
Boost clock speed 1733 MHz 1708 MHz 1770
Number of transistors 7,200 million 4,400 million 6,600 million
Manufacturing process technology 16 nm 16 nm 12nm
Power consumption (TDP) 150 Watt 80 Watt 120 Watt
Maximum GPU temperature 94 °C 94 °C ?
Texture fill rate 283.4 133.6 169.9
Floating-point performance 9,068 gflops 4,275 gflops ?
Memory type GDDR5 GDDR6 GDDR6
Maximum RAM amount 8 GB 6 GB 6 GB
Memory bus width 256 Bit 192 Bit 192 Bit
Memory clock speed 10 GB/s 8000 MHz 12000 MHz
Memory bandwidth 320 GB/s 192 GB/s 288.0 GB/s

So the 1060 and 1660ti are close, gaming performance is where the difference is I hope.
Yea but clearly the 1080 has more of all.