How to install SD Forge

Updated Categorized as Tutorial Tagged , 60 Comments on How to install SD Forge

Stable Diffusion WebUI Forge (SD Forge) is an alternative version of Stable Diffusion WebUI that features faster image generation for low-VRAM GPUs, among other improvements.

This tutorial is for installing SD Forge, an advanced GUI for Stable Diffusion. Check out the Quick Start Guide and consider taking the Stable Diffusion Courses if you are new to Stable Diffusion.

This tutorial covers

  • Installing SD Forge on Windows
  • Installing SD Forge on Mac
  • Sharing model files with AUTOMATIC11111

What is SD Forge?

SD Forge is a modified version of AUTOMATIC1111. It features faster image generation, preinstalled extensions, and a modified backend that makes certain features possible.

Benefits of using SD Forge

Faster image generation

According to the development team, SD Forge runs faster than AUTOMATIC1111. The less VRAM GPU cards you have, the more speed-up you will experience.

You can expect up to 75% faster for 6 GB VRAM, up to 45% faster for 8 GB, and up to 6% faster for 24 GB.

Better backend

The U-Net backend is reworked so that extensions can modify it easily. It is not uncommon to see conflicts in extensions in AUTOMATIC1111 because many of them modify the U-Net.

Preinstalled features

Many features that modify the U-Net are preinstalled. The list includes ControlNet and FreeU. There’s also native support for Stable Video Diffusion (SVD) and the Zero123 image-to-3D object generation.

How to Install SD Forge on Windows

The easiest way to install SD Forge on a Windows system is to use the one-click installation package.

Step 1: Download 7-zip

You need the 7-zip software to uncompress installation files.

Download 7-zip on this page or use this direct download link.

Double-click to run the downloaded exe file. Click Install to install 7-zip on your PC.

Step 2: Download the installation file

Go to SD Forge’s repository, and download the one-click package.

Install SD Forge on Windows

Step 3: Unzip the files

Right-click the downloaded file and select Extract All….

A new folder called with the same name as the file should appear. You can move the folder to a location you want.

Step 4: Update SD Forge

You need to update the software before running it. This ensures that you are running the latest version.

Click update.bat (Yours may not have .bat) to update SD Forge.

Depending on your Window’s security setting, a warning dialog box may show up. You need to click More Info > Run Anyway.

Step 5: Start SD Forge

Click run.bat to start SD Forge.

Sharing models with AUTOMATIC1111

If you have AUTOMATIC1111 WebUI installed on your local machine, you can share the model files with it. This will save you disk space and the trouble of managing two sets of models.

In the SD Forge directory, edit the file webui > webui-user.bat with a text editor. (e.g. Right-click the file and select Edit in Notepad.)

Change the following line:

set COMMANDLINE_ARGS=

To:

set COMMANDLINE_ARGS=--forge-ref-a1111-home "C:\path\to\stable-diffusion-webui"

The last part is the path of your AUTOMATIC1111 home folder.

On Windows 11, you can copy the path by right-clicking the stable-diffusion-webui folder and selecting Copy as path.

The path should end with stable-diffusion-webui.

How to Install SD Forge on Mac

You will need Apple Silicon (M1/M2/M3 etc) to run Stable Diffusion WebUI Forge.

Step 1: Install Homebrew

You will need Homebrew, a package manager for Mac.

Open the Terminal app, type the following command, and press return.

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Step 2: Install Python 3.10 and Git

Open a new terminal and run the following command.

brew install [email protected] git wget

Step 3: Clone SD Forge

In the terminal, run the following command to copy SD Forge to your local storage.

git clone https://github.com/lllyasviel/stable-diffusion-webui-forge

Step 4: Run SD Forge

In the terminal, enter the newly cloned directory.

cd stable-diffusion-webui-forge

Start SD Forge:

./webui.sh

Sharing model with AUTOMATIC1111

You may already have AUTOMATIC1111 installed and want to test out SD Forge. You can share models with AUTOMATIC1111 by starting SD Forge with the following command.

./webui.sh --forge-ref-a1111-home path/to/A1111

path/to/A1111 is the path to the home directory of AUTOMATIC11111.

You can copy the path name to the Clipboard by navigating to the stable-diffusion-webui folder in the Finder App. Right-click the folder name of the path bar at the bottom of the Finder App. Select Copy “stable-diffusion-webui” as Pathname.

If you don’t see the path bar, click View > Show Path Bar in the Finder App.

Avatar

By Andrew

Andrew is an experienced engineer with a specialization in Machine Learning and Artificial Intelligence. He is passionate about programming, art, photography, and education. He has a Ph.D. in engineering.

60 comments

  1. Thanks for the guide.

    Just to want to report that if you put the SD Forge folder on an exFat drive and run the “update.bat”, you will get the “dubious ownership” error.

    Move the SD Forge folder to a NTFS drive solves the problem.

  2. Hi Andrew, thanks for another great tutorial.

    Do you know if a GPU is absolutely mandatory for stable-diffusion-webui-forge (unlike A1111)?

    I wanted to try out SD Forge to see if I could get round the problem of Loras crashing my A1111 server* when used with any SDXL model.
    I installed stable-diffusion-webui-forge as an A1111 extension.
    I started it from its installation directory with:
    webui.sh –skip-torch-cuda-test –precision full –no-half –forge-ref-a1111-home ../..

    It ultimately barfed with: RuntimeError: No HIP GPUs are available.
    (I seem to remember A1111 doing this until I added the –skip-torch-cuda-test, but this time, not so lucky.)
    Thanks for any thoughts.

    *Ubuntu box, NO GPU CARD – just integrated AMD graphics – A1111 works well enough for me though.

      1. Thank you! After linking Forge’s Lora directory to that of A1111 it runs well, and I have now run a Lora successfully with an SDXL model. I’m hoping that linking the extensions directory will be similarly successful.

          1. Thanks for that comment Andrew. I don’t feel so alone! Not a single A1111 extension that I tried worked correctly; in fact some affected the UI badly. I backed out quickly!

  3. What can I do if Forge doesn’t find any ControlNet preprocessors though I’ve got them downloaded in A1111 folder? I did set set COMMANDLINE_ARGS=–forge-ref-a1111-home “…my path\stable-diffusion-webui”.
    I’ve tried to copy and paste them to …forge-webui\webui\models\ControlNetPreprocessor and to …forge-webui\webui\models\ControlNet . Didn’t work. And Forge doesn’t automatically download ANY of the preprocessors, always showing ‘none’.

      1. A small update. I have looked through launching web ui code and made Forge find basic models by moving them
        from “…stable-diffusion-webui\extensions\sd-webui-controlnet\models” original folder
        to:”…stable-diffusion-webui\models\ControlNet” folder.
        But it still doesn’t find any downloaded models though the path is set properly:
        –controlnet-preprocessor-models-dir …my path….\stable-diffusion-webui\extensions\sd-webui-controlnet\annotator\downloads
        I deleted one downloaded model (Zoe depth) and after web ui restart Forge downloaded it again to the A1111 folder (….annotator\downloads). But it doesn’t show up in the list of models.
        I’m not experienced enough to find out what the problem is (((
        I would appreciate any advice.

  4. Great work! I can see my models from A1111 but the LORAs don’t appear. I used the start command ./webui.sh –forge-ref-a1111-home path/to/A1111 to my A1111 Installation. What could be the problem here? Thanks for any tips.

  5. The bat file cannot locate requirements.txt although the path is correct and the file exists. Running this through Gemini and still cannot find a solution.. thoughts?

  6. I get a RunetimeError: Torch is not able to use GPU; add –skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check error, I do that and it eventually throws at AssertionError: Torch not compiled with CUDA enabled error. The strange part is A1111 works perfectly fine on my computer, but SD Forge does not so it can’t be a hardware compatibility issue.

    1. Hey Ricardo, take a look at the message at the end of the Hombrew install:

      – Run these two commands in your terminal to add Homebrew to your PATH:
      (echo; echo ‘eval “$(/opt/homebrew/bin/brew shellenv)”‘) >> /Users/YOURUSERNAME/.zprofile
      eval “$(/opt/homebrew/bin/brew shellenv)”

      If you don’t do those two commands, Homebrew is installed, but your shell doesn’t know what to do with a “brew” command.

      (Don’t ask why I know.)

  7. Hi, Im new to all this, but i’ve been trying to move form A11 to forge (so that i can try SDV) and everytime I run teh webui.sh through terminal, it ends up cloning the fold and opening, A11.
    Is that a workaround this? (I have deleted the stable-diffusion-webui numerous times, and leaving only the stable-diffusion-webui-forge folder, but it keeps creating the older one.
    can someone pls help?

    1. this is not expected. they are two different repos so your setup seems to be messed up.

      You can try deleting forge and reclone it.

  8. Okay, I have a few bugs about Foger,
    1: In the Foger panel, the embedding file is not displayed. But I do have files in the directory (this is my code: — embeddings dir “H: \ AI 2020 \ table differentiation webui master \ embeddings” ^).
    2: Can you share the code about the directory path for sharing ESRGAN model files? Or change my error, which is my code (– esrgan models “H: \ AI 2020 \ table differentiation webui master \ embeddings” ^), but in the command line panel, it displays an error that prevents running the program.
    3: Compared to SDXL, Foger generates approximately 40% faster on some models, but many models on Fogers are very slow, so slow that they cannot be generated.

    1. Hi Andrew,
      I was wondering does SD Forge support diffusers models? (Automatic1111 seems not support diffusers. But there is a “diffusers” folder under the “stable-diffusion-webui-forge/models” after I installed SD Forge.)

  9. I’m no expert, and Andrew can correct me if I’m wrong here, but anyone having issues with sharing of the directories with A1111, I recommend sharing everything except venv.

    If you leave VENV_DIR commented out, Forge will create its own venv folder.

    “`bat
    @echo off

    set PYTHON=
    set GIT=
    set VENV_DIR=
    set COMMANDLINE_ARGS=

    @REM Uncomment following code to reference an existing A1111 checkout.
    set A1111_HOME=C:/Users/ttrpg/sd/stable-diffusion-webui
    @REM
    @REM set VENV_DIR=%A1111_HOME%/venv
    set COMMANDLINE_ARGS=%COMMANDLINE_ARGS% ^
    –ckpt-dir %A1111_HOME%/models/Stable-diffusion ^
    –hypernetwork-dir %A1111_HOME%/models/hypernetworks ^
    –embeddings-dir %A1111_HOME%/embeddings ^
    –lora-dir %A1111_HOME%/models/Lora

    call webui.bat
    “`

    When you run Forge for the first time, it inspects your hardware and makes recommendations on whether to pass additional flags via COMMANDLINE_ARGS. For example, Forge ‘told’ me to run:

    “`bat
    set COMMANDLINE_ARGS= –pin-shared-memory –cuda-malloc –cuda-stream
    “`

    For you it may be different.

    Anyway, I hope this helps.

  10. do i need a dedicated GPU for windows installation like automatic1111 beed?

    i ran into the error:
    RuntimeError: Torch is not able to use GPU; add –skip-torch-cuda-test to COMMANDLINE_ARGS variable to disable this check

    hmmm 🙂
    ?

    1. You should be able to modify the A1111 notebook to run it as it closely follows it. I am not going to release one as I don’t want to support it…

  11. Hi! I am sharing my A1111 library using the instructions, but I did have to uncomment the code suggested (and made sure the path was correct). It shows me the icons for all of checkpoints and Loras, but when I looked at the tree view the tree only shows 1 checkpoint and a few loras. When I look at the checkpoint, the only one it has is realisticVisionV51_v51VAE. When I click on the icon to copy the path of anything (Checkpoints, Loras, TIs), this is the kind of path it gives: “H:AISD ForgewebuimodelsStable-diffusionrealisticVisionV51_v51VAE.safetensors” I don’t know why it is leaving all the slashes out.

  12. The trick to share models between automatic and forge throws an error, I had to follows the instructions comented on the same webui-user.bat file

  13. Hello, dear friend,
    when downloading the installation file SD Forge for Windows, the site github.com/lllyasviel/stable-diffusion-webui-forge?tab=readme-ov-file#installing-forge , asks for username and password. Please tell me which group or site I should join
    Of course, I am a member github.com
    Thank you for your guidance

  14. I was able to install Forge on Mac M1, but didn’t see any difference in case of speed compared to A1111. So, mac users, don’t waste your time on it.

  15. Can’t run it on Mac M1. Anybody knows how to fix it?

    /Users/noisesensei/stable-diffusion-webui-forge/venv/lib/python3.9/site-packages/urllib3/__init__.py:35: NotOpenSSLWarning: urllib3 v2 only supports OpenSSL 1.1.1+, currently the ‘ssl’ module is compiled with ‘LibreSSL 2.8.3’. See: https://github.com/urllib3/urllib3/issues/3020
    warnings.warn(
    Traceback (most recent call last):
    File “/Users/noisesensei/stable-diffusion-webui-forge/launch.py”, line 51, in
    main()
    File “/Users/noisesensei/stable-diffusion-webui-forge/launch.py”, line 47, in main
    start()
    File “/Users/noisesensei/stable-diffusion-webui-forge/modules/launch_utils.py”, line 541, in start
    import webui
    File “/Users/noisesensei/stable-diffusion-webui-forge/webui.py”, line 19, in
    initialize.imports()
    File “/Users/noisesensei/stable-diffusion-webui-forge/modules/initialize.py”, line 50, in imports
    shared_init.initialize()
    File “/Users/noisesensei/stable-diffusion-webui-forge/modules/shared_init.py”, line 33, in initialize
    from modules import styles
    File “/Users/noisesensei/stable-diffusion-webui-forge/modules/styles.py”, line 9, in
    class PromptStyle(typing.NamedTuple):
    File “/Users/noisesensei/stable-diffusion-webui-forge/modules/styles.py”, line 11, in PromptStyle
    prompt: str | None
    TypeError: unsupported operand type(s) for |: ‘type’ and ‘NoneType’
    noisesensei@graviton stable-diffusion-webui-forge %

      1. Yeah, thanks. There were problems installing python via terminal, but after I installed Homebrew via .pkg instead of terminal, the process went successful.

  16. Hi Andrew,
    Do you use Forge? Any preference vs Comfyui?
    And can I use the same extensions?
    Thanks for sharing this!

    1. I like Forge supporting SVD and Zero123 out of the box. Forge is still easy to use like A1111. ComfyUI is for advanced users and making reproducible workflows. The use case is a bit different.

      I think some extensions would not work on Forge.

    2. SD Forge, I am not going to touch – leave is as is, an wait for your tutorial on Zero123. Now I have to go back and read about SVD!
      Thanks!

Leave a comment

Your email address will not be published. Required fields are marked *