启动Stable Diffusion WebUI时触发Segmentation Fault故障求助
AMD Radeon 560X在Manjaro运行Stable Diffusion WebUI段错误的排查与解决
故障原因
- AMD Radeon 560X属于GCN 4架构,官方ROCm对该旧架构的支持有限,新版本PyTorch/ROCm更容易出现兼容性问题
- 模型加载阶段显存分配异常或架构指令不兼容,触发内存访问错误(段错误)
- Manjaro滚动更新可能导致PyTorch、ROCm依赖版本不匹配,加剧兼容性问题
解决步骤
1. 先验证CPU推理是否正常(排除WebUI本身问题)
启动时添加以下参数,强制用CPU运行:
./webui.sh --skip-torch-cuda-test --no-half --precision full --cpu
如果能正常进入WebUI界面,说明问题确实出在GPU端的兼容性上。
2. 降级PyTorch到适配GCN 4的版本
卸载当前PyTorch:
pip uninstall -y torch torchvision torchaudio
安装针对GCN 4优化的旧版本PyTorch+ROCm:
pip install torch==1.12.1+rocm5.1.1 torchvision==0.13.1+rocm5.1.1 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/rocm5.1.1
3. 添加显存控制与架构兼容参数
修改webui.sh,在exec python3...前添加环境变量:
export HSA_OVERRIDE_GFX_VERSION=9.0.0 export AMD_VULKAN_ICD=RADV
启动时追加参数:
./webui.sh --precision full --no-half --lowvram --always-batch-cond-uncond
HSA_OVERRIDE_GFX_VERSION=9.0.0用于强制ROCm将GCN 4识别为兼容的架构版本,--lowvram则限制显存使用避免溢出。
4. 修复系统依赖与权限
安装必要的AMD计算库:
sudo pacman -S opencl-amd rocm-libs rocm-utils
将当前用户加入video组,确保GPU权限:
sudo usermod -aG video $USER
执行后重启系统生效。
5. 验证ROCm识别
运行以下命令确认ROCm能正确识别显卡:
rocminfo
如果输出中能看到Radeon 560X的信息,说明环境配置正常。
内容的提问来源于stack exchange,提问作者Debabrata Samal
相关产品推荐
相关产品推荐

