How to test darktable nightly alongside stable installation [guide]

We now have a guide on how to setup a testing environment for a second darktable installation, e.g. to test a nightly, in the docs: darktable user manual - using a test environment

If you are a windows or mac user it’d be great if you could verify, that the instructions work as intended :slight_smile: .

14 Likes

Thank you. I welcome this to be in the manual, at a place where you can always find it.

I’m on Windows 11 and I’ve used/am using the procedure you describe successfully multiple times.

There is another option to separate the install from the stable version: when starting the install it first asks you whether to set it up for all users or only for the current user. If you select current user, it will place darktable not under the ‘C:\Program files’ folder but into a 'User\AppData\username\Local\Programs\darktable-xxx folder.
But it’s still absolutely mandatory to set up a separate configdir.

I once forgot that while testing @Masterpiga new ‘Flexi’ masking tool. After the first install ‘Flexi’ was in a C:\Program Files\daktable-dev folder, so separated from the stable version but a separate configdir was not defined. After some testing and when trying to install a newer version of ‘Flexi’, it didn’t ask me anymore for an installation folder but put it directly into the Program Files\darktable folder and 5.6 was gone, although I didn’t select to uninstall the current version. That’s when I tried out the ‘current user’ option which got me back to properly separated installs.

1 Like

So from your experience we should include a pointer to use “current user” when installing dt under windows?

1 Like

Thanks a lot, @mino, this is excellent.

One high-level comment. Currently, the doc is organized (1) per-step, then (2) per-os. I wonder whether the converse wouldn’t be easier to follow, so that one can read the whole process for their target OS in one chunk.

3 Likes

In the docs you can mention that there is this option with ‘current user’. But in general an install for all users works also. When installing, the question for which user the installation should be done (all/current) pops up automatically as the first question, I think since version 5.4 or 5.2. It might even be a windows thing??

I’ve done many other installs with dev versions for all users in the C:\Program files folder. So that works. The current user is sort of a rescue in case you forget to set a separate configdir. Then the request for the folder where to install your dev version may not pop up anymore. At least that happened to me.

1 Like

Thanks.

@victoryforce I think you know more about the installation rotines, can you clarify how to appropriately formulate this point for this guide?

1 Like

My builds never take this path…I don’t get asked about the all users or single and it goes strait to a path selection box where I can direct where the install should go…it was this way for a long time…This behaviour of described above seems relatively new to me and it can I think let you overwrite your main install by accident… I am no sure but I think there is more than one installer that is used…I much prefer the one that I have for builds on my system to this latest one…

1 Like

Building from git (on LInux), we would need to change the installation directory mentioned in this line

./build.sh --prefix /opt/darktable  --enable-ai 

right?

Is there any option to build the configdir into the test itself?

Maybe it’s just my system. If I remember well the possibility to install for all or a specific user might have come up when I tried out @Christian-B lab experimental branch and it stayed there also for installs of the stable version. So maybe some Windows option had been switched on on my system.
It came in handy for me though, when I lost the possibility to select the folder where to install dt.
Maybe just forget about that. Your description is correct and should work for most cases.

I’ve had upto to 5 versions of DT running… I usually build them myself just to get system specific options. I have a shortcut that I just copy that points all the config files for that version to its own config folder which I name the same as what I use in Program Files for the install pathname. I then just edit the path in that copy to what it needs to be…

With this newer installer it seems I could only name my path if I selected single user and then it had to be setup in appdata…if I tried a path in a separate base folder the install would fail…So it’s fine and after the first iteration or two of trying a couple of nightly prebuilds I figured it out but I prefer the installer method that I get when I build on my own machine…

1 Like

Hello,
I’ve attempted to make the docs section a bit more readable and also provide a TL;DR version of the whole commands.

The PR is here feat: clarify using test environment by yuri1969 · Pull Request #1059 · darktable-org/dtdocs · GitHub.

1 Like

question for the windows users who are running paralell installations: Does starting dartkable with a non-standard config-dir only work using the edited shortcut? What happens when you pin a -dev darktable installation to the taskbar and launch it from there?

Yes you have to edit the shortcut of you want it to write to a non-standard folder, even if your install is a dev version installed into a non-standard Program Files folder.

If you pin a dev version to the taskbar and have edited its shortcut correctly, all works fine. I can run the stable and a dev version in parallel and work on the same image. Just deactivate (very important!) xmp writing in the dev version.

1 Like

Concerning the Windows installer: After the PR for the windows installer to always ask for the install location I thought some more tweaks to the windows installer might be nice.

Before preparing a PR I wanted to ask the windows users running multiple installations here for your opinion - would this be worthwhile? @priort @wpferguson @Terry

New page asking what default configuration directory should be set up (injects --configdir "/path/" into the generated shortcuts):

Naming the generated taskbar shortcut “darktable-dev” for better discrimination:

Absolutely…

In fact I run my main install using the configdir switch… This way in the past if anything overwrite or massed up things in the default location due to my actions or other events it was a non issue as my designated alternate was always safe from that and also backup regularly…

I agree with both of these suggestions. I am running both installs but I wasn’t clever enough to keep my directories separated for both installs so they share the same and have the potential to screw up which has only once occurred over a number of years.

I like how Christians experimental branch of DT also has a different icon for his development version. I would like a slightly different icon for the developers version but that might be an unwelcomed request.

image

I thought about this, too. @Pascal_Obry do you have an opinion on this?

No strong opinion about this. It should be easy to have a dev version, but then people using the dev version only (like me and probably many devs) would have to live with that.

@priort @Terry could you put the modified installer through it’s paces ?

I’ve tried it and it asks for an install folder and a configdir folder, so that works fine.

Maybe if it let you also select a name of the shortcut that would be another way of distinguishing all the installs and it’s probably easier than creating different icons for each version. For example, I have dt-dev, dt-flexi, dt-spectrafilm etc. but all with the same icon.