46
submitted 5 months ago by lemmylem@lemm.ee to c/linux@lemmy.ml

Hello,

I've been having trouble getting Stable Diffusion to run on Arch. I bought a 7900 XTX a couple weeks ago to get away from NVIDIA, one thing I really liked to do was mess around in Stable Diffusion, but for some reason I can't seem to get it working. I followed the guide on their page, but I think it may be outdated:

https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Install-and-Run-on-AMD-GPUs#install-on-amd-and-arch-linux

When I do 'pip install -r requirements.txt', it fails halfway through installing:

https://paste.debian.net/1317412

Not sure what to do from here, any help is appreciated!

you are viewing a single comment's thread
view the rest of the comments
[-] LittleBobbyTables@lemmy.sdf.org 10 points 5 months ago* (last edited 5 months ago)

I would try what the other commenter here said first. If that doesn't fix your issue, I would try using the Forge version of WebUI (a fork of that WebUI with various memory optimizations, native extensions and other features): https://github.com/lllyasviel/stable-diffusion-webui-forge. This is what I personally use.

I use a 6000-series GPU instead of a 7000-series one, so the setup may be slightly different for you, but I'll walk you through what I did for my Arch setup.

Me personally, I skipped that Wiki section on AMD GPUs entirely and it seems the WebUI still respects and utilizes my GPU just fine. Simply running the webui.sh file will do most of the heavy lifting for you (you can see in the webui.sh file that it uses specific configurations and ROCm versions for different AMD GPU series like Navi 2 and 3)

  1. Git clone that repo, git clone https://github.com/lllyasviel/stable-diffusion-webui-forge stable-diffusion-webui (the stable-diffusion-webui directory name is important, webui.sh's script seems to reference that directory name specifically)
  2. From my experience it seems webui.sh and webui-user.sh are in the wrong spot, make symlinks to them so the symlinks are at the same level as the stable-diffusion-webui directory you created: ln stable-diffusion-webui/webui.sh webui.sh (ditto for webui-user.sh)
  3. Edit the webui-user.sh file. You don't really have to change much in here, but I would recommend export COMMANDLINE_ARGS="--theme dark" if you want to save your eyes from burning.
  4. Here's where things get a bit tricky: You will have to install Python 3.10, there is warnings that newer versions of Python will not work. I tried running the script with Python 3.12 and it failed trying to grab specific pip dependencies. I use the AUR for this; use yay -S python310 or paru -S python310 or whatever method you use to install packages from the AUR. Once you do that, edit webui-user.sh so that python_cmd looks like this: python_cmd="python3.10"
  5. Run the webui.sh file: chmod u+x webui.sh, then ./webui.sh
  6. Setup will take a while, it has to download and install all dependencies (including a model checkpoint, which is multiple gigabytes in size). If you notice it errors out at some points, try deleting the entire venv directory from within the stable-diffusion-webui directory and running the script again. This actually worked in my case, not really sure what went wrong...
  7. After a while, the webUI will launch. If it doesn't automatically open your browser, then you can check the console for the URL, it's usually http://127.0.0.1:7860. Select the proper checkpoint in the top left, write down a test prompt and hopefully it should be pretty speedy, considering your GPU.
this post was submitted on 19 May 2024
46 points (88.3% liked)

Linux

48008 readers
869 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS