2
\$\begingroup\$

I'm trying to import Adobe's lens profiles to lensfun (for use with darktable). I'm using darktable 2:2.6.2-1 on Arch Linux installed through pacman, which brought down lensfun 0.3.2-7. (I'm not using the darktable-git or lensfun-git packages). As such, the lensfun-convert-lcp script isn't in my install. I separately cloned lensfun from github, and running it against Adobe DNG converter's profiles successfully generates _lcps.xml. However, in the root node of this file, I see

<lensdatabase version="2">

I've run lensfun-update-data, and the database in /var/lib/lensfun-updates/version_1/*.xml files have

<lensdatabase version="1">

Looking at some attributes, the schemas are different. e.g. distortion has k1, k2, k3 in one and a, b, c in the other.

I was wondering how I could get these profiles to load under darktable.

===========================================

Update

So this is what I've tried so far:

  1. Uninstalled darktable and lensfun. Installed lensfun-git. Installed darktable. There's now no module for lens correction at all :( lensfun.get_database_version() is 2.
  2. Uninstalled darktable and lensfun. Installed lensfun-git and darktable-git. Uses lensfun db v2, and everything is picked up. Darktable UI looks a bit naff on 4k monitor. lensfun.get_database_version() is 2.
  3. Installing darktable and lensfun (neither git) makes things work, but the adobe converted lcps.xml stuff doesn't get picked up. lensfun.get_database_version() is 1.

Is there a way to get darktable (not darktable-git) to use lensfun-git? Or for lensfun to pick up v2 databases when lensfun.get_database_version() is returning 1?

Update 2

In scenario 1 (lensfun-git + darktable non-git), launching darktable from the command line gives me:

[iop_load_module] failed to open operation `lens': liblensfun.so.1: cannot open shared object file: No such file or directory

Update 3

I created a symlink for the missing file to liblensfun.so.2, and darktable picked up everything fine. Steps in the comment below.

\$\endgroup\$

2 Answers 2

1
\$\begingroup\$

For Adobe profiles, you need DB version 2. The differences are small, however: Besides the Adobe profiles, the <real-focal-length> tag became an attribute of <distortion>.

Darktable won’t care which DB version you use, In particular, Adobe profiles will work with any Darktable version, as along is it supports the API of current Lensfun.

\$\endgroup\$
1
  • \$\begingroup\$ I've updated the question with what I'm seeing. darktable-git with lensfun-git seems to pick up v2 databases, but nothing else seems to work. \$\endgroup\$
    – ashic
    May 31, 2019 at 16:12
1
\$\begingroup\$

So, what works for me is:

  1. yaourt -S lensfun-git -> uninstalls lensfun (non-git in the process).
  2. cd /lib
  3. sudo ln -s liblensfun.so.2 liblensfun.so.1
  4. Launch darktable.

I do get a connection refused error when runnin lensfun-update-data, but seeing that the updates and infrequent, and that my lenses are all in Adobe's profiles, I'm happy with this.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.