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 ↩︎