Windows安装WSL2并配置nVidia GPU
日常办公使用的是Windows操作系统,但是开发过程中不可避免要使用到Linux且需要GPU支持,VMWare和VBox等虚拟机方案不支持游戏显卡虚拟化,在不安装双系统情况下WSL2不仅可以提供Linux较为完整的支持,同时还能共同host中的GPU,是一个较为理想的解决方案。
现在已经是2022年,网上许多安装WSL2和WSL2中配置GPU的资料已经过时,因此在这里记录一下整个安装流程。
主要参考资料来自nVidia官网
windows系统现在已经不需要切换到Insider Preview版本,但是要确保系统版本高于windows10 21H2或Windows11
1. 安装nVidia GPU驱动
网上有许多资料写道需要安装针对WSL特别驱动,但是现在已经不需要这么做了,只需要到nVidia官网将驱动升级到最新版本即可。
Download the latest official NVIDIA drivers
根据参考资料描述,驱动类型最好选择Game Ready版本而不是studio版本

注意,该是安装Windows驱动,而不是安装Linux驱动,在Windows下安装驱动后,会自动将驱动以libcuda.so的形式集成至WSL2中,因此切勿在WSL Linux中重复安装驱动。
2. 安装WSL2
现在安装WSL2也很方便了,可以参考官方链接:
Install WSL
这里列出一些主要步骤:
安装wsl(默认为Ubuntu发行版)
wsl --install切换到WSL2
# 默认为WSL2,如果不是,可以通过下面命令切换默认为WSL2 wsl --set-default-version 2 #可以通过下面命令切换指发行版到WSL2 wsl --set-version <distro name> 2进入WSL2
# 在powershell或cmd下输入即可 wsl
如果安装过程中出现错误,可能要需要手动安装一下更新
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
如果仍然出错,可以尝试全手动安装:
install-manual
3. 在WSL2中安装CUDA
这一步要小心,WSL2中安装CUDA和在普通Linux中安装CUDA会有所不同,主要参考 CUDA Toolkit 11.7 Downloads | NVIDIA Developer内容。

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
sudo apt-key adv --fetch-keys https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/3bf863cc.pub
sudo add-apt-repository "deb https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/ /"
sudo apt-get update
sudo apt-get -y install cuda做完以上步骤,理论上就可以在WSL2中使用GPU了,在WSL2中输入nvidia-smi 查看,如果有输出则说明安装好了:
