【Ubuntu日和】【第83回】今からAI画像生成を始める人のためのComfyUIインストール方法

ComfyUIで画像生成中

 筆者も以前はStable Diffusion WebUIであんな娘やこんな娘を生成させていたものだが、最近はgpt-oss-120bをしばく日々である。

 そろそろ復帰しようかと考えていたら、現在はStable Diffusion WebUIはあまり使われておらず、ComfyUIが主流のようだ。モデルのクオリティも段違いに向上しているようで、完全に浦島太郎状態だ。

2年半ほど前にStabe Diffusion WebUIで生成した画像

 話は変わって、現在PC関連パーツの値上げが激しい。メモリは目を覆わんばかりの惨状で、SSDやHDDもかなり厳しい状況だ。次に来るのはビデオカードであろう。ということでGeForce RTX 5060 Ti 16G VENTUS 2X OC PLUSを購入してしまった。その直後9,000円ほど値上げしており、まさにギリギリセーフであった。ただし今年何枚ビデオカードを買ったかは考えないこととする。

 というわけで今回はGeForce RTX 5060 TiでComfyUIを動作させることにしよう。

 今回使用する検証用PCは次の通りだ。

メーカー 型番 備考 CPU AMD Ryzen 7 9700X - メモリ Crucial CP2K32G56C46U5 64GB マザーボード MSI PRO B850M-A WIFI - CPUファン ID-COOLING IS-67-XT ファンはP12 PWM PSTに交換 ビデオカード MSI GeForce RTX 5060 Ti 16G VENTUS 2X OC PLUS - SSD MSI SPATIUM S270 SATA 2.5” 960GB - リムーバブルケース Silver Stone SST-FS202 - 電源ユニット Silver Stone SST-SX750-G - ケース Silver Stone SST-SG11B -

 意図せずMSIだらけになってしまった。

 メモリは当時2万3,248円で購入したものだが、今は4倍以上の10万円ほどするようだ。Crucial撤退の影響は確実にあるだろうが、それにしても今後一体いくらまで上がるのだろうか。

 セキュアブートはオフにしており、インストールするUbuntuのバージョンは24.04.3 LTSとする。

 ComfyUIはPythonで書かれている。動作に必要なフレームワークとしてPyTorchが採用されており、これでGPUの差異を吸収している。また多くの場合、Pythonのプログラムは仮想実行環境内で動作させることが多い。ライブラリが多数必要な上、Pythonのバージョンによっても挙動が変わってしまうデリケートなものなので、実行したいプログラムに合わせて実行環境を用意するのが合理的なのだ。

 Pythonにはvenvという仮想環境が用意されており、これを使うのが一般的だ。しかし、手軽ではあるものの本格的に運用するといろいろと厳しくなってくる。さらにライブラリのインストールにはpipを使用する。

 そこでおすすめするのが、モダンなPython開発/実行環境構築ツールであるuvだ。uvのいいところは、Rustで書かれているので実行にPythonが必要ないところだ。

 何を言っているか分からないと思うので、一から解説していこう。動作にPythonが不要であるということは、OSにPythonをインストールする必要がなく、仮想環境ごとに適したバージョンのPythonをインストールすれば、前述のようなバージョン違いに悩む必要がなくなる。

 来年(2026年)4月にリリース予定のUbuntu 26.04 LTSのPythonは、おそらく3.14になると思われるが、以前のようにPythonのプログラム側で最新のPythonのバージョンに対応するまで待つ必要がなくなる。

 蛇足ながらuvはWindows版もある。ということはどういうことか、そこについては詳しくは述べない。

 そればかりではなく、uvはvenvとpipの代替になるどころか、より便利になるのでおすすめしたい理由だ。

 NVIDIAのビデオカードを使用するということはプロプライエタリなドライバをインストールする必要があるということで、「追加のドライバー」を起動して、執筆時点で最新版の「nvidia-driver-580-open」を選択して「変更の適用」をクリックする。

「nvidia-driver-580-open」を選択して「変更の適用」をクリックする

 「nvidia-driver-580」だとうまく動作しないことが分かっている。というのも、nvidia-driver-580をインストールした上でログを見ると、「NVRM installed in this system requires use of the NVIDIA open kernel modules.」とある。少なくともGeForce RTX 50シリーズでは(40シリーズは不所持ゆえ未確認)open kernel modules、すなわち「nvidia-driver-580-open」である必要があるということだ。

「nvidia-driver-580」選択時のログ

 UbuntuのリポジトリにもCUDAのパッケージは存在するものの、古すぎるので、NVIDIAのリポジトリから次のコマンドを実行してインストールする。

$ ~/Downloads/$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb$ sudo apt install ./cuda-keyring_1.1-1_all.deb$ sudo apt update$ sudo apt install cuda-toolkit-13-1

 今回は~/Downloads/というフォルダがあることを前提としているが、通常は(日本語記述の)~/ダウンロード/なので、適宜読み替えてほしい。

 再起動後、正しくCUDAがインストールされているかどうかは「nvidia-smi」コマンドを実行すると分かる。

nvidia-smiコマンドの実行例

 次のコマンドでuvをインストールする。

$ sudo apt install curl$ curl -LsSf https://astral.sh/uv/install.sh | sh$ source $HOME/.local/bin/env

 GithubリポジトリからComfyUIを取得する。

$ sudo apt install git$ mkdir ~/git$ cd ~/git$ git clone https://github.com/comfyanonymous/ComfyUI.git$ cd ComfyUI

 続けてComfyUIをインストールするが、前述の通りComfyUIはPyTorchを使用することによりGPUによる機種依存を吸収している。

 Get Startedを開き、実行したい環境を選択すると、PyTorchのダウンロードに必要なコマンドが出力される。

PyTorchのインストールコマンドが表示される

 今回は「pip3 install torch torchvision -–index-url https://download.pytorch.org/whl/cu130」を実行せよと表示されるが、uvを使っている関係で少し異なる。

 uvでの仮想環境の作成やライブラリのインストールまでいっぺんに行なうコマンドは次の通りとなる。

$ uv python install 3.12$ uv python pin 3.12$ uv venv$ uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu130$ uv pip install -r manager_requirements.txt$ uv pip install -r requirements.txt

 次のコマンドを実行し、ComfyUIを実行する。

$ uv run ./main.py --enable-manager

 しばらく待った後、Webブラウザ(Firefox)でhttp://127.0.0.1:8188にアクセスすると、ComfyUIにアクセスできる。

 「テンプレート」が起動するので、ここからやりたいことを選択する。ここでは「NetaYume Lumina」とした。

ほかにすごそうなのもあるが、筆者としては「NetaYume Lumina」を選択したい

 「NetaYume Lumina」をクリックすると、モデルがない旨が表示されるので、指示通りダウンロードし、所定のフォルダに置く。

「モデルが見つかりません!」といわれたら、指定のものをダウンロードする

 デフォルトのプロンプトは事細かに指示が書かれており、いきなりなかなか高クオリティのイラストを生成する。

デフォルトのプロンプトで生成した画像

 試しに以前(2年半ほど前)に生成した画像とほぼ同じプロンプトを入力し、生成してみた画像が次の通りだ。

冒頭の生成画像とほぼ同じプロンプトで生成した

 プロンプトが雑なので、いろいろとツッコミどころは多いものの、同じプロンプトでアニメっぽい塗りとイラストっぽい塗りの両方を生成するのがなかなか興味深い。

アニメっぽい塗りの例

 西川和久の不定期コラムには、ComfyUIを使用した作例が多数あるので、今回のようなイラスト調のものではなく、写真調のものを生成したい場合には参考にしてほしい。

関連記事: