1. Abhängigkeiten installieren

Zuerst musst du sicherstellen, dass alle notwendigen Werkzeuge und Bibliotheken installiert sind. Arch Linux macht es uns hier einfach, da wir die meisten Abhängigkeiten direkt über pacman beziehen können.

Öffne ein Terminal und führe folgenden Befehl aus:

Fish
sudo pacman -S --needed base-devel cmake git llvm clang ninja \  
    gtk3 libxml2 libexiv2 exiv2 lcms2 curl libpng libjpeg-turbo \  
    libtiff openexr pugixml lua54 osm-gps-map opencl-headers \  
    libsecret graphicsmagick webp-pixbuf-loader libavif libheif \  
    libjxl iso-codes desktop-file-utils python-jsonschema  

Hinweis: Je nachdem, welche Funktionen du genau benötigst (z.B. spezielle Kamera-Unterstützung), könnten noch weitere Bibliotheken wie libgphoto2 sinnvoll sein.

2. Quellcode klonen

Navigiere in ein Verzeichnis deiner Wahl (z.B. ~/builds) und klone das offizielle Repository:

Fish
mkdir -p ~/builds && cd ~/builds  
git clone https://github.com/darktable-org/darktable.git  
cd darktable  

Falls du eine bestimmte Version oder einen Branch (z.B. den aktuellen Release-Zweig) bauen möchtest, kannst du diesen mit git checkout wählen. Standardmäßig befindest du dich im master Branch (Entwicklungsversion).

3. Submodule aktualisieren

Darktable nutzt Git-Submodule, die ebenfalls geladen werden müssen:

Fish
git submodule update --init  

4. Kompilieren und Bauen

Es wird empfohlen, in einem separaten Verzeichnis zu bauen, um den Quellcode-Ordner sauber zu halten. Wir nutzen hier build.sh, ein praktisches Skript, das von den Entwicklern mitgeliefert wird:

Fish
./build.sh --prefix /opt/darktable --buildtype Release  
  • --prefix /opt/darktable: Dies installiert darktable nach /opt/darktable, anstatt dein Systemverzeichnis (/usr) zu verändern. Das ist sicherer, falls du die Git-Version später einfach löschen möchtest.
  • --buildtype Release: Optimiert den Code für die Ausführung (schneller als die Debug-Version).

5. Installieren

Nachdem der Build-Prozess abgeschlossen ist (das kann je nach CPU ein paar Minuten dauern), installierst du das Programm:

Fish
sudo cmake --build build --target install  

6. Starten

Da wir /opt/darktable als Ziel gewählt haben, kannst du das Programm nun so starten:

Fish
/opt/darktable/bin/darktable

Wenn du möchtest, dass darktable einfach über den Befehl darktable in jedem Terminal erreichbar ist, kannst du einen Symlink erstellen:

Fish
sudoln -s /opt/darktable/bin/darktable /usr/local/bin/darktable  

Update

1. Neuesten Code holen

Gehe in dein Quellcode-Verzeichnis und lade die neuesten Änderungen vom Server:

Fish
cd ~/builds/darktable  
git checkout master  # Sicherstellen, dass du im Hauptzweig bist  
git pull             # Änderungen herunterladen  
git submodule update --init  # WICHTIG: Submodule ebenfalls aktualisieren  

2. Den Build-Ordner bereinigen (Optional, aber empfohlen)

Wenn es große Änderungen am Code gab, kann es manchmal zu Fehlern kommen, wenn man einfach „drüber“ kompiliert. Um sicherzugehen, kannst du den alten Build-Ordner löschen:

Fish
rm -rf build/  

3. Neu kompilieren und installieren

Jetzt startest du den Prozess einfach erneut. Da die Konfiguration (der Prefix /opt/darktable) im Skript gespeichert bleibt oder neu gesetzt wird, reicht:

Fish
./build.sh --prefix /opt/darktable --buildtype Release  
sudo cmake --build build --target install 

Was ist, wenn du einen Patch (Test-Version) installiert hattest?

Wenn du vorher einen Patch angewendet hast (wie oben beschrieben) und jetzt wieder auf die „saubere“ offizielle Version zurück willst, musst du den Patch erst rückgängig machen, bevor du git pull ausführst:

  • Falls mit git apply gemacht: bashCopygit checkout . # Verwirft alle lokalen Änderungen am Code
  • Falls du einen eigenen Branch erstellt hattest: bashCopygit checkout master

Zusammenfassung als „Einzeiler“ für die Zukunft

Wenn du einfach nur schnell das neueste Update ziehen willst, kannst du diesen Befehl in deinem darktable-Ordner nutzen:

Fish
git pull && git submodule update --init && ./build.sh --prefix /opt/darktable --buildtype Release && sudo cmake --build build --target install 

Hinweis: Wenn du darktable über /opt/darktable/bin/darktable startest, musst du nach dem Update nichts weiter tun – die Verknüpfung bleibt gleich, aber das Programm dahinter ist nun auf dem neuesten Stand.

Fragen zu diesem Thema? Diskutiere mit uns im Forum!

Letzes Update: Februar 15, 2026