Skip to content

Installation Guide

fszontagh edited this page Nov 7, 2024 · 2 revisions

Windows Installation

The Windows installer typically installs the application into the following directory:

C:\Program Files\

Binaries

There are two main binaries included in the project:

  1. StableDiffusionGUI
    • Executable: stablediffusiongui.exe
  2. StableDiffusionGUI Diffuser
    • Executable: stablediffusiongui_diffuser.exe

Shared Libraries

The application includes several shared libraries to support different functionalities:

  1. AVX Support
    • Linux: libstablediffusion_avx.so
    • Windows: stablediffusion_avx.dll
  2. AVX2 Support
    • Linux: libstablediffusion_avx2.so
    • Windows: stablediffusion_avx2.dll
  3. AVX512 Support
    • Linux: libstablediffusion_avx512.so
    • Windows: stablediffusion_avx512.dll
  4. CUDA Support
    • Linux: libstablediffusion_cuda.so
    • Windows: stablediffusion_cuda.dll
  5. HIPBLAS Support
    • Linux: libstablediffusion_hipblas.so
    • Windows: stablediffusion_hipblas.dll

Environment Variables

  • Windows: The application searches for the .dll files in the same directory as the .exe files.
  • Linux (Ubuntu): Shared libraries are installed into /usr/lib. Ensure this path is included in the LD_LIBRARY_PATH environment variable.

PATH Configuration

On both Ubuntu and Windows, the binaries are added to the PATH environment variable to allow easy execution from the command line.

Linux Installation (Ubuntu)

On Linux systems, particularly Ubuntu, the .deb packages install the application into the appropriate system directories.

Binaries

Similar to Windows, the project includes the following binaries:

  1. StableDiffusionGUI
    • Executable: stablediffusiongui
  2. StableDiffusionGUI Diffuser
    • Executable: stablediffusiongui_diffuser

Shared Libraries

The shared libraries are installed to /usr/lib and must be included in the LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=/usr/lib:$LD_LIBRARY_PATH

Backend Process

Upon startup, the main application searches for available backends (CPU/GPU). If a backend is found, it starts a backend process (stablediffusiongui_diffuser) and loads the appropriate library provided as a parameter. For example:

/usr/bin/stablediffusiongui_diffuser libstable-diffusion_cuda


Summary of Shared Libraries

Summary of Shared Libraries

Feature Linux Library Windows DLL
AVX libstablediffusion_avx.so stablediffusion_avx.dll
AVX2 libstablediffusion_avx2.so stablediffusion_avx2.dll
AVX512 libstablediffusion_avx512.so stablediffusion_avx512.dll
CUDA libstablediffusion_cuda.so stablediffusion_cuda.dll
HIPBLAS libstablediffusion_hipblas.so stablediffusion_hipblas.dll

Additional Notes

  • Ensure that all shared libraries are correctly placed in their respective directories and that environment variables (LD_LIBRARY_PATH on Linux and PATH on Windows) are properly configured.
  • The backend process is essential for leveraging different computational backends like CPU or GPU for optimal performance.

Application paths

To find out what paths's are used, please run the application, on the main screen, select the cube "About" icon: image

The application's app.log file is in the "Data folder"

Clone this wiki locally