darktable - darktableは、オープンソースの写真ワークフローアプリケーションであり、生の開発者です

(darktable is an open source photography workflow application and raw developer)

Created at: 2012-03-22 05:53:04
Language: C
License: GPL-3.0

アイコンdarktableGitHubワークフローステータス(ブランチ) CIIのベストプラクティス

darktableは、オープンソースの写真ワークフローアプリケーションであり、非破壊の生の開発者であり、写真家のための仮想のライトテーブルと暗室です。データベース内のデジタルネガを管理し、ズーム可能なライトテーブルで表示できるようにし、生の画像を作成して拡張し、ローカルまたはリモートストレージにエクスポートできるようにします。

スクリーンショット_lighttable

darktableは無料のAdobe®Lightroom®の代替品ではありません

https://www.darktable.org/

目次

  1. ドキュメンテーション
  2. Webサイト
  3. 要件
  4. インストール
  5. 古いバージョンからの更新
  6. 拡張機能の取得
  7. 建物
  8. 使用する
  9. 貢献
  10. よくある質問
  1. ウィキ
  2. メーリングリスト

ドキュメンテーション

darktableのユーザーマニュアルは、dtdocsリポジトリに保持されています。

Lua APIドキュメントは、luadocsリポジトリに保持されています。

Webサイト

Webサイト(https://www.darktable.org/)はdtorgリポジトリに保持されています。

要件

サポートされているプラ​​ットフォーム

  • Linux(64ビット)
  • 無料のBSD(64ビット)
  • Windows 8(64ビット)、Windows 10(64ビット)
  • マックOS

32ビットプラットフォームは公式にはサポートされていません-動作する場合と動作しない場合があります。

Windowsのサポートはまだ若く、Linuxに影響を与えないバグに悩まされています。可能であれば、Linuxでdarktableを使用することをお勧めします。

ハードウェア

(実行可能な最小値/推奨される最小値):

  • RAM:4 GB / 8 GB
  • CPU:Intel Pentium 4 / IntelCorei54×2.4GHz
  • GPU:なし/ 1024 CUDAコアを備えたNvidia、4 GB、OpenCL1.2互換
  • 空きディスク容量:250 MB / 1 GB

darktableは軽量構成(Raspberry Piでも)で実行できますが、ノイズ除去、ローカルコントラスト、コントラストイコライザー、レタッチ、液化などのモジュールは使用可能な速度を超えて遅くなることが予想されます。

GPUは必須ではありませんが、よりスムーズなエクスペリエンスのために強くお勧めします。一部のAMDドライバーは一部のモジュールで信頼性の低い動作をするため(ローカルコントラストなど)、安全のためにNvidiaGPUをお勧めします。

インストール

最新のリリースがディストリビューションのビルド済みパッケージとしてまだ利用できない場合は、以下の手順に従ってソフトウェアを自分でビルドできます

最新のリリース

4.0.0(安定)

ビルド済みパッケージを使用する場合は、Lua、OpenCL、OpenMP、およびColoredサポートを使用してビルドされていることを確認してください。これらはオプションであり、欠落している場合でもdarktableの実行を妨げることはありませんが、これらがないとユーザーエクスペリエンスが低下します。特に、一部のFlatpak、Snap、およびAppimageパッケージには、OpenCLおよびLuaのサポートがありません。

開発スナップショット

開発スナップショットは、マスターブランチの現在の状態を反映しています。これはテストを目的としており、一般的に安全ではありません。マスターブランチの使用に関する警告と注意事項については、以下の注を参照してください。

古いバージョンからの更新

古いリリースからdarktableを更新する場合は、最新バージョンをインストールするだけで済みます。既存のファイルは保持されます。

ただし、新しいリリースでは、ライブラリデータベースの構造を変更する必要がある場合があります(darktableで認識されている画像の全リストと、編集履歴が含まれています)。これが発生した場合は、データベースをアップグレードするか、ソフトウェアを閉じるように要求されます。

新しいデータベース構造/新しいリリースへの移行は、編集内容(新旧両方)が古いバージョンのdarktableと互換性がなくなることを意味します。アップグレードは決定的なものです。新しいバージョンは常に古い編集と互換性がありますが、新しい編集は通常、古いバージョンと互換性がありません。

darktableは、新しいバージョンによってライブラリデータベースがアップグレードされると(

~/.config/darktable/library.db-pre-3.0.0
たとえば)、ライブラリデータベースを自動的にバックアップするため、必要に応じてこのバックアップを復元することで、以前のリリースに戻すことができます(名前をに変更するだけです
library.db
)。

古いバージョンのソフトウェアで新しいデータベースを開こうとすると、新しい機能で行われた編集の一部が破棄され、それらが失われます。これは、サイドカーXMPファイルにも当てはまります。

2つのバージョン(新しい/不安定および古い/安定)間を定期的に移動する場合 は、安全に行う方法の詳細について以下を参照してください。

拡張機能の取得

拡張機能とプラグインはLuaスクリプト言語を使用しており、ここからダウンロードできます。DarktableではLuaのサポートはオプションであるため、ビルド中に

lua
インタープリターとその開発ファイル(パッケージ
lua-dev
または
lua-devel
ディストリビューションに応じて)がシステムにインストールされていることを確認するか、使用しているパッケージがこのライブラリでビルドされていることを確認してください。

拡張機能を使用すると、さまざまなメディアやWebサイトへのエクスポート、HDR、パノラマまたはフォーカスブラケットのマージ/スタック/ブレンド、AIベースの顔認識の適用、タグおよびGPSデータの管理などが可能になります。

建物

依存関係

互換性のあるコンパイラ:

  • Clang:8以降
  • GCC:8以降
  • MinGW-w64:6以降

必要な依存関係(最小バージョン):

  • CMake 3.10
  • Gtk 3.22
  • Glib 2.40
  • SQLite 3.15(ただし、3.24を強くお勧めします)
  • Exiv2をサポートするには、CanonCR3ファイルをISOBMFFでサポートして構築された0.27.4以上が必要です。

オプションの依存関係(最小バージョン):

  • OpenMP 4.5 (CPUマルチスレッドおよびSIMDベクトル化用)
  • LLVM 3.9 (コンパイル時のOpenCLチェック用)
  • OpenCL 1.2 (GPUアクセラレーションコンピューティング用)
  • Lua 5.4 (プラグインおよび拡張スクリプト用)
  • libavif 0.7.2 (AVIFインポート/エクスポート用)
  • WebP 0.3.0 (WebPエクスポート用)

オプションの依存関係(バージョン要件なし):

  • Gphoto2 (カメラテザリング用)
  • Lensfun (自動レンズ補正用)
  • OpenEXR (EXRのインポートおよびエクスポート用)
  • OpenJPEG (Jpeg2000エクスポート用)
  • 色付き、Xatom (システムディスプレイのカラープロファイルを取得するため)
  • G'Mic (gmz圧縮lutサポート用)
  • PortMidi (MIDI入力サポート用)
  • SDL2 (ゲームパッド入力サポート用)

Linuxシステムにすべての依存関係をインストールするには、ディストリビューションのソースリポジトリを使用できます(最新の場合)。

FedoraとRHEL

sudo dnf builddep darktable

OpenSuse

sudo zypper si -d darktable

Ubuntu

sed -e '/^#\sdeb-src /s/^# *//;t;d' "/etc/apt/sources.list" \
  | sudo tee /etc/apt/sources.list.d/darktable-sources-tmp.list > /dev/null \
  && (
    sudo apt-get update
    sudo apt-get build-dep darktable
  )
sudo rm /etc/apt/sources.list.d/darktable-sources-tmp.list

Debian

sudo apt-get build-dep darktable

不足している依存関係をインストールする

システムに必須の依存関係がない場合、ソフトウェアビルドはまたはのようなエラーで失敗し

Package XXX has not been found
ます
Command YYY has no provider on this system
。これらのエラーのいずれかが表示された場合は、ディストリビューションで不足しているパッケージ/コマンドを提供しているパッケージを見つけて、インストールする必要があります。これは通常、パッケージマネージャー(ディストリビューションでデフォルトで通常提供されているアプリケーションマネージャーではありません)またはインターネットから検索エンジンを使用して実行できます。最初にパッケージマネージャーをインストールする必要がある場合があります(Debian / UbuntuのAPT、Fedora / RHELのDNFなど)。

このプロセスは面倒かもしれませんが、一度だけ行う必要があります。 最も一般的なLinuxディストリビューションへのほとんどの依存関係をインストールする1行のコマンドについては、darktableの構築に関するこのページを参照 してください。

ソースを取得する

マスターブランチ(不安定)

マスターブランチには最新バージョンのソースコードが含まれており、次のことを目的としています。

  • 開発者の作業拠点として、
  • ベータテスターがバグを追跡するために、
  • 次のリリースを待たずに新機能の安定性を犠牲にすることをいとわないユーザー向け。

マスターブランチには安定性の保証がなく、データベースとXMPファイルが破損したり、データや編集履歴が失われたり、以前のバージョンやコミットとの互換性が一時的に失われたりする可能性があります。

どれくらい危険ですか?ほとんどの場合、それはかなり安定しています。他のローリングリリースの種類の展開と同様に、バグはより頻繁に発生しますが、より迅速に修正されます。ただし、これらのバグにより、写真の編集履歴が失われたり、不整合が生じたりする場合があります。これは、将来編集を再度開く必要がない場合は問題ありませんが、不動産を管理している場合は問題がない可能性があります。

~/.config/darktable
ディレクトリと、マスターブランチで開く予定の画像のサイドカー.XMPファイルをバックアップした後、次のようにソースを取得できます。

git clone --recurse-submodules --depth 1 https://github.com/darktable-org/darktable.git
cd darktable

通常の安定版インストールとファイルに損傷を与えることなく、不安定版のテストインストールを開始する方法については、以下(「使用方法」)を参照してください。

最新の安定したリリース

4.0.0

darktableプロジェクトは、毎年、真夏とクリスマスの2つのメジャーバージョンをリリースし、偶数のタグが付けられています(3.0、3.2、3.4、3.6など)。マイナーリビジョンは3桁目(例:3.0.1、3.0.2)でタグ付けされ、ほとんどの場合、バグ修正とカメラサポートを提供します。特定のコンピューターのパフォーマンスを向上させるために、これらの安定したリリースを自分でコンパイルすることをお勧めします。

git clone --recurse-submodules --depth 1 https://github.com/darktable-org/darktable.git
cd darktable
git fetch --tags
git checkout tags/release-4.0.0

サブモジュールを取得する

LibXCF 、OpenCLrawspeedwhereami、およびLibRawはgitサブモジュールを介して追跡されるため、 darktableをチェックアウトした後、サブモジュールも更新/チェックアウトする必要があることに注意してください。

git submodule update --init

コンパイル

簡単な方法

警告:以前にdarktableを作成したことがある場合は、異なるバージョンのファイルの競合を避けるために、最初に andディレクトリを完全に削除(

rm -R
)することを忘れないでください。変更された依存関係を適切に無効にしないビルドキャッシュにトレースできる多くの奇妙な動作と一時的なバグが報告されているため、最も安全な方法は、以前にビルドされたバイナリを完全に削除して、最初からやり直すことです。
build
/opt/darktable

darktableは、単一のコマンドで従来のケースのLinuxおよびmacOSでのビルドを自動的に処理するシェルスクリプトを提供します。

./build.sh --prefix /opt/darktable --build-type Release --install --sudo

通常/安定バージョンと一緒にテストバージョンをインストールする場合は、インストールプレフィックスを変更します。

./build.sh --prefix /opt/darktable-test --build-type Release --install --sudo

これにより、アーキテクチャ専用のソフトウェアが構築されます。

  • -O3
    最適化レベル、
  • 検出された場合のSSE/AVXサポート、
  • 検出された場合のOpenMPサポート(マルチスレッドおよびベクトル化)、
  • 検出された場合のOpenCLサポート(GPUオフロード)、
  • 検出された場合のLuaスクリプトのサポート。

他のアプリケーションに沿ってdartkableを表示したい場合は、シンボリックリンクを追加するだけです。

ln -s /opt/darktable/share/applications/darktable.desktop /usr/share/applications/darktable.desktop

これで、カスタムビルドのdarktableを、パッケージ済みのソフトウェアと同じように使用できるようになりました。

手動による方法

または、手動ビルドを使用してカスタム引数を渡すこともできます。

Linux / macOS
mkdir build/
cd build/
cmake -DCMAKE_INSTALL_PREFIX=/opt/darktable/ ..
make
sudo make install
ウィンドウズ

https://github.com/darktable-org/darktable/blob/master/packaging/windows/BUILD.mdを参照してください

使用する

テスト/不安定なバージョン

通常/安定バージョンのファイルとデータベースに損傷を与えることなくdarktableのテストバージョンを使用するには、次のコマンドを使用してターミナルでdarktableを起動します。

/opt/darktable-test/bin/darktable --configdir "~/.config/darktable-test"

また、[設定]->[ストレージ]->[XMP]で、[各イメージのサイドカーファイルを書き込む]オプションが[しない]に設定されていることを確認してください。このように、通常/安定バージョンは

~/.config/darktable
通常どおりに構成ファイルを保存し、テスト/不安定バージョンはに保存し
~/.config/darktable-test
、2つのバージョンはデータベースの競合を引き起こしません。

通常/安定バージョン

デスクトップアプリケーションメニューから起動するか、ターミナルから、

darktable
またはを実行し
/opt/darktable/bin/darktable
ます。インストールでアプリケーションメニューにランチャーが作成されなかった場合は、次のコマンドを実行します。

sudo ln -s /opt/darktable/share/applications/darktable.desktop /usr/share/applications/darktable.desktop

darktable設定ファイルは。にあります

~/.config/darktable
。起動時にクラッシュが発生した場合は、OpenCLを使用せずに、ターミナルから、を使用してdarktableを起動してみてください
darktable --conf opencl=FALSE

参考文献

Ubuntu/Debian関連のディストリビューションまたはFedoraおよび関連するディストリビューションのビルド手順の包括的なリストがあります。これらのビルド手順は、他の多くのLinuxディストリビューションに簡単に適合させることができます。

貢献

darktableプロジェクトに貢献できる方法はたくさんあります。

よくある質問

プラグを差し込んだときにカメラが検出されないのはなぜですか?

最新のカメラをサポートするために、最新のgphoto2ライブラリがインストールされていることを確認してください。

暗室でレンズが検出/補正されないのはなぜですか?

レンズ補正プロファイルは、プログラムとデータベースの2つの部分からなるLensfunによって提供されます。ほとんどのLinuxディストリビューションは、プログラムの十分に新しいバージョンを提供しますが、データベースの古いバージョンを提供します。Lensfunが正しくインストールされている場合は、次のコマンドを実行して、ターミナルのデータベースを更新します。

lensfun-update-data

または代わりに

/usr/bin/g-lensfun-update-data

LightTableビューのサムネイルが暗室ビューのプレビューと異なって見えるのはなぜですか?

darktableで編集されたことがない(インポートしたばかりの)RAWファイルの場合、デフォルトでは、lighttableビューにカメラによってRAWファイルに配置されたJPEGプレビューが表示されます。このJPEGファイルの読み込みが高速になり、画像の大規模なコレクションをインポートするときのLightTableビューの応答性が向上します。

ただし、このJPEGサムネイルは、カメラのファームウェアによって独自のアルゴリズムで処理され、色、シャープネス、コントラストは、darktable処理(暗室ビューで画像を開いたときに表示される処理)と同じようには見えない場合があります。カメラメーカーは、ファームウェアで実行するピクセル処理の詳細を公開していないため、他のソフトウェアで外観を正確または簡単に再現することはできません。

ただし、RAW画像を暗室で編集すると、同じ方法で処理されるため、LightTableのサムネイルは暗室のプレビューと完全に一致するはずです。

埋め込まれたJPEGサムネイルをLightTableビューに表示したくない場合は、RAWファイルの場合、[設定]->[lighttable]で[埋め込みJPEGの代わりにrawファイルをサイズから使用する]オプションを[しない]に設定する必要があります。

ウィキ

メーリングリスト