R&Darktable - options and path forward and user point of view.

Well flatpak and snaps are two different technologies that have a lot of overlapping features.

https://docs.flatpak.org/en/latest/flatpak-command-reference.html

Thanks I will check it out…so when you say you have a manifest is that some sort of script or official process for the flatpak or is it just a term you used for your process

1 Like

I am interested to learn more - if there is a way to easily build test builds …

I am no rocket scientist but just following these instructions step by step…should work…after that
for each update:
Its just git pull
git submodule init
git submodule update
./build.sh script…
then follow the instructions for installing a test version…

I am also sure this has been discussed and detailed here a number of times…

Take a shot…

1 Like

A flatpak manifest is a json or yaml file that describes all the dependencies of an application, where to download them, and how to build them.

I will post my manifest files on github or something and link them.

2 Likes

Yes a weekly or fortnightly flatpak or appimage would be great. I don’t know how much work is required to put the package together, but @CarVac was doing nightly appimages for Filmulator. Based on that it seems possible.

To build the master branch of darktable using flatpak, do the following:

  1. Install flatpak and flatpak-builder.
  2. git clone https://github.com/paperdigits/org.darktable.Darktable.git
  3. git checkout -b build-master
  4. flatpak-builder --install-deps-from flathub --force-clean --user --install build-dir org.darktable.Darktable.json
  5. flatpak run org.darktable.Darktable
8 Likes

Thank you, Mica, for this information and for the many other responses you have given in this thread and the lot of others where you clarify various small and larger questions of a more general nature that pops up between us newcomers/non-developers in the forum. Greatly appreciated!

2 Likes

Thanks. A couple of questions.
Does the flatpak master use the same .config folder as our currently installed stable version?
If we make flatpak edits to an already edited stable image, does it overwrite the existing xmp, or create a new one?
Do we need cd darktable between steps 2 and 3?

That’s simpler than I thought it would be, pretty nice.

Firstly: Thanks! That’s a nice way to build darktable without having to mess with dependencies.

Submodules need to be pulled as well, otherwise the shared-modules folder is empty and flatpak-builder won’t work.

The commands need a bit of adjusting for submodules and updating to the correct remote branch:

  1. git clone https://github.com/paperdigits/org.darktable.Darktable.git --recursive
  2. cd org.darktable.Darktable
  3. git checkout -b build-master origin/build-master
  4. git submodule update
  5. flatpak-builder --install-deps-from flathub --force-clean --user --install build-dir org.darktable.Darktable.json
  6. flatpak run org.darktable.Darktable

However, the exiv2 URL has moved, so the org.darktable.Darktable.json file needs updating as well. (Between step 4 and 5.)

The new URL is:
https://github.com/Exiv2/exiv2/releases/download/v0.27.5/exiv2-0.27.5-Source.tar.gz
(same sha256)

2 Likes

No, it uses ~/.var/app/org.darktable.Darktable.

It’ll over write. I suggest you turn off xmp writing.

Yes, good catch.

Also note that you can’t update lensfun, but this flatpak grabs a fairly recent version of the profiles while building. You can update the git hash in the json file if you need even newer

1 Like

the only thing I miss so far in R&Darktable is RAW chromatic aberrations - removing CA with lens correction does not work well in my experience. If I try to fine tune it manually it removes CA in one part of the photo and adds them somewhere else. And the chromatic aberrations module does not actually remove CA, it just tries to defringe which is effective sometimes but not so effective in other cases.

3 Likes

If you’re building yourself it’s easy enough to un-deprecate, though you’d have to do it every time you rebuild. What we need is a fork of the fork.

2 Likes

Having a complete git checkout it’s easier, just a small commit to be rebased on the R&Darktable master whenever one wants to update.

1 Like

Sure but not everyone does git-fu

You are right, I didn’t think of fixing this myself even tough I already have several commits here and there.
But did Aurélien just deprecate the module or did he actually also remove the code? I think he already removed quite some code…

He’s not gonna do anything to break old edits. I’m sure he’ll remove a lot more of the UI code but processing modules need to stick around forever so they’ll only ever be flagged and hidden in the module group UI. That’s a tiny bit of coding to put them back (or just create a style and apply it).

Just found a workaround - find an old XMP with raw ch. abs. in it, load it onto a raw, ensure switched on, then save a Style with it enabled. Now this can be applied to new raws!

Ha! great minds…