This article guides you on how to set up a Stable Diffusion environment on Ubuntu 22.04.
First, install the necessary applications such as python, wget, and git.
sudo apt install wget git python3 python3-venv
After installation, check the Python version.
python --version Python 3.10.6
Next, install CUDA.
Before installing CUDA, check the version of CUDA that is compatible with PyTorch. By accessing the PyTorch official site and setting the PyTorch Build to Stable, the OS to Linux, the Package to Pip, and the Language to Python, you can find out which version of CUDA is available.
In this case, it was confirmed that CUDA 11.7 or 11.8 could be used. Since this article might be outdated, I recommend you to confirm the available CUDA versions using this method in advance.
To download an older version of CUDA, first access the cuda-toolkit-archive.
Since we are downloading version 11.7 this time, choose either 11.7.0 or 11.7.1. As corrections at the patch level might be included, it is recommended to choose 11.7.1 unless you have a specific reason.
Next, by entering your environment on the CUDA Toolkit 11.7 Update 1 Downloads site, the necessary installation commands will be generated. This time we are using an Ubuntu 22.04 environment with an Intel CPU, so make the selections as follows. Please choose according to your PC environment.
As a result of the selection, the following commands are displayed.
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-ubuntu2204.pin sudo mv cuda-ubuntu2204.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.7.1/local_installers/cuda-repo-ubuntu2204-11-7-local_11.7.1-515.65.01-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2204-11-7-local_11.7.1-515.65.01-1_amd64.deb sudo cp /var/cuda-repo-ubuntu2204-11-7-local/cuda-*-keyring.gpg /usr/share/keyrings/ sudo apt update sudo apt install cuda-11-7
Before starting the installation process, there is one thing to note. The last
apt install cuda command needs to include a version, like
sudo apt install cuda-11-7. Otherwise, the latest version of CUDA will be installed. PyTorch may not be compatible with the latest version of CUDA. Therefore, always specify the version when installing.
After installation is complete, you can check the version of CUDA by running the following command.
/usr/local/cuda-11.7/bin/nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2022 NVIDIA Corporation Built on Wed_Jun__8_16:49:14_PDT_2022 Cuda compilation tools, release 11.7, V11.7.99 Build cuda_11.7.r11.7/compiler.31442593_0
If the path is not set correctly, you may run into issues later. Therefore, I recommend adding the following description to your
~/.bashrc file to set the path to CUDA.
# Setting CUDA PATH export PATH="/usr/local/cuda-11.7/bin:$PATH" export LD_LIBRARY_PATH="/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH"
After saving, open a new terminal and execute
which nvcc to confirm that the path is set correctly.
❯ which nvcc /usr/local/cuda-11.7/bin/nvcc
Visit the PyTorch official page and select the command to install.
Currently, as the latest version of CUDA that PyTorch supports is 11.7, you should use
pip3 install torch torchvision torchaudio. However, it is recommended to note down the command specifying the version of CUDA for future reference when versions like 11.8 or 12.0 are added.
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
This command is to be noted in the place where you set the command to install PyTorch in the Stable Diffusion WebUI.
First, clone the repository.
git clone --depth=1 --branch v1.2.1 https://github.com/AUTOMATIC1111/stable-diffusion-webui
webui-user.sh file is used for detailed configuration.
For instance, the Stable Diffusion WebUI is designed to be cloned under
~/ by default. But if you've cloned it somewhere else, you need to change
install_dir as follows.
The PyTorch installation command is also set here.
export TORCH_COMMAND="pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117"
xformers, which slightly speeds up image generation, can also be enabled by adding
COMMANDLINE_ARGS as follows.
export COMMANDLINE_ARGS="--autolaunch --xformers"
The script is granted execution rights and run with the following command.
chmod 755 webui-user.sh bash ./webui-user.sh
webui.sh in the same terminal.
On the first run, it may take 1-3 hours as it will need to download the model and dependencies.
If the installation is successful, the WebUI will be displayed at http://127.0.0.1:7860/.
Here is a list of common errors and their solutions.
The program 'nvcc' is currently not installed. You can install it by typing: sudo apt install nvidia-cuda-toolkit
This error occurs when CUDA is not installed, or when the path is not set correctly. Please make sure that an executable file exists at
This error occurs when xformers is not installed. Add
export COMMANDLINE_ARGS="--autolaunch --xformers"
This error occurs when the installation of PyTorch fails for some reason.
In my case, the cause of this error was that the version of CUDA supported by the PyTorch I was trying to install did not match the version of CUDA installed on my system.
By default, the Stable Diffusion WebUI tries to install PyTorch with the following command:
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 --extra-index-url https://download.pytorch.org/whl/cu113
Here, it is trying to install PyTorch that is compatible with CUDA 11.3. However, as a result of running
sudo apt install cuda when I was installing CUDA, CUDA 12.1 was installed instead.
As explained at the beginning of the article, I was able to successfully install by matching the versions of PyTorch and CUDA.
However, this solution may not work in all environments. I hope that those who encounter a similar error will find this information helpful in resolving the issue.