I’m having an issue where Darktable isn’t able to figure out what my lens is from the exiv2 data. More precisely, I have 2 lenses that share the same lens type number in the exiv2 and DT only identifies one of them properly and I’m not sure how to go about it.
This is on Windows using DT 4.8.0, but I’ve confirmed the issue on Debian on the same version of DT.
So I have a Sigma 70-200 and a Sigma 150-600 C, both for Canon EF-mount and both of which I use on an RF body with the official EF-R adapter. I have the same issue on 2 different RF body.
So through ExifToolGui, I can confirm that both lenses have the LensType 624. From what I’ve read, this can happen. I checked with a third Sigma lens and that one has a different LensType number which is read properly. I searched about this issue and saw that two lens having the same LensType number is common and that the software has to kind of deduce from the other data the actual lens.
So in DT, the 70-200 is detected almost properly, but the name isn’t correct for Lensfun so I need to select it manually. The 150-600 is really just detected as 624.
If I try to do an entry in .exiv2.ini, DT just reads both lenses as whichever one I set, obviously. I’m not exactly sure if my problem lies with DT, Lensfun or exiv2 at this point.
I was hopeful this was actually something that could override the Lensfun detection or something, but sadly no. The image information detects the lens as “0” and the Lens Correction module defaults to a completely random lens with an extender.
I sadly do not own the Sigma USB dock so I can’t update the firmware on the lenses. As for the adapter, from my understand the basic one that I uses (straight adapter. No filter or control ring) doesn’t have a firmware at all.
Exact same adapter. Tested all 3 lenses with the same adapter on both bodies. The third lenses is detected perfectly through exiv2 as well as Darktable. So I’m more or less certain it has to do with the first two lenses themselves.
This is common on Canon bodies, and a known issue. It was somewhat improved w/ more recent versions of exiv2 library.
Unfortunately, the Windows dt package is still forced to deliver the older exiv2 0.27.7 because of some other issues with it, so you don’t get those improvements just yet.
Iff you use dt only in the English language on Windows, and you don’t need to handle files w/ non-ASCII characters, you may build dt from scratch w/ the latest exiv2 (0.28.2 currently) where lens detection on Canons should be improved.
Till then, you can only select the lenses from the dropdown manually.
969A3072.CR3 (33.3 MB) 969A3035.CR3 (32.7 MB)
There you go. 969A3072.CR3 is from the 150-600. You can tell from the Max and MinFocalLength. The LensType still shows as the 70-200. So in the end, it’s mostly about the 150-600 showing incorrectly as the 70-200 and not the other way around.
I see. Thanks for the explanation. I will try this on Debian first, just because I feel it’ll be easier to build from there to test, when I’ll get some time and will update accordingly.
Yes I confirmed that yesterday. I’m running DT 4.8.0 on Debian because I built it from source. I checked and confirmed that I built it using exiv 27.6 which is the latest on apt. I simply need to also build 28.2 from source and rebuild DT. I will try this later today.
I managed to build Darktable from source, on Arch this time, with exiv2 version 0.28.3. I’m happy to say that it fixed my issue with my 150-600 showing up as “624” in Darktable.
Sadly, both lens don’t default to the correct name in Darktable. Normally I would simply have to edit the .exiv2 conf file, but as you might have guessed it, exiv2 still give these two lenses the same lenstype number : 624.
I’ll just continue settings the lens manually. I’m looking to upgrade from my 150-600 soon so I shouldn’t have that issue anymore.