Doesn’t install dependencies properly on CachyOS with AMD ROCm

这个报错发生在 SwarmUI 在 CachyOS(AMD ROCm 环境)上通过 Linux 脚本安装 ComfyUI 后端依赖时。优先排查 comfy-install-linux.sh 中先安装 AMD PyTorch、随后执行 requirements.txt 安装导致 PyTorch 被覆盖

快速结论:这个报错发生在 SwarmUI 在 CachyOS(AMD ROCm 环境)上通过 Linux 脚本安装 ComfyUI 后端依赖时。优先排查 comfy-install-linux.sh 中先安装 AMD PyTorch、随后执行 requirements.txt 安装导致 PyTorch 被覆盖为 CUDA 版本的问题,同时注意网络超时中断下载引发的连锁反应。

适用环境:SwarmUI(commit f185f25672c0d86afd9078fb3d9555e8bd102add);CachyOS(最新版);Python 3.11(虚拟环境路径 dlbackend/ComfyUI/venv);AMD ROCm GPU;用户系统中另有 ROCm 7.2 与 7.1 并存(Issue 作者自述)。

最快修复方案:Issue 作者提供的补丁(patch.patch)被其描述为“可以解决”,但维护者并未确认合并或验证。可优先尝试应用该补丁,本质是调整 launchtools/comfy-install-linux.sh 中的安装顺序或参数,避免 requirements.txt 覆盖已装好的 ROCm 版 PyTorch。因补丁内容未在 Issue 正文中公开,需自行联系作者或查看附件。暂无确认的官方“一键修复”命令。

注意事项:该补丁属于用户个人验证结果,未获官方确认。日志显示安装 ROCm PyTorch 过程中发生了网络读取超时(下载 5.9 GB 大文件时中断),之后重试的 pip 命令“顺手”装了默认 CUDA 版 torch。因此即使应用补丁,仍需保证网络稳定,否则仍会因下载中断落入默认安装路径。补丁作者提及环境有 ROCm 7.2 与 7.1 共存,是否必须统一版本尚未确认。

问题场景

用户在 CachyOS 系统上全新克隆 SwarmUI(commit f185f25672c0d86afd9078fb3d9555e8bd102add),执行 launch-linux.sh 启动安装脚本,并在 Web 界面中选择 AMD GPU 驱动。安装后 ComfyUI 后端环境里实际装的是 CUDA 版 PyTorch,AMD GPU 无法被识别,设备数为 0。

报错原文

torch: 2.14.0+cu130
HIP: None
CUDA available: False
devices: 0

安装日志中另有网络中断痕迹(下载 torch ROCm 包约 3.2/5.9 GB 时超时):

TimeoutError: The read operation timed out

原因分析

直接原因是 launchtools/comfy-install-linux.sh 执行顺序有问题:脚本先按 GPU 类型安装 PyTorch(本场景应装 ROCm 版),随后又执行 $python -s -m pip install -r requirements.txt,这一步把刚装好的 ROCm 版 torch 覆盖成了默认的 CUDA 版。Issue 作者认为这是 bug 所在。

另外,维护者从完整日志指出:实际安装过程中 ROCm 版 PyTorch 的下载(约 5.9 GB)发生了网络读取超时,安装并未成功完成。紧接着下一条 pip 命令继续执行时网络已恢复,于是 pip 按默认源抓取了 CUDA 版 torch。也就是说,网络中断是触发“错误版本被装上”的直接诱因,脚本缺乏对这类边缘情况的错误处理才是根因。

环境排查

  • 操作系统:CachyOS(最新版,Issue 作者确认)
  • 工具:SwarmUI,commit f185f25672c0d86afd9078fb3d9555e8bd102add
  • Python:3.11(venv 路径 dlbackend/ComfyUI/venv
  • 显卡/驱动:AMD GPU + ROCm(Issue 作者环境中存在 ROCm 7.2 与 7.1 共存的情况)
  • 需确认目标 PyTorch 版本应为 ROCm 版(rocm7.1 nightly 源),而非日志中的 2.14.0+cu130

解决步骤

  1. 检查当前 ComfyUI 虚拟环境中的 PyTorch 实际版本:确认 torch 版本后缀是否为 +cu130,HIP 是否为 None。若是,说明安装被覆盖。
  2. 查看 Issue 附件 patch.patch(由作者提供),了解其对 launchtools/comfy-install-linux.sh 的具体改动。核心思路是防止 requirements.txt 安装步骤覆盖已装好的 GPU 版 PyTorch。这是作者验证过“可工作”的方案,可优先尝试。
  3. 确保安装过程网络稳定。日志显示 5.9 GB 的 ROCm torch 包下载中途超时,这是导致后续意外装成 CUDA 版的重要诱因。可考虑使用代理、镜像源或断点续传工具预下载 wheel 文件后离线安装。
  4. 如补丁方案不适用,可在安装完成后手动检查并修正虚拟环境中的 PyTorch:确认最终安装的必须是 ROCm 版,而非默认 CUDA 版。
  5. 若问题仍复现,可在 SwarmUI 仓库提交新 Issue,附上补丁建议,推动官方增强脚本对“torch 安装中断后又被覆盖”场景的处理逻辑。

验证方法

确认 ComfyUI 虚拟环境中的 torch 版本后缀为 +rocm7.1(而非 +cu130),且 HIP 不再显示为 None、设备数不为 0。在 SwarmUI Web 界面中能正常识别 AMD GPU,并能跑通一次含图像生成的 ComfyUI 工作流。

参考来源

mcmonkeyprojects/SwarmUI #1531

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 22040

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注