Windows + WSL2 + RTX 2080 Ti 搭建 RDK X5 OpenExplorer GPU 量化环境实战
一、前言
最近在做 RDK X5 的模型量化环境搭建,最开始走的是 VMware Workstation + Ubuntu 22.04 方案。
但实际折腾下来发现,这条路在 GPU 量化 这里会被卡死,因为虚拟机里根本拿不到宿主机的 NVIDIA 显卡,后面的 CUDA、Docker GPU、OpenExplorer GPU 容器都没法成立。
后来我改成了:
Windows + WSL2 Ubuntu 22.04 + Docker Desktop + RTX 2080 Ti + OpenExplorer GPU 容器
这条路线最终成功跑通,而且更适合 Windows 用户。
这篇文章把我从零搭建到真正进入 OpenExplorer GPU 容器的全过程整理出来,适合想做 RDK X5 模型量化、又不想继续折腾虚拟机 GPU 直通的同学。
结果如图

二、最终环境
本次最终跑通的环境如下:
- Windows 主机
- WSL2
- Ubuntu 22.04
- Docker Desktop
- NVIDIA RTX 2080 Ti
- OpenExplorer v1.2.8
- Python 3.10.15
- hb_mapper 1.24.3
三、为什么 VMware Workstation 不适合这件事
我最开始是 VMware Workstation 虚拟机方案,结果在 Ubuntu 里执行:
bash
lspci | grep -i nvidia
没有任何输出。
这意味着虚拟机里看到的是虚拟显卡,而不是宿主机真正的 2080 Ti。
后面无论怎么装 NVIDIA 驱动、Docker、CUDA,都没有意义。
所以如果你的目标是 RDK X5 的 GPU 量化环境,建议尽早换思路,不要在普通桌面虚拟机上浪费时间。
四、改用 WSL2 的思路
正确路线是:
Windows 显卡驱动正常
→ 安装 WSL2 Ubuntu 22.04
→ 在 WSL 里看到 NVIDIA GPU
→ 安装 Docker Desktop
→ 启用 WSL2 backend
→ 让 Ubuntu 接入 Docker Desktop
→ 验证 GPU 容器
→ 启动 OpenExplorer GPU 容器
五、第一步:先确认 Windows 侧显卡正常
在 PowerShell 里执行:
powershell
nvidia-smi
如果能看到显卡型号、驱动版本、CUDA 版本,说明 Windows 侧正常。
六、第二步:安装 WSL2 Ubuntu 22.04
查看可安装发行版:
powershell
wsl --list --online
安装 Ubuntu 22.04:
powershell
wsl --install -d Ubuntu-22.04
查看版本:
powershell
wsl -l -v
如果不是 2,就执行:
powershell
wsl --set-version Ubuntu-22.04 2
wsl --set-default-version 2
七、第三步:验证 WSL 里的 GPU 通路
进入 Ubuntu:
powershell
wsl -d Ubuntu-22.04
在 Ubuntu 中执行:
bash
whoami
uname -a
nvidia-smi
只要 nvidia-smi 在 Ubuntu 里也能看到 2080 Ti,就说明这条路已经成了大半。
注意:不要在 WSL 里安装 Linux 版 NVIDIA 驱动。
八、第四步:安装基础工具
bash
cd ~
sudo apt update
sudo apt install -y \
curl wget git vim nano htop tree net-tools \
ca-certificates gnupg lsb-release \
apt-transport-https software-properties-common \
python3-pip python3-dev unzip
顺手配 pip 镜像:
bash
mkdir -p ~/.pip
cat > ~/.pip/pip.conf << 'EOF'
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
trusted-host = pypi.tuna.tsinghua.edu.cn
timeout = 120
EOF
九、第五步:安装 Docker Desktop 并解决权限问题
在 Windows 里安装 Docker Desktop,打开:
- WSL2 backend
- Ubuntu-22.04 integration
然后在 Ubuntu 中执行:
bash
sudo groupadd docker 2>/dev/null || true
sudo usermod -aG docker $USER
接着在 PowerShell 中:
powershell
wsl --shutdown
重新进入 Ubuntu 后验证:
bash
docker version
docker context ls
docker context use desktop-linux
十、第六步:验证 GPU Docker
bash
docker run --rm -it --gpus=all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
这一步跑通后,说明:
- Docker Desktop 正常
- WSL2 backend 正常
- GPU 容器正常
十一、第七步:准备 OpenExplorer 工作目录
bash
mkdir -p ~/rdkx5_workspace
mkdir -p ~/rdkx5_dataset/raw_images
mkdir -p ~/rdkx5_dataset/calibration_f32
mkdir -p ~/rdkx5_dataset/bin_output
mkdir -p ~/rdkx5_models
十二、第八步:下载并解压 OpenExplorer
下载:
bash
cd ~/rdkx5_workspace
wget -c \
ftp://x5ftp@vrftp.horizon.ai/OpenExplorer/v1.2.8_release/horizon_x5_open_explorer_v1.2.8-py310_20240926.tar.gz \
--ftp-password='x5ftp@123$%'
注意这里一个坑:
这个文件虽然叫 .tar.gz,但实际可能不是 gzip 压缩包。
先判断:
bash
file horizon_x5_open_explorer_v1.2.8-py310_20240926.tar.gz
如果输出是:
bash
POSIX tar archive (GNU)
那就必须这样解压:
bash
tar -xf horizon_x5_open_explorer_v1.2.8-py310_20240926.tar.gz
不要用:
bash
tar -xzf ...
否则会报:
bash
gzip: stdin: not in gzip format
十三、第九步:启动 OpenExplorer GPU 容器
进入目录:
bash
cd ~/rdkx5_workspace/horizon_x5_open_explorer_v1.2.8-py310_20240926
启动:
bash
bash run_docker.sh ~/rdkx5_dataset
注意一定是:
bash
bash run_docker.sh ...
不要写成:
bash
sh run_docker.sh ...
否则很可能出现:
bash
unexpected operator
十四、第十步:等待 GPU 镜像拉完
如果你看到:
bash
Start Docker container in GPU mode.
Pulling from openexplorer/ai_toolchain_ubuntu_20_x5_gpu
那说明当前拉的就是 GPU 镜像。
镜像体积较大,下载慢是正常的。
如果已经下载了一大半,不建议频繁 Ctrl+C,最好让它一次拉完。
十五、第十一步:进入容器后验收
进入容器后执行:
bash
python3 --version
hb_mapper --version
nvidia-smi
pwd
ls /data
ls /open_explorer
我这次最终成功结果是:
- Python 3.10.15
- hb_mapper 1.24.3
- 容器里
nvidia-smi识别 RTX 2080 Ti - 当前目录为
/open_explorer
这说明整个 WSL2 + Docker Desktop + OpenExplorer GPU 量化环境 已经搭建完成。
十六、如何把 Linux 文件复制到 Windows / U 盘
方法 1:命令行复制
查看盘符:
bash
ls /mnt
假设 U 盘是 E:,那么在 WSL 中就是:
bash
/mnt/e
复制目录:
bash
cp -r ~/rdkx5_workspace /mnt/e/
方法 2:资源管理器打开
进入目录后执行:
bash
cd ~/rdkx5_workspace
explorer.exe .
会直接打开当前 Linux 目录对应的 Windows 资源管理器窗口,你可以手动拖到 U 盘。
十七、总结
这次最大的收获有三点:
- 普通桌面虚拟机不适合这类 GPU 量化环境
- WSL2 对 Windows 用户来说是更靠谱的路线
- OpenExplorer GPU 容器一旦进去了,后续量化就顺了很多
如果你和我一样是 Windows 主机、手里有 NVIDIA 显卡,又想快速把 RDK X5 的 GPU 量化环境搭起来,强烈建议优先走 WSL2 + Docker Desktop,不要继续在 VMware Workstation 上耗时间。