HatefulSable's Guide to Installing Stable Diffusion WebUI on Ubuntu With an Nvidia GPU
Last updated October 25, 2023.
This document is a start-to-finish guide to setting up Stable Diffusion WebUI on Ubuntu using a CUDA capable Nvidia graphics card. The procedure has been tested on a system with the following specifications:
- Ubuntu 22.04.1 LTS
- Nvidia GeForce GTX 970
- 24GB 1333MHz RAM
If you have a setup similar to this one, this guide should contain all the information you need to get started with WebUI.
For AMD GFX8 graphics cards, see https://rentry.org/sable-sdw-ubuntu-amd-gfx8 instead.
Warning!
This procedure involves installing software from many different sources, and possibly altering video drivers and other critical software on your computer. It is strongly recommended that you perform this installation on its own dedicated hard drive, separate from the operating system you use every day.
Before You Begin
Ensure that you know the difference between system RAM and VRAM. This guide refers to both at various times.
Check that you have a 64-bit CPU. Most computers from the past decade probably meet this requirement, but you may wish to verify this before continuing.
Check that you have a CUDA capable GPU by finding it listed in https://developer.nvidia.com/cuda-gpus.
Install Ubuntu 22.04.1 LTS, available at https://releases.ubuntu.com/22.04.1/ubuntu-22.04.1-desktop-amd64.iso. You may choose a minimal installation, since only a web browser and basic utilities are required. This guide assumes that you are starting from a fresh installation and have not made any major changes to the operating system or software.
Install CUDA and Nvidia Drivers
Installing Nvidia drivers may cause the color temperature or other video settings to be changed after rebooting.
You must install CUDA version 11.7, since this is the version that PyTorch will be expecting.
Reboot the system. You can now run nvidia-smi
to verify that CUDA was installed.
Install Stable Diffusion WebUI
Move your CKPT or SafeTensors files to the models/Stable-diffusion
folder. Be sure to give your models meaningful filenames. You can find download links for various models at https://rentry.org/sdmodels.
Open webui-user.sh
and edit it as needed. For example, you may need to uncomment and set COMMANDLINE_ARGS
to include --medvram --opt-split-attention
if your GPU does not have much VRAM. See the comments in the file for more information.
When you are ready to continue, if you have changed your terminal's current working directory, change it back to the WebUI folder.
Install PyTorch
Configure Swap File
Warning!
Using a swap file on a system with a solid-state drive can cause the SSD to fail prematurely, potentially resulting in data loss.
For systems with 16GB system RAM or more:
You should disable the swap file to increase performance and avoid unnecessary wear on your storage device.
For systems with less than 16GB system RAM:
Do not disable the swap file. However, you should consider adding more RAM to your system if you plan to use WebUI frequently.
WebUI may crash with a simple Killed
error message while launching, usually when loading model weights. This may be caused by the program running out of both memory and swap space. You can allocate a larger swap file to see if this resolves the issue.
Run free -h
to confirm that the swap file has been set up as expected.
Launch Stable Diffusion WebUI
Skip the following step this time, but in the future, after you have restarted your terminal application or rebooted the system, remember to change to the WebUI folder and activate the virtual environment before launching WebUI.
Finally, launch the program.
Launching the program for the first time may take quite a while. Eventually, you should see a URL such as http://127.0.0.1:7860
, which you can open in Firefox to access WebUI's web interface.
Happy prompting!
Change Log
2023-01-06
- Install PyTorch using Pip instead of Anaconda, which allows the use of
webui-user.sh
andwebui.sh
as normal. - Increase swap size from 8GB to 12GB to avoid occasional out-of-memory errors.
- Clarify instructions on changing to the WebUI folder and activating the virtual environment after the first run.
2023-01-08
- Clarify warning about installing WebUI on its own hard drive.
- Encourage the user to experiment with different swap sizes on his own system.
- The current year is 2023, not 2022.
2023-01-26
- No need to install torchaudio.
- Add specification for RAM speed.
2023-01-27
- Add link to AMD GFX8 guide.
- Swap size can be smaller after adding more RAM.
2023-10-25
- Remove unneeded system specifications.
- Remove comment about
model.ckpt
filename, since that has been irrelevant for a long time. - Update specifications since adding more RAM.
- Rewrite section regarding the swap file.
- Refer to the program as WebUI instead of SDW.