Conversión de corrección de lente de adobe para lensfun / darktable

Estoy tratando de importar los perfiles de lentes de Adobe a lensfun (para usar con darktable). Estoy usando darktable 2:2.6.2-1 en Arch Linux instalado a través de pacman, que eliminó lensfun 0.3.2-7. (No estoy usando los paquetes darktable-git o lensfun-git). Como tal, el script lensfun-convert-lcp no está en mi instalación. Cloné por separado lensfun de github, y ejecutarlo contra los perfiles del convertidor Adobe DNG genera con éxito _lcps.xml. Sin embargo, en el nodo raíz de este archivo, veo

<lensdatabase version="2">

Ejecuté lensfun-update-data y la base de datos en /var/lib/lensfun-updates/version_1/*.xml tiene archivos

<lensdatabase version="1">

Mirando algunos atributos, los esquemas son diferentes. por ejemplo, la distorsión tiene k1, k2, k3 en uno y a, b, c en el otro.

Me preguntaba cómo podría hacer que estos perfiles se carguen en darktable.

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

Actualizar

Así que esto es lo que he intentado hasta ahora:

  1. Darktable y lensfun desinstalados. Lensfun-git instalado. Mesa oscura instalada. Ahora no hay ningún módulo para la corrección de lentes :( lensfun.get_database_version() es 2.
  2. Darktable y lensfun desinstalados. Lensfun-git y darktable-git instalados. Utiliza lensfun db v2, y todo se recoge. La interfaz de usuario de Darktable se ve un poco rara en un monitor de 4k. lensfun.get_database_version() es 2.
  3. Instalar darktable y lensfun (ni git) hace que las cosas funcionen, pero las cosas lcps.xml convertidas de adobe no se recogen. lensfun.get_database_version() es 1.

¿Hay alguna manera de hacer que darktable (no darktable-git) use lensfun-git? ¿O para que lensfun recoja bases de datos v2 cuando lensfun.get_database_version() devuelve 1?

Actualización 2

En el escenario 1 (lensfun-git + darktable non-git), lanzar darktable desde la línea de comando me da:

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

Actualización 3

Creé un enlace simbólico para el archivo faltante a liblensfun.so.2, y darktable recogió todo bien. Pasos en el comentario a continuación.

Respuestas (2)

Para los perfiles de Adobe, necesita la versión 2 de DB. Sin embargo, las diferencias son pequeñas: además de los perfiles de Adobe, la <real-focal-length>etiqueta se convirtió en un atributo de <distortion>.

A Darktable no le importará qué versión de base de datos utilice. En particular, los perfiles de Adobe funcionarán con cualquier versión de Darktable, siempre que sea compatible con la API de Lensfun actual.

He actualizado la pregunta con lo que estoy viendo. darktable-git con lensfun-git parece recoger bases de datos v2, pero nada más parece funcionar.

Entonces, lo que funciona para mí es:

  1. yaourt -S lensfun-git -> desinstala lensfun (no git en el proceso).
  2. cd/lib
  3. sudo ln -s liblensfun.so.2 liblensfun.so.1
  4. Inicie mesa oscura.

Recibo un error de conexión rechazada cuando ejecuto lensfun-update-data, pero viendo que las actualizaciones son poco frecuentes, y que mis lentes están todos en los perfiles de Adobe, estoy contento con esto.