キノコの自省録

テクノロジーとコンテンツの融合を目指して

Krita現バージョン(3.3.2)はMacOSXでG'MICが動きません

直前のエントリでも書きましたが、Kritaの現バージョン(3.3.2)では、MacOSXでG'MICが動作しません。正確には、KritaとG'MICが繋がっていません。リリースノートにひっそりと書かれています。

Krita 3.3.2リリース | Krita

Kritaでの着色にG'MICを紹介しているブログがいくつかあって、よーしやってみようと思ったら上記の通りで、のっけから躓くことになりました。「MacOS版でG'MICが現在非対応」という情報もなかなか出てこなくて、色々格闘していました。ということで、G'MICを使用したい場合、大人しくWindowsLinux版を使用しましょう。

なにがダメなのか

Krita技術的な話。

窓の杜の記事ではこう書かれています。

また、Mac版はコンパイルに問題があり、「gmic-qt」プラグインが含まれていない。

フリーのペイントソフト「Krita」v3.2.0、不要な被写体をなぞって除去する機能を導入 - 窓の杜

うーん、なんだかよくわかりませんね。ということで、gmic-qtをMac上でビルドして動かしてみました。ビルド手順を書いておきます。ちなみにHomeBrewがインストールされていることが前提です。

まずはQtのインストールから。

$ brew install qt
$ echo 'export PATH="/usr/local/opt/qt/bin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile

次に、XQuartzが必要っぽいのでインストール。以下からdmgファイルをダウンロードして入れるだけ。

https://www.xquartz.org

ビルドはqmakeで行う方法と、cmakeからMakefileを生成する方法があります。今回はcmakeでやる方法を紹介。

$ brew install cmake
$ git clone https://github.com/dtschump/gmic.git
$ git clone https://github.com/c-koi/gmic-qt.git

$ cd gmic-qt
$ mkdir build
$ cd build
$ cmake .. -DGMIC_QT_HOST=none -DGMIC_PATH=../gmic/src -DCMAKE_BUILD_TYPE=Release
# DGMIC_PATHはgmic.cppのある場所を指定すること

$ make

-DGMIC_QT_HOST=kritaとすると、krita用gmic_qtが出来上がりますが、Krita側が非対応なので、何もできないバイナリになってしまいます。

※DGMIC_PATHの指定は、gmic.cppの有無で判断するので、指定場所に注意してください。

結構かかります。気長に待ちましょう。終了すると、作業ディレクトリ(build)にgmic_qtという実行ファイルができています。そう、スタンドアロンの実行ファイルです。

起動するとファイル指定ダイアログが立ち上がりますが、なんか様子が変なので、コマンドラインからファイルを引数指定して起動することをお勧めします。

$ ./gmic_qt hoge.png

とりあえず立ち上がりはしました。うーん、コンパイルの問題ではない気がしますね。

f:id:kinokorori:20180105230816p:plain:w300

いくつかのフィルタはちゃんと動作するようです。実際に試してみると、保存まで完璧に終わります。ただ、肝心の色塗りで使われるcolorize[interactive]が動きません。選択してOKすると、ノード指定画面に行かずにクラッシュします。

どうもKritaではなく、gmic-qtの方にトラブルがあるっぽいですね。なにしろ別プロセスでGUI付き動作をするので、Kritaはあまり複雑なことをする必要がないですから。

また、G'MICは、アルゴリズムサイドのgmicと、gmicをGUIラップしたgmic-qtでできているようですが、まだ対応が完全でないのはgmic-qtの方ではないかと思います。ちなみに、$ brew install gmicを実行すると、ちゃんとインストールされます。

結論

ということで、確かにMacだと今のところgmic-qtの対応が不完全のようです。オープンソースなので、自ら開発に参加、というのも全然アリだと思います。

Macに仮想環境突っ込んでLinuxという手もないではないですが……。