Windows 11 + WSL2でComfyUI専用環境を構築する方法
[すべてAIに生成させました]
今回は、Windows 11上にComfyUI専用のWSL2環境を作り、NVIDIA GPUを使ってComfyUIを起動するところまでまとめます。
既存のWSL環境とは分離し、ComfyUIやCustom NodeによるPython依存関係の汚染を避ける構成にしています。
僕の環境は以下です。
- Windows 11
- WSL2
- Ubuntu 24.04
- NVIDIA GeForce RTX 4070 Laptop GPU
- VRAM 8GB
- ComfyUI専用WSLを作成
なぜComfyUI専用のWSLを作るのか
ComfyUIでは、画像生成モデルだけでなく、
- PyTorch
- CUDA関連ライブラリ
- Pythonパッケージ
- Custom Node
- ffmpeg
- 各Custom Node固有の依存関係
などを大量にインストールします。
特にCustom Nodeを増やしていくと、Pythonパッケージのバージョン競合が発生する可能性があります。
そのため、普段開発に使っているWSLとは分離し、
WSL
├── Ubuntu
│ └── 普段の開発環境
│
└── ComfyUI
└── 画像・動画生成専用環境
という構成にしました。
1. ComfyUI専用WSLを作成する
まずPowerShellを開きます。
WSLを最新版に更新します。
wsl --update
Ubuntu 24.04をComfyUIという名前で新しくインストールします。
wsl --install Ubuntu-24.04 --name ComfyUI
これで既存のUbuntuとは別に、ComfyUI専用のLinux環境を作成できます。
別ドライブへWSLを保存する場合
ComfyUIではモデルファイルだけで数十GBになることがあります。
Cドライブ容量を圧迫したくない場合は、WSL自体をDドライブなどへ配置する方法もあります。
例えば、
wsl --install Ubuntu-24.04 --name ComfyUI --location D:\WSL\ComfyUI
とします。
2. WSLが作成されたか確認する
PowerShellで以下を実行します。
wsl -l -v
例えば以下のようになっていればOKです。
NAME STATE VERSION
Ubuntu Running 2
ComfyUI Stopped 2
ComfyUI環境へ入るには、
wsl -d ComfyUI
を実行します。
3. Linuxの基本パッケージをインストールする
最初にパッケージ一覧を更新します。
sudo apt update
sudo apt upgrade -y
続いて必要なツールをインストールします。
sudo apt install -y \
git \
curl \
wget \
build-essential \
python3 \
python3-pip \
python3-venv
4. NVIDIA GPUがWSLから認識されているか確認する
ComfyUIをGPUで動かすうえで、ここがかなり重要です。
WSL内から以下を実行します。
nvidia-smi
僕の環境では以下のように表示されました。
NVIDIA-SMI 565.72
Driver Version: 566.14
CUDA Version: 12.7
GPU: NVIDIA GeForce RTX 4070 Laptop GPU
Memory: 8188 MiB
RTX 4070 Laptop GPUが表示されていれば、WSLからGPUを利用できています。
WSL内にNVIDIAドライバを入れない
ここは注意点です。
WSL2ではWindows側のNVIDIAドライバを経由してGPUを利用できます。
そのため、Ubuntu側で改めて
sudo apt install nvidia-driver-...
のようなLinux用NVIDIAドライバを入れる必要はありません。
むしろ、WSL側に別のドライバを入れることで環境を壊す可能性があります。
基本的には、
Windows
↓
NVIDIA Driver
↓
WSL2
↓
PyTorch
↓
CUDA
↓
ComfyUI
という構成になります。
5. Windows側ではなくLinux側へComfyUIを置く
WSLを起動した直後、場合によっては以下のような場所にいることがあります。
/mnt/c/WINDOWS/system32
ここはWindowsのSystem32です。
ComfyUIをここにインストールするのは避けます。
Linux側のホームディレクトリへ移動します。
cd ~
確認します。
pwd
以下になればOKです。
/home/shuto
6. ComfyUIに必要なパッケージを追加する
ComfyUIでよく使うパッケージを追加します。
sudo apt install -y \
git \
git-lfs \
ffmpeg \
libgl1 \
libglib2.0-0 \
python3.12-venv
Git LFSも有効にします。
git lfs install
7. ComfyUIをGitHubから取得する
ホームディレクトリへ移動します。
cd ~
ComfyUIをcloneします。
git clone https://github.com/Comfy-Org/ComfyUI.git
移動します。
cd ComfyUI
8. Pythonの仮想環境を作る
ComfyUI専用のPython環境を作ります。
python3 -m venv .venv
有効化します。
source .venv/bin/activate
以降、ターミナルの先頭に
(.venv)
のような表示が付けば有効化されています。
pipも更新しておきます。
python -m pip install --upgrade pip
9. CUDA対応PyTorchをインストールする
今回の環境では、
Driver Version: 566.14
CUDA Version: 12.7
となっていました。
そこでCUDA 12.6向けのPyTorchを使用します。
pip install \
torch==2.11.0 \
torchvision==0.26.0 \
torchaudio==2.11.0 \
--index-url https://download.pytorch.org/whl/cu126
ここで重要なのは、ComfyUIを使うだけならWSL内へCUDA Toolkit一式を別途インストールする必要は基本的にないという点です。
CUDA対応版PyTorchに必要なランタイムが含まれています。
10. PyTorchからGPUを認識できるか確認する
次のコマンドを実行します。
python - <<'PY'
import torch
print("PyTorch:", torch.__version__)
print("CUDA build:", torch.version.cuda)
print("CUDA available:", torch.cuda.is_available())
if torch.cuda.is_available():
print("GPU:", torch.cuda.get_device_name(0))
print(
"VRAM:",
round(
torch.cuda.get_device_properties(0).total_memory / 1024**3,
2
),
"GB"
)
PY
例えば以下のようになれば成功です。
PyTorch: 2.11.0+cu126
CUDA build: 12.6
CUDA available: True
GPU: NVIDIA GeForce RTX 4070 Laptop GPU
VRAM: 8.0 GB
特に、
CUDA available: True
になっていることを確認します。
11. ComfyUIの依存関係をインストールする
ComfyUIディレクトリ内で、
pip install -r requirements.txt
を実行します。
Manager関連もインストールします。
pip install -r manager_requirements.txt
12. ComfyUIを起動する
以下で起動します。
python main.py --enable-manager --listen 0.0.0.0
正常に起動すると、
To see the GUI go to:
http://0.0.0.0:8188
のような表示が出ます。
Windows側のブラウザから、
http://localhost:8188
へアクセスします。
これでWSL上のComfyUIをWindowsのブラウザから操作できます。
13. 次回以降の起動方法
毎回インストールする必要はありません。
PowerShellから、
wsl -d ComfyUI
でComfyUI用WSLへ入ります。
その後、
cd ~/ComfyUI
仮想環境を有効化します。
source .venv/bin/activate
ComfyUIを起動します。
python main.py --enable-manager --listen 0.0.0.0
まとめると、
cd ~/ComfyUI
source .venv/bin/activate
python main.py --enable-manager --listen 0.0.0.0
だけです。
14. v1-5-pruned-emaonly.safetensorsが不足していますと表示された場合
ComfyUIを開いたところ、
v1-5-pruned-emaonly.safetensorsが不足しています
Checkpoint Loader Simpleに必要なモデルファイルが不足しています。
という警告が表示される場合があります。
これはComfyUI自体のインストール失敗ではありません。
開いているワークフローが、
v1-5-pruned-emaonly.safetensors
というStable Diffusion 1.5のモデルを要求しているだけです。
そのワークフローを使わないなら無視してよい
例えば今後、
- SDXL
- FLUX
- Illustrious
- Image-to-Videoモデル
などを使うのであれば、SD1.5のモデルをわざわざ入れる必要はありません。
別のワークフローを開けばOKです。
そのワークフローを使う場合
Checkpoint Loader Simpleで指定されているモデルを用意する必要があります。
チェックポイントは基本的に、
ComfyUI/
└── models/
└── checkpoints/
へ入れます。
例えば、
ComfyUI/models/checkpoints/v1-5-pruned-emaonly.safetensors
という配置です。
ComfyUIを再読み込みすると、Checkpoint Loader Simpleからモデルを選択できるようになります。
15. 最終的なディレクトリ構成
今回作った環境はおおよそ以下のようになります。
/home/shuto/
└── ComfyUI/
├── .venv/
│
├── models/
│ ├── checkpoints/
│ ├── clip/
│ ├── controlnet/
│ ├── diffusion_models/
│ ├── loras/
│ ├── vae/
│ └── ...
│
├── custom_nodes/
│
├── input/
│
├── output/
│
├── main.py
└── requirements.txt
WSL全体としては、
Windows 11
│
├── WSL: Ubuntu
│ └── 普段の開発環境
│
└── WSL: ComfyUI
│
├── Ubuntu 24.04
├── Python 3.12
├── PyTorch
├── CUDA Runtime
├── ComfyUI
├── Custom Nodes
└── AI Models
となっています。
16. モデル保存先は別途考えた方がよい
ここまででComfyUI自体は動きます。
ただし今後問題になるのがモデル容量です。
Stable Diffusion系なら数GB程度ですが、FLUXや動画生成モデルを使い始めると、
10GB
20GB
30GB
50GB...
と簡単に増えていきます。
モデルをすべてWSL内部へ入れると、WSLの仮想ディスクであるVHDXが巨大化します。
そのため今後は、
ComfyUI本体
→ WSL内
モデル
→ Dドライブなど
生成結果
→ Dドライブなど
という構成にする予定です。
例えば、
D:\
└── AI\
└── ComfyUI\
├── models\
└── output\
のようにして、ComfyUIから参照させれば管理しやすくなります。
まとめ
今回はWindows 11上にComfyUI専用のWSL環境を作りました。
流れをまとめると、
ComfyUI専用WSL作成
↓
Ubuntu 24.04
↓
NVIDIA GPU認識確認
↓
Python venv
↓
CUDA対応PyTorch
↓
ComfyUI
↓
ブラウザからlocalhost:8188
という構成です。
特に重要だったポイントは次の通りです。
- 普段使うWSLとComfyUI環境を分離する
/mnt/c/WINDOWS/system32ではなくLinux側へインストールする- WSL内にNVIDIA Linuxドライバを追加しない
- Pythonはvenvで分離する
- PyTorchから
CUDA available: Trueになることを確認する - モデル不足の警告はComfyUI本体のエラーとは限らない
- 巨大なAIモデルは将来的に別ドライブへ分離する
これでCustom Nodeをいろいろ試して環境が多少荒れても、普段の開発用WSLへの影響を気にせず使えるようになりました。