StableDiffusion Automatic1111 unter Arch

simplyroman

Cadet 4th Year
Registriert
Dez. 2018
Beiträge
65
Hi, hat jemand von euch StableDiffusion Automatic1111 unter Arch zum Laufen bekommen? (idealerweise mit AMDGPU) Wenn ja, welche Schritte waren nötig? Reine Neugier... :cool_alt:
 
Ja, mit einer RX6800 (gfx1030).

1.
Du benötigst vorzugsweise eine ROCm-kompatible GPU. Dann die ROCm-Pakete installieren. Die Schritte zur Einrichtung von ROCm sind in meinem Guide enthalten.

2.
mkdir -p ~/SW/SD; cd ~/SW/SD;
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui; cd stable-diffusion-webui;

3.
https://github.com/AUTOMATIC1111/st...Run-on-AMD-GPUs#install-on-amd-and-arch-linux
Da ich paru benutze & eine gfx1030-GPU habe, kann man python-torchvision-rocm installieren mit:
env PYTORCH_ROCM_ARCH=gfx1030 paru -S python-torchvision-rocm;
 
Zuletzt bearbeitet:
Hi, danke für die ausführliche Antwort. Leider bekomme ich die folgenden Fehlermeldungen:
stabeldiffusion.png


Dabei ist es egal, ob mit dem Befehl:
Code:
./webui.sh --precision full --no-half
oder
Code:
./webui.sh --upcast-sampling

Die Terminalausgabe sieht wie folgt aus:
stabeldiffusion_2.png


GPU ist eine RX 7900 XT
 
Habe SD gestartet und bekomme lustigerweise auch die Meldung.
Hat aber vor ein paar Monaten noch funktioniert.

EDIT: python310 (AUR) benutzen.

Hi, ich habe python310 aus AUR installiert. Leider kommen die gleichen Fehlermeldungen. Muss ich nach der Installation etwas beachten bzw. welche Schritte müsste ich anwenden?
 
  • Gefällt mir
Reaktionen: simplyroman
Hab vor 3 Wochen damit rumgespielt. :D

Ich hab mir mit conda ein Python-Environment mit passender Version erstellt, weil die Python-Version im Arch Repository (und damit in der Systemumgebung) zu neu ist. Ansonsten crasht die Applikation nach kurzer Zeit, wie in den Screenshots oben ersichtlich.

Eine kleine Guideline, wie ich zum Ziel gekommen bin:
Erstmal conda (mit dem Helper deiner Wahl) aus dem AUR holen:
yay -Syu python-conda python-conda-package-handling

Anschliessend conda in der Shell deiner Wahl initialisieren.
Für den Fall, dass du zsh verwendest: conda init zsh

Falls dich das (base) Präfix in deiner Shell stört, kannst du dies mittels conda config --set auto_activate_base false später deaktivieren.

Shell neu laden und anschliessend eine neue Umgebung erstellen, in der die passende Python-Version für Automatic1111 vorbereitet wird:
conda create python=3.10.6 --prefix=conda
Beachte, das dadurch ein neues Verzeichnis in deinem aktuellen Arbeitsverzeichnis erstellt wird.

Nach der Initialisierung kannst du in deine neue Umgebung hüpfen:
conda activate /mnt/ssd/stable-diffusion-webui/conda && cd /mnt/ssd/stable-diffusion-webui/conda

Installiere notwendige Dependencies:
conda install libgcc conda install -c conda-forge gcc=12.1.0

Da du du eine RX 7900XT hast, musst du eine passende PyTorch Version für ROCm installieren, sonst funktioniert das Rendering nachher nicht über die GPU. :')
pip install --pre torch torchvision --index-url https://download.pytorch.org/whl/nightly/rocm5.6

Jetzt kannst du Automatic1111 aus dem Git laden:
git clone --depth 1 --branch v1.6.0 https://github.com/AUTOMATIC1111/stable-diffusion-webui
Ich habs mit der Version 1.6.0 zum Laufen gebracht, neuere Versionen hab ich nicht getestet.

Spring ins Verzeichnis und zieh die Dependencies nach:
cd stable-diffusion-webui && pip install -r requirements.txt

Nun kannst du Automatic1111 starten und deine ersten Images rendern:
./webui.sh

Wenn du die Web-UI aufrufen willst, musst du immer zuerst das Conda-Environment laden und dann kannst du das Skript starten:

conda activate /mnt/ssd/stable-diffusion-webui/conda
./webui.sh

Quellen, welche mir bei der Fehlerbehebung und Installation geholfen haben:
https://sites.google.com/view/melodystweaks/a1111-sdui-archlinux
https://aur.archlinux.org/packages/stable-diffusion-ui
https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs

Ich hoffe, die Guideline kann dir helfen, Automatic1111 lauffähig zu machen. Wie schon erwähnt, ich hab selbst vor ein paar Wochen damit gespielt und finde auch selbst das "Setup" grausam. Es gibt sicherlich deutlich elegantere Wege, denn mit Conda und Python kenn ich mich nur absolut oberflächlich aus. Aber ich wollte auch damit spielen und mir nicht direkt das System versauen, deshalb hab ich das isoliert in die Umgebung gesteckt. :D

1699995626737.png
 
  • Gefällt mir
Reaktionen: agon, simplyroman und netzgestaltung
[Update]

Nach einer Aktualisierung von python-pytorch-opt-rocm funktioniert alles "out-of-the-box" (auch mit python 3.11.5).

Zum Ausführen mit einer AMDGPU werden lediglich zwei Befehle nach der Installation benötigt:

Code:
source venv/bin/activate

und

Code:
./webui.sh --upcast-sampling
 
  • Gefällt mir
Reaktionen: Natriumchlorid, agon und Kuristina
Zurück
Oben