最近在 Arch Linux 上部署 GPT-SoVITS,记录一下完整过程和遇到的问题。我的硬件环境如下:
-
系统:Arch Linux x86_64
-
桌面:KDE Plasma 6 + Wayland
-
内核:Linux zen
-
CPU:Intel Core i7-11850H
-
GPU:NVIDIA RTX 3080 Laptop 16GB
-
Python:3.11(虚拟环境)
-
CUDA:12.8
-
Shell:zsh
整体来说,GPT-SoVITS 在这套环境上运行没有太大问题,但过程中遇到了几个比较典型的坑。
1. 环境准备
首先创建虚拟环境:
python -m venv venv
source venv/bin/activate
确认 CUDA 是否可用:
python
import torch
print(torch.cuda.is_available())
print(torch.cuda.get_device_name())
如果输出:
True
NVIDIA GeForce RTX 3080 Laptop GPU
说明 PyTorch 已经可以正常调用显卡。
2. 安装 GPT-SoVITS
克隆项目:
git clone https://github.com/RVC-Boss/GPT-SoVITS.git
cd GPT-SoVITS
安装依赖。
新版 GPT-SoVITS 不再使用旧教程里的:
python tools/download_models.py
这个脚本已经不存在。
正确方式是使用项目自带安装脚本:
bash install.sh --device CU128 --source ModelScope --download-uvr5
参数说明:
-
CU128:CUDA 12.8 -
ModelScope:使用 ModelScope 下载模型(国内网络更友好) -
--download-uvr5:下载人声分离模型
3. Conda 权限问题
第一次运行安装脚本时遇到:
EnvironmentNotWritableErrorenvironment location:
/opt/miniconda3
看起来像权限问题。
但是检查:
ls -ld /opt/miniconda3
发现目录属于当前用户:
xyc xyc
进一步手动执行:
conda install -n base -c conda-forge libstdcxx-ng
发现:
All requested packages already installed.
重新运行安装脚本:
bash install.sh --device CU128 --source ModelScope --download-uvr5
成功完成:
[SUCCESS]: Installation Completed
原因推测是 Conda 状态初始化或缓存问题。
4. WebUI 启动失败
启动:
python webui.py
出现:
Running on local URL:
http://0.0.0.0:9874
随后报:
ValueError:
When localhost is not accessible,
a shareable link must be created.
最开始怀疑:
-
代理影响
-
localhost 配置问题
-
hosts 文件问题
于是检查:
env | grep -i proxy
无代理变量。
测试 localhost:
python -m http.server 8000
然后:
curl http://127.0.0.1:8000
可以正常返回页面。
说明系统网络没有问题。
5. 最终定位:Gradio 版本问题
检查:
pip show gradio
发现:
Version: 4.44.1
GPT-SoVITS 在部分新环境下与 Gradio 4.44.1 存在兼容问题,会导致 Gradio 错误判断 localhost 不可访问。
降低版本:
pip install gradio==4.43.0
之后重新启动:
python webui.py
成功运行。
6. 最终环境总结
最终运行环境:
Arch Linux
KDE Plasma 6 Wayland
Python 3.11 venv
PyTorch CUDA 12.8
NVIDIA RTX 3080 Laptop 16GB
GPT-SoVITS main
Gradio 4.43.x
运行:
python webui.py
访问:
http://127.0.0.1:9874
即可进入 GPT-SoVITS WebUI。
总结
这次部署最大的几个坑:
-
不要使用旧教程里的
tools/download_models.py,新版已经改变模型下载流程。 -
Arch Linux 下 Conda 权限问题不一定是真权限问题,可能只是 Conda 状态异常。
-
GPT-SoVITS WebUI 启动失败时,不要第一时间怀疑网络。
-
Gradio 版本兼容非常重要,4.44.1 在部分环境下会触发 localhost 检测异常,降到 4.43.x 即可解决。
总体来看,RTX 3080 16GB 跑 GPT-SoVITS 非常合适,CUDA 推理性能足够,后续可以继续优化 FP16、显存占用和推理速度。
