Darktable portable version (win10)

Let’s stay on topic, which is darktable portable version (win10)

Sure, I’d love to see a portable version of Darktable. Am surprised that one doesn’t exist. Would make it more available for those looking for option to other similar (and perhaps better suited) programs. After so many years of them saying “no windows port”, it’s gratifying how well the eventual windows port turned out.

I believe it was because no one could release one reliably and regularly. Someone might have tried once or twice but failed. Anyway, the past is past.

Maybe @Carmelo_DrRaw could automate it (or already has) for Windows?

Are people specifically looking for 2.6.2 portable? If so, why? 2.7.0 is so stable I gave up on 2.6.2 ages ago.

1 Like

A portable option (like rt has) would need the option loaded before the darktablerc files and preferably before the cmdline is parsed so that the ‘–configdir’ option can still be used.

Simply using ‘–configdir’ is problematic for launching dt indirectly through other app’s like gimp.

Also, the environmental variables are best set in app as being portable, it should be able to run from anywhere.

This is possible, and probably not too difficult. However, I would only start such a project if it is officially accepted and supported by the DT developers, as I do not want to create some “parallel build” that conflicts with the official ones…

3 Likes

Yeah, that makes sense. It should effectively “take priority”, since other options’ behaviors may depend on whether that flag is toggled.

Why is that? I guess they’re not doing exec, right? Couldn’t a combination of --configdir, --datadir, --library, and --tmpdir do enough (assuming the other variables are set properly by default at installation)?

Alternatively, there must be buffers where the values of those variables are stored. Right now, they’re presumably initialized to their default values. If we pre-populate those based on whether it’s a portable build, then it should “just work”, right? Or am I missing something with respect to places darktable writes?

Hmm…looking at the manpage at least, there don’t seem to be any environment variables? But yes, I agree that any environment variables that need to be used should be set by the program itself.

1 Like

@Carmelo_DrRaw I agree. Could being the operative word. :slight_smile:

Because app’s starting other app’s don’t always allow for cmdline options.

The env’s needed are:
CAMLIBS
IOLIBS
MAGICK_HOME

This is already done in the version @st.raw linked to earlier. But there’s no option in that version yet, it’s hard coded.

Ah, I see. I wonder if allowing for setting the config dir (and other dirs) through environment variables (e.g. DARKTABLE_CONFIG_DIR and similar) might be helpful? That way, portable mode would just have to toggle the environment variables.

No, that’d just over complicate the issue.

It just needs an option file that’s loaded before anything else is done. This file could also be used for cmdline options amongst other things.

1 Like

Hi,

I’ve created some sort of portable version of darktable from 2.7 dev version (darktable-2.7.0+1423~ga63dd508e-win64). Just unpack zip file and click on darktable shortcut in unpacked directory (portable version download).
I have tested it on my Windows 7 notebook and Win 10 desktop and it works without any issues. But bear in mind that it will try to search previous darktable databases in users folder or create new when there is no database file. So as you see it is not a full portable version, because it relies on database located in users directory.

I’m a big fan of portable apps. I use https://portableapps.com/ a lot for a lot of different stuff. It appears that sifecobin2hood has created an old version of DarkTable. https://portableapps.com/node/57365
Maybe we could talk him/her into working on the new version under the portable apps format. Almost any app can be created into a portable version with their solution.

If you’d like the maintainer of the portable app to create a new version, you should ask them to do so. That person should probably be involved in the project as a packager, as they’ll have to provide support for that specific build. The darktable team doesn’t really have the manpower to provide support for older versions.

Half way back to topic, after lots of research I got something working now.

Firstly, my main aim wasn’t making darktable portable, but rather have two versions run on my Win10 PC - release 2.6.2 plus the latest 2.7.x DEV version.

I did install the 2.7.0 exe on an external HDD. That works fine, but when you start it it asks you if you want to convert the data.db to the latest version - if you say ‘‘yes’’ then 2.6.2 won’t start.

So what I did, I created a TXT file that I called dt2.7.0.1945.bat, just to remind me what version I run without actually opening it. Then in the dt2.7.0.1945.bat I wrote:

start /d “G:\Cam_Stuff\darktable\dt-270oct\darktable\bin” darktable.exe --library G:\Cam_Stuff\darktable\dt-270oct\darktable\userdata\portable.db --configdir G:\Cam_Stuff\darktable\dt-270oct\darktable\userdata\config

The data.db will now sit in the \config\ folder.

If the folder not exist they will be created. Of course your USB driver letter need to stay the same to make it work. If you want to add comments to your *.bat file you do the after a REM.

Not sure it’s really portable, but now I can open 2.6.2 and 2.7.0 on the same PC

I think configdir is enough…that should put both the library and data db in your specified folder…there are separate command lines to locate either the library or the data.db files …configdir will also keep the keyboardrc file etc located there as well…

1 Like

Hello, I was wondering if there is or will be a new version for Win10 portable archive of darktable? I have tried the 2.40 but it did not worked. I wanted to try it without installing it and then unistalling as it is not clean in Windows. Thank you.

So far nobody has provided a portable binary.

Ah, OK. Thank you.
I thought it is not so hard to have a zip arhive. Many programs have such a zip file beside the installer. Blender has this too.
Even with less features it would be great. I think.
Maybe someday. Thank you

Someone who has a demand should start doing the stuff. If this ‚someone‘ doesn’t exist, it won’t be made…