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:
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:
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:
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:
./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:
sudo cmake --build build --target install
6. Starten
Da wir /opt/darktable als Ziel gewählt haben, kannst du das Programm nun so starten:
/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:
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:
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:
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:
./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 applygemacht: 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:
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
