Looking for workflow advice with 3FR files from a hasselblad X2D

Nope, the next thing is to test the PR. If you shy away from editing, you can download the whole new file and replace yours (keep a backup of course).

I see these 3 "cameras’ files in my Fedora system:

$ rpm -ql darktable-3.8.1-1.fc36.x86_64 | grep camera
/usr/lib64/darktable/plugins/lighttable/libcamera.so
/usr/share/darktable/rawspeed/cameras.xml
/usr/share/darktable/rawspeed/showcameras.xsl

Just to be sure I understand… I only replace this one:
/usr/share/darktable/rawspeed/cameras.xml

correct?

Correct. Make a backup copy of it first.

done, just restart darktable and test? or do I need to do something to tell darktable to use the new file?

Just restart. You might need to remove old X2D files from the library and import again.

does not seem to work, I verified the camera in my cameras.xml file (the one I downloaded):

$ grep -i x2d /usr/share/darktable/rawspeed/cameras.xml

Hasselblad 100-20-Coated6

and I removed (moved the entire ~/…config/darktable folder to a backup location

then I removed all the .xmp files from a folder of .3FR files, did the “add to library” in darktable of the images in that folder, I see the thumbnails but if I double click an Image I get this:

darktable could not load ‘filename’, switching to lighttable now.
please check that the camera model that produced the image is supported in darktable

If I run darktable from the command line and do the same thing then I get this:

[rawspeed] (B0000050.3FR) rawspeed::HasselbladDecompressor::HasselbladDecompressor(c
onst rawspeed::ByteStream&, const rawspeed::RawImage&), line 46: Unexpected image di
mensions found: (11904; 8842

Ah, sorry, didn’t realize you were on such an old dt version! This procedure works only on 4.x

OK, Fedora doesnt have it yet, I’ll go get it from flatpack

Of course it does. You have an old Fedora :wink:

Not sure how you replace files in the flatpak nor snap though…

I’ll double-check this as well, could be that only up to 50 MP (X1D) was supported, so this cameras.xml workaround is not enough…

Actually, that dimension error requires a source code change.

Thanks for testing so far. Unfortunately you’ll probably have to wait for dt 4.4…

No worries, also I compiled DT from source, and now when I import and then double click on an image I get this on the command line:

[rawspeed] (B0000060.3FR) rawspeed::HasselbladDecompressor::HasselbladDecompressor(const rawspeed::ByteStream&, const rawspeed::RawImage&), line 47: Unexpected image dimensions found: (11904; 8842)
[temperature] failed to read camera white balance information from B0000060.3FR'! [temperature] failed to read camera white balance information from B0000060.3FR’!
[temperature] failed to read camera white balance information from `B0000060.3FR’!

In case it helps

PR updated - you can make now all the changes to the source files as well (and cameras.xml) and compile again if you’re up to it.

which source code should I use? I did this last compile from here

But that has version 4.2.1

With darktable master + your PR:

kofa@eagle:~/darktable/src/external/rawspeed$ git status
On branch hassy_x2d
nothing to commit, working tree clean
kofa@eagle:~/darktable/src/external/rawspeed$ git rev-parse HEAD
7fd3ca0e0d7d6fa1e2a504d9b94a014861a7fd9f

kofa@eagle:~/darktable$ git status
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        modified:   src/external/rawspeed (new commits)

no changes added to commit (use "git add" and/or "git commit -a")
kofa@eagle:~/darktable$ git rev-parse HEAD
aaf481c2aee61b4c2b9eca90ea95a15787e31d3e

I get:

92.6376 [rawspeed] (B0000050.3FR) rawspeed::JpegMarker rawspeed::AbstractLJpegDecoder::getNextMarker(bool), line 299: (Noskip) Expected marker not found. Probably corrupt file.
92.6376 [libraw_open] extensions whitelist: `cr3'
92.6377 [dt_dev_load_raw] loading the image. took 0.404 secs (0.000 CPU)
92.9398 [temperature] failed to read camera white balance information from `B0000050.3FR'!
92.9482 Trouble: [lens correction] camera/lens not found (B0000050.3FR 24873)
92.9542 [colorin] could not find requested profile `standard color matrix'!
93.0787 [histogram] took 0.000 secs (0.000 CPU) scope draw
1 Like

All the changes you need to make (4.2.1 is ok) are in the PR.

Thanks for testing. Let’s keep the technical discussion at the PR please. Also, please use the RPU sample.

1 Like

I am having issues trying to build the latest code to include the hasselblad x2d fix, can you pass me steps to checkout and build from an empty local directory (i.e. what versions/branches to check out)?

I used git clone to get the repo (automatically checks out the master branch). See GitHub - darktable-org/darktable: darktable is an open source photography workflow application and raw developer.
The I got the submodules (see GitHub - darktable-org/darktable: darktable is an open source photography workflow application and raw developer)
Finally:

~/darktable$ cd src/external/rawspeed/
~/darktable/src/external/rawspeed$ gh pr checkout 463

gh is the official GitHub command-line tool: https://cli.github.com/

gh pr checkout is not magic, it just looks up the right repo and branch. To simply force an update (might be needed if someone does a force-push), you can repeat the command with a -f:

~/darktable/src/external/rawspeed$ gh pr checkout 463 -f