First of all: when in doubt, restart. The tried and true classic of solving IT problems is as true in SwarmUI as anywhere else - when you restart, a lot of problems solve themselves.
Second, feel free to open issues here on GitHub or ask on the SwarmUI Discord where we have a #help-forum
available for questions. These are also both great places to search for if anyone else has had the same problem before and already gotten an answer.
If you see an error message mentioning a failed connection to https://api.nuget.org/v3/index.json
, such as Unable to load the service index for source https://api.nuget.org/v3/index.json
That is the build dependency service, connections to it are required for the first launch and when updating. To fix this:
- A: Ensure your network is enabled, not blocked by firewalls, VPNs, whatever. If you have anything like that running, disable it and try again. (Usually these aren't a problem but sometimes they can do weird things to your network)
- B: Sometimes temporary internet outages are at fault. So just waiting a few hours or until tomorrow and trying again might be all you need.
- C: It might also help to restart your computer.
- D: You can also try emptying your NuGet cache, see below
If you see errors like: The type or namespace name 'Hardware' could not be found (are you missing a using directive or an assembly reference?) [src/SwarmUI.csproj]
, noting the mention of Hardware
specifically (this is a NuGet package), that might mean your NuGet cache is corrupt. This is rare, but can happen. In that case, you must reset your NuGet cache.
If on Windows, open File Explorer to %appdata%/NuGet
and delete the entire folder, and then also %localappdata%/NuGet
and delete that as well.
If on Linux/Mac, rm -rf ~/.nuget
If you have an AMD (Radeon) GPU on Windows, by default SwarmUI installs the comfy backend with DirectML. DirectML is a Microsoft Windows library for AI processing that is compatible with AMD, but very buggy and limited compared to the CUDA library used for Nvidia GPUs. A variety of issues exist with this.
If you see an error about libtorchaudio.pyd
, or OSError: [WinError 127] The specified procedure could not be found
in relation to torchaudio
, this is a known bug with AMD+DirectML+Windows, you can ignore it, or swap backend (see below).
If you see Cannot handle this data type: (1, 1, 3), <f4
, that is because live previews don't work right on AMD+DirectML+Windows, you can go to Server
->Backends
->edit the comfy backend->uncheck EnablePreviews
->Save
and it should work, or swap backend (see below).
If you see The parameter is incorrect.
, you are running something incompatible with AMD+DirectML+Windows, and can either just not run that, or swap backend (see below).
There are several alternate AMD backend options that work better than DirectML:
- A:
zluda
is a library that tries to crossport CUDA support to AMD cards. It's legal status is messy, and its maintenance is questionable, so it's not used by default, but if you can figure out setting it up, it will likely work much better than DirectML does. - B: If you can swap your PC to Linux (eg via dualbooting), Linux drivers for AMD are much more reliable than Windows one, the
ROCm
backend will install by default on a Linux install of Swarm and should work (relatively) well. - C: If you don't want to swap to Linux, Windows can install
WSL
("Windows Subsystem for Linux") which gives you Linux drivers within a Windows environment. It's a bit weird to setup, but not too hard, and probably easier than dualbooting. It similarly to real Linux should let you install Swarm in the WSL env and use ROCm drivers.
Step 1 is read the error message. A lot of error messages in Swarm are intentionally written in clear plain English to tell you exactly what went wrong and how to fix it. Sometimes it's not clear enough or you'll get an internal error without good info, so:
Step 2 is copy/paste the error message and search GitHub and Discord. Chances are you'll find somebody else has posted the same error message before and gotten an answer explaining what to do.
If both of those don't get you an instant easy answer, time for a bit more effort: Step 3 is go to Server
-> Logs
-> probably set ViewType
to Debug
, and look over the error details. Sometimes the full details of an error can give you the info you need to solve it yourself.
If you can't solve it yourself from there, Step 4 is either post on GitHub or Discord (in #help-forum
). When you're making a post, click the Pastebin
button on the Logs
tab, to automatically generate a full clean pastebin of the Logs, and include the link it gives you in your post (It's important to do it this way to ensure the full log is included, as the info at the top of the log when Swarm is booting up is often important, and that button goes to a specific pastebin server that provides color highlighting and all to make it easy to read for those looking at it to help you with it), also include details about what you're trying (what parameters are you using? What are you clicking on? Does a problem happen right away or only halfway through generating an image, or...?). It also helps to add a screenshot of your UI when the error happens.
So you have a pip dependency issue, eh? These usually happen from playing around with custom nodes too much, but sometimes can happen from updates. For the most part, when you stay on the "beaten path" of Swarm, this shouldn't come up. If you haven't been specifically told you need to install a pip package, you probably shouldn't do this.
When you need to install a pip dependency, you're gonna have to use the command line. The precise method depends on your OS (Windows vs Linux/Mac).
- Open a command line in
(Your Swarm Install)\dlbackend\comfy
- type the command
python_embeded\python.exe -s -m pip install (your package)
- For example
python_embeded\python.exe -s -m pip install transformers -U
(if you got a message saying you need to reinstalltransformers
, such as the "ImportError: huggingface-hub ...
" error message)
- For example
- Open a command line in
(Your Swarm Install)/dlbackend/ComfyUI/
- activate the venv with
source venv/bin/activate
- type the command
python -s -m pip install (your package)
- For example
python -s -m pip install transformers -U
- For example
If you're an advanced user familiar with command line usage and/or with a custom python env, you can adapt the specifics as needed, just make note of the python -s -m pip
syntax: that -s
tells python to store the installed package in your current env. Without this (if you eg use just pip install ...
) it may link to packages that are in your OS global install, which tends to cause a lot of issues. So, avoid that with -s
.
If you have some other troubleshooting issue you think should be listed here, let me know on the SwarmUI Discord.