WSL2-Ubuntu22.04-配置
- 准备
- 1. WSL相关命令[^1]
- 2. WSL2-Ubuntu22.04可视化
- 3. WSL2 设置 CUDA
- 4. 设置OpenGL
本文介绍了WSL2的基本使用方法及可视化,着重介绍了GPU和OpenGL的设置。
准备
名称 | 版本 |
---|---|
windows | 11 |
wsl | 2 |
CUDA | 12.5 |
1. WSL相关命令1
查看已安装的wsl distribution(distro)信息和版本
wsl -l -v
查看可以安装的wsl distro(在 windows online store) 信息
wsl -l -o
安装指定distro,随后设置username 和 passwd,如下图:
命令行安装指定版本的distro(通过windows online store也可以的,见Ubuntu-20.04的安装)
wsl --install -d <Distribution Name>
wsl -- install -d Ubuntu-22.04
卸载指定distribution(记得把设置->安装的应用的对应客户端也卸载掉)
wsl --unregister <Distribution Name>
wsl --unregister Ubuntu-22.04
设置/更改默认distribution
wsl --set-default <Distribution Name>
wsl --set-default Ubuntu-22.04
查看wsl信息
wsl --status
打开wsl并进入/home
wsl ~
pwd #查看当前绝对路径
查看ubuntu系统版本
lsb_release -a
操作如下:
查看wsl可用磁盘空间(在win11 cmd中)
wsl.exe --system -d <distribution-name> df -h /mnt/wslg/distro
2. WSL2-Ubuntu22.04可视化
Ubuntu22.04端:(有的电脑可能不需要设置)
找到distro的IP(假设IP为127.0.0.1)
vim /etc/resolv.conf
更改 bashrc 文件
vim ~/.bashrc
export DISPLAY=127.0.0.1:0 #把刚才得到的ip填进来
source ~/.bashrc
安装依赖库
sudo apt update
sudo apt install net-tools # 如果有就不装
sudo apt install x11-apps mesa-utils
windows端:
安装VcXsrv
,下载连接:https://sourceforge.net/projects/vcxsrv/
按如下设置(可以把生成的config文件保存在桌面,影响不大):
| |
| |
此时我们可以可视化了(下载gedit 打开文件是没有问题的),但不能正常运行 glxgears
(一片黑,但command正常显示数据),请继续往下看。
3. WSL2 设置 CUDA
Windows有GPU且设置好Driver,那安装好的wsl2 一定也可以使用nvidia-smi
,但现在nvcc --version
是不可以的,说明没有安装 CUDA-Toolkit。并且,此时/usr/local
下也没有/cuda
。
在WSL2中,一定不能用sudo apt install nvidia-cuda-toolkit
来安装CUDA-Toolkit 2,而是应该单独安装(链接)。
| |
我选择cuda-toolkit-12.5
版本,按如下安装:
sudo apt-key del 7fa2af80wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-wsl-ubuntu.pin
sudo mv cuda-wsl-ubuntu.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.5.0/local_installers/cuda-repo-wsl-ubuntu-12-5-local_12.5.0-1_amd64.deb
sudo dpkg -i cuda-repo-wsl-ubuntu-12-5-local_12.5.0-1_amd64.deb
sudo cp /var/cuda-repo-wsl-ubuntu-12-5-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-5
在~/.bashrc
中添加以下:
export CUDA_HOME=/usr/local/cuda
export PATH=${PATH}:${CUDA_HOME}/bin
export LD_LIBRARY_PATH=${CUDA_HOME}/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
4. 设置OpenGL
sudo apt-get update
sudo apt-get install libgl1-mesa-dev freeglut3-dev libglu1-mesa-dev
sudo apt-get install libsoil-dev libglm-dev libassimp-dev libglew-dev libglfw3-dev libxinerama-dev libxcursor-dev libxi-dev
这时候运行glxgears
应该还是看不见齿轮,运行
glxinfo -B
此时,Device
用的不是GPU,需要把Mesa 3D图形库的环境变量修改成GPU3:
echo 'export MESA_D3D12_DEFAULT_ADAPTER_NAME=NVIDIA' >> ~/.bashrc
source ~/.bashrc
再查看一次,Device
就是GPU了.
然后再运行
glxgears
就可以看见齿轮在动。
https://learn.microsoft.com/en-us/windows/wsl/setup/environment ↩︎
https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-started-with-cuda-on-wsl ↩︎
https://github.com/microsoft/wslg/wiki/GPU-selection-in-WSLg ↩︎