digiKam

Professional Photo Management with the Power of Open Source

Contribute


The easiest way to contribute is to spread the word about digiKam. We also encourage you to test digiKam, report bugs, and submit feature requests. You might also want to subscribe to the digikam-users mailing list and help other digiKam users with their questions and problems.

Reporting Bugs and Submitting Feature Requests

Use the bug tracking system for all bug reports and new feature requests. Take a look at the support page for further information.

Freezes and Other Run-Time Issues

Linux host

Just run digiKam from the terminal command line to capture the text traces generated by the application. Note that you need to turn on before all debug traces from digiKam with QT_LOGGING_RULES environment variable.

    export QT_LOGGING_RULES="digikam*=true"
    digikam

Windows Host

On Windows, application text output is not sent to the terminal. You need to install DebugView tool to capture text traces generated by digiKam.

Before to start digiKam and DebugView, from your Windows System Info panel, add a new user variable with these criteria:

    name: "QT_LOGGING_RULES"
    value: "digikam*=true"

MacOS Host

As under Linux, run the application from a terminal. digiKam executable is installed in /Applications/digiKam.org/digikam.app/Contents/MacOS/digikam. Just start it from the command line to view text traces. Note that you need to turn on before all debug traces from digiKam with QT_LOGGING_RULES environment variable.

    export QT_LOGGING_RULES="digikam*=true"
    /Applications/digiKam.org/digikam.app/Contents/MacOS/digikam

Dealing with Crashes in digiKam

Linux host

In case digiKam crashes, you can provide a backtrace using GDB debugger. digiKam needs to be compiled with all debug info; otherwise the backtrace will be useless. If you installed digiKam using the packages provided by your distribution, make sure to install the corresponding debug package. The debugging guide provides further information on debugging.

If you use a regular binary, i.e. no AppImage, use the following command to get into GDB and start digiKam:

    gdb digikam
    (gdb) catch throw
    (gdb) run

If you use an AppImage bundle, replace the name of the AppImage with the one you have and run:

    ./digikam-7.2.0-x86-64.appimage debug

Instructions how to get into GDB are below. When you are in debugger and digiKam crashes, you will get to the GDB command prompt. If digiKam “just” freezes, press ctrl-c to get to the GDB prompt. Once you are at the prompt, use the “bt” command, copy the backtrace and exit GDB as shown here:

    (gdb) bt
    (gdb) _the backtrace is here_
    (gdb) quit

Windows Host

The binary installers comes with debug symbols and a DrMinGw crash course handler, which will generate a file backtrace in you home directory as below:

    C:\Users\_user_name_\AppData\Local\digikam_crash.log

Just replace “user_name” with your Windows login account.

MacOS Host

Mac users need to install Apple XCode development tool which integrate lldb debugger. Run it as follows to get a crash backtrace from the debugger:

    lldb /Application/digiKam.org/digikam.app/Contents/MacOS/digikam

Checking for Memory Leaks

To check for memory leaks in digiKam under Linux, use the valgrind tool. Run the command below, and report the trace to developers:

    valgrind --tool=memcheck --leak-check=full --error-limit=no digikam

Submitting Patches

To fix digiKam source code, you need to checkout current implementation from git following intructions here. Before you submit patches, please read the HACKING section from online API documentation. Send patches against the current version of the code (latest git/master revision) and not the stable release or an old beta version. Patches can be created using the following command:

    git diff HEAD > mydiff.patch

The patches must be attached to a new entry in Bugzilla. Please do not use mailing lists or private mail.

Alternative: you can make a Pull Resquest (PR) on gitlab using a fork of the project with your modifications.

Translations

If you want to contribute to the digiKam internationalization effort, contact the translation teams. Also, please read the Translation HOWTO to know the workflow used by translators.

Documentation

Help with digiKam documentation is always welcome. For all documentation-related matters, write to digiKam-devel mailing list. Our documentation is based on the docbook format standard. The README file explains in detail how structure the documents, take screenshots, etc.

It’s also possible to submit additions and changes in the ASCII format. To do this, create a new Bugzilla entry with a patch against git/master code, so it can be incorporated in the documentation.

Pictures Samples

We need RAW, TIFF, and JPEG files from different manufacturers (Canon, Nikon, Sony, Olympus, Sigma, etc.). We use these files to analyze embedded metadata to improve camera support in digiKam. We also need sample files produced by different applications (including other platforms and proprietary software like Adobe Photoshop) that include IPTC/XMP metadata. This can help us to improve compatibility with other tools and implement automatic import of these data into the digiKam database.

Splash Screens and Background Photo

As a photographer, you can submit your best photos for use as digiKam splash-screens and background photo. Take a look at this page for further information.