本文介绍了WSL2的基本使用方法及可视化,着重介绍了GPU和OpenGL的设置。

准备

名称版本
windows11
wsl2
CUDA12.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,而是应该单独安装(链接)。

Image
Image

我选择cuda-toolkit-12.5版本,按如下安装:

sudo apt-key del 7fa2af80

wget 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

就可以看见齿轮在动。
在这里插入图片描述

5. 安装miniconda4

wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
# yes yes
source ~/.bashrc
rm Miniconda3-latest-Linux-x86_64.sh

  1. https://learn.microsoft.com/en-us/windows/wsl/setup/environment ↩︎

  2. https://docs.nvidia.com/cuda/wsl-user-guide/index.html#getting-started-with-cuda-on-wsl ↩︎

  3. https://github.com/microsoft/wslg/wiki/GPU-selection-in-WSLg ↩︎

  4. https://gist.github.com/lindacmsheard/f0714f3e5870491e3f2eaa70ae677a1e?permalink_comment_id=4379429 ↩︎

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐