2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

StableDiffusionをProxmoxVE上で動いているUbuntuServerで動かした備忘録兼レポートです。
間違いとかあったらごめんなさい。

構成

  • CPU:Ryzen 5 3600
  • M/B:Asrock A520M-HDV
  • MEM:DDR4-2666 16GB
  • GPU:GTX1070

StableDiffusion動かすのには役不足なGPUですが余っていたものを使うため採用しています。

UEFI設定

ゲストOSでGPUを使うにはPCI Passthroughをする必要があり、PassthroughするにはUEFIの設定を変える必要があります。
私はとりあえずSVM Mode(デフォルトでenable),SR-IOV,IOMMUをenableにしています。

その後ProxmoxのコンソールからGRUBの設定を変更します。

#初期設定
GRUB_CMDLINE_LINUX_DEFAULT="quiet"

# 以下のように修正
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"

変更後は

update-grub
reboot

で設定適用後再起動します。

ゲストOSインストール

今回はUbuntu Server 24.04LTSを使用しています。
インストール時の設定は、

  • マシン:q35
  • BIOS:OVMF(UEFI)

です。リソースは好きなだけ振ってください。
起動時にコンソール画面でEscを連打し、UEFIの設定を開いてSecure bootをdisableにします。これをしないとGPUのドライバインストールでうまくいきません。
あとは画面に従ってインストールします。
インストールが終わったら

sudo apt update && sudo apt upgrade

しておきましょう

GPUドライバーインストール

仮想マシンのページを開いてハードウェア→追加→PCI→Rawデバイスを選択し接続しているGPUを選び、

  • 全機能
  • プライマリGPU
  • PCI-Express

にチェックを入れてOKを押して再起動します。
次にこのサイトからCUDAToolkitとドライバーをダウンロードします。
ページ開くとOSとか色々聞かれるのでポチポチします。こんな感じに答えておきます。
スクリーンショット 2024-06-25 22.49.33.png
そしたら出てきたコマンドを叩いてインストールしましょう。ドライバーはChoose one optionと言われていますのでどっちか叩きます。(openのドライバいれると事故るらしいので上のlegacyの方使ったほうが良いです。)
完了したら

nvidia-smi

を叩いてドライバがあたっているか確認しましょう。

StableDiffusionインストール

AUTOMATIC1111版のStablediffusionを入れていきます。
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-NVidia-GPUs
ここにnvidiaのGPU使った各OS向けのインストール方法が書いており、Linuxは書いてあるコマンド通りやればインストールできます。
全部叩くとインストールされ初回起動まで行われます。初回は時間が掛かるし起動し終わったタイミングが分かりづらいのですが、スクリーンショット 2024-06-25 23.07.46.png
のようにモデル読み込んだみたいな表示が出れば起動が完了しています。
しかしこのままではWebUIを開くことができないのでCtrl+Cで終了させます。

nano webui-user.sh
#export COMMANDLINE_ARGS=""

のところを

nano webui-user.sh
export COMMANDLINE_ARGS="--listen --enable-insecure-extension-access"

に変更します。
listenでLAN内からアクセスできるようになります。ただこれを有効にするとプラグインを追加できません。なのでenable-insecure-extension-accessも有効にしています。
そしてWebUIを起動させます。

bash webui.sh

を叩き、LAN内の別端末から
192.168.x.xx(仮想マシンのIP):7860にアクセスするとWebUIを開くことができます。

参考

https://qiita.com/ynott/items/343c119e8e8b48c740c3
https://qiita.com/s059ff/items/8595bfcc4909c0d1a4f1

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?