Skip to content

ENFUGUE Web UI v0.2.1

Compare
Choose a tag to compare
@painebenjamin painebenjamin released this 12 Aug 23:29
· 576 commits to main since this release

Made with SDXL Canny Edge ControlNet

Release Notes

New Platform


ENFUGUE for Docker is Here!

Simply executing the following to pull and run:

docker pull ghcr.io/painebenjamin/app.enfugue.ai:latest
docker run --rm --gpus all --runtime nvidia -p 45554:45554 ghcr.io/painebenjamin/app.enfugue.ai:latest run

See here for more information. Unfortunately for the moment this is Linux-only.

New Features

  1. SDXL LoRA Support
    1. SDXL LoRA and SD 1.5 LoRA are not interchangeable.
    2. When downloading from CivitAI, the version of SD the LoRA is compatible with will be visible.
  2. SDXL ControlNet Support
    1. Only Canny Edge is available currently.
    2. There is no configuration to be done for this; when using an XL checkpoint, you simply can now use images with Canny Edge ControlNet selected.

SDXL Canny Edge ControlNet - Source Image from Unsplash
  1. GPU-Accelerated Frontend Image Alterations
    1. Click 'Adjust' for common image adjustments, or 'Filter' for a select view image filters.

Adjustments are performed in real-time - GPU acceleration possible thanks to GPU.js

Changes

  1. Made the /invoke endpoint more flexible. See here for API documentation.
  2. MacOS now operates in half-precision by default.
  3. When using the Offload pipeline switch mode, there is now no case where the CPU will have two pipelines in memory at once. Pipelines are now swapped one model at a time in order to avoid high peak memory usage.
  4. When clicking on a result in the 'Results' window, it will now place itself on the canvas, instead of opening an individual image inspector.
  5. During initialization, Enfugue will now offer to create directories that do not exist, instead of simply producing an error.

Fixed Issues

  1. Fixed an issue where optimized inpainting would cut off some inpaint areas in the Y dimension.
  2. Fixed an issue where optimized inpainting would feather on the bottom or right edge of an image, resulting in an undesired vignette effect.
  3. Fixed a rare issue where text encoders would not be loaded to the GPU before they were used.

How-To Guide

Installing and Running: Portable Distributions

Select a portable distribution if you'd like to avoid having to install other programs, or want to have an isolated executable file that doesn't interfere with other environments on your system.

Summary

Platform Graphics API File(s) CUDA Version Torch Version
MacOS MPS enfugue-server-0.2.1-macos-ventura-x86_64.tar.gz N/A 2.1.0.dev20230720
Windows CUDA enfugue-server-0.2.1-win-cuda-x86_64.zip.001
enfugue-server-0.2.1-win-cuda-x86_64.zip.002
12.1.1 2.1.0.dev20230720
Windows CUDA+TensorRT enfugue-server-0.2.1-win-tensorrt-x86_64.zip.001
enfugue-server-0.2.1-win-tensorrt-x86_64.zip.002
11.7.1 1.13.1
Linux CUDA enfugue-server-0.2.1-manylinux-cuda-x86_64.tar.gz.0
enfugue-server-0.2.1-manylinux-cuda-x86_64.tar.gz.1
enfugue-server-0.2.1-manylinux-cuda-x86_64.tar.gz.2
12.1.1 2.1.0.dev20230720
Linux CUDA+TensorRT enfugue-server-0.2.1-manylinux-tensorrt-x86_64.tar.gz.0
enfugue-server-0.2.1-manylinux-tensorrt-x86_64.tar.gz.1
enfugue-server-0.2.1-manylinux-tensorrt-x86_64.tar.gz.2
11.7.1 1.13.1

Linux

First, decide which version you want - with or without TensorRT support. TensorRT requires a powerful, modern Nvidia GPU.
Then, download the appropriate manylinux files here, concatenate them and extract them. A console command to do that is:

cat enfugue-server-0.2.1* | tar -xvz

You are now ready to run the server with:

./enfugue-server/enfugue.sh

Press Ctrl+C to exit.

Windows

Download the win64 files here, and extract them using a program which allows extracting from multiple archives such as 7-Zip.

If you are using 7-Zip, you should not extract both files independently. If they are in the same directory when you unzip the first, 7-Zip will automatically unzip the second. The second file cannot be extracted on its own.

Locate the file enfugue-server.exe, and double-click it to run it. To exit, locate the icon in the bottom-right hand corner of your screen (the system tray) and right-click it, then select Quit.

MacOS

Download the the macos file here, then double-click it to extract the package. When you run the application using the command below, your Mac will warn you of running downloaded packages, and you will have to perform an administrator override to allow it to run - you will be prompted to do this. To avoid this, you can run an included command like so:

./enfugue-server/unquarantine.sh

This command finds all the files in the installation and removes the com.apple.quarantine xattr from the file. This does not require administrator privilege. After doing this (or if you will grant the override,) run the server with:

./enfugue-server/enfugue.sh

Note: while the MacOS packages are compiled on x86 machines, they are tested and designed for the new M1/M2 ARM machines thanks to Rosetta, Apple's machine code translation system.

Upgrading

To upgrade any distribution, download and extract the appropriate upgrade package on this release. Copy all files in the upgrade package into your Enfugue installation directory, overwriting any existing files.

Installing and Running: Conda

To install with the provided Conda environments, you need to install a version of Conda.

After installing Conda and configuring it so it is available to your shell or command-line, download one of the environment files depending on your platform and graphics API.

  1. First, choose windows-, linux- or macos- based on your platform.
  2. Then, choose your graphics API:
    • If you are on MacOS, you only have access to MPS.
    • If you have a powerful next-generation Nvidia GPU (3000 series and better with at least 12 GB of VRAM), use tensorrt for all of the capabilities of cuda with the added ability to compile TensorRT engines.
    • If you have any other Nvidia GPU or other CUDA-compatible device, select cuda.
    • Additional graphics APIs (rocm and directml) are being added and will be available soon.

Finally, using the file you downloaded, create your Conda environment:

conda env create -f <downloaded_file.yml>

You've now installed Enfugue and all dependencies. To run it, activate the environment and then run the installed binary.

conda activate enfugue
enfugue run

Installing and Running: Self-Managed Environment

If you would like to manage dependencies yourself, or want to install Enfugue into an environment to share with another Stable Diffusion UI, you can install enfugue via pip. This is the only method available for AMD GPU's at present.

pip install enfugue

If you are on Linux and want TensorRT support, execute:

pip install enfugue[tensorrt]

If you are on Windows and want TensorRT support, follow the steps detailed here.

Thank you!