👋

FramePack を RTX 5060 Ti で使う (2025/6)

に公開

2025/6/1 現在、FramePack を普通にインストールして RTX 5060 Ti で使おうとすると、下記のようなエラーが出て使えません。

NVIDIA GeForce RTX 5060 Ti with CUDA capability sm_120 is not compatible with the current PyTorch installation. The current PyTorch install supports CUDA capabilities sm_50 sm_60 sm_61 sm_70 sm_75 sm_80 sm_86 sm_90. If you want to use the NVIDIA GeForce RTX 5060 Ti GPU with PyTorch, please check the instructions at https://pytorch.org/get-started/locally/

PyTorch のバージョンが上がれば解決しそうですが、それまで待てない人向け(主に自分用)のメモです。ちはみに ComfyUI で同じエラーが出た時も、同様の方法で解決できます。

結論

  • 最新の NVIDIA Driver をインストール
  • CUDA 12.8 以上をインストール
  • pytorch nightly version (2.8.x) をインストール

これで動きます(多分)

手順

Anaconda を使う前提で説明しますが、pyenv などでも基本は同じです。FramePack 自体は先にインストールして update しておいてください。

NVIDIA Driver のインストール

下記からインストールします。

CUDA 2.8 のインストール

下記からインストールします。

12.9 でも多分動きますが、念のため pytorch の対応バージョンに合わせて 12.8 を入れます。

仮想環境の生成

python のバージョンは 3.10 にします。

$ conda create -n framepack python=3.10
$ conda activate framepack

Pytorch のインストール

$ pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu128

FramePack 関連モジュールのインストール

FramePack の webui フォルダに移動して requirements.txt にあるモジュールをすべてインストールします。

$ cd webui
$ pip install -r requirements.txt

xformers などの高速化ライブラリは PyTorch 2.8.x 系には(2025/6/1 時点では)対応しておらず、インストールしようとすると PyTorch 2.8.x 系を uninstall しにかかるので使用できません。

起動

$ python demo_gradio.py --server 127.0.0.1 --inbrowser

お好みで --share オプションなどを付けます。

起動は Windows でも Linux でも基本同じです。Windows でインストーラを使っている場合でも、run.bat 等を使わずに、webui フォルダ内で python コマンドを使って直接サーバを起動します。

FramePackLoop や FramePack_eichi、F1 なども上の方法で動きました。

おまけ:複数 GPU マシンで cuda:0 以外を使う

FramePack は強制的に cuda:0 を使うようになっているため cuda:0 以外を使う場合はコードを書き換える必要があります。

具体的には、webui/diffusers_helper/memory.py の下記コードを書き換えます。コメントあうとしているほうが元のコードです。

memory.py
# gpu = torch.device(f'cuda:{torch.cuda.current_device()}')
gpu = torch.device('cuda:2') # 2のところを指定したい GPU の番号にする
memory.py
    #memory_stats['active_bytes.all.current']
    bytes_active = memory_stats.get('active_bytes.all.current', 2) 
    #memory_stats['reserved_bytes.all.current']
    bytes_reserved = memory_stats.get('reserved_bytes.all.current', 2) 
    # 2のところを指定したい GPU の番号にする

これで、指定した番号の gpu を使用できます。

Discussion