WSL2-Ubuntu22.04-配置

2024-06-01 08:36
文章标签 配置 wsl2 ubuntu22.04

本文主要是介绍WSL2-Ubuntu22.04-配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

WSL2-Ubuntu22.04-配置

    • 准备
    • 1. WSL相关命令[^1]
    • 2. WSL2-Ubuntu22.04可视化
    • 3. WSL2 设置 CUDA
    • 4. 设置OpenGL

本文介绍了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 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

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


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

这篇关于WSL2-Ubuntu22.04-配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1020502

相关文章

Vue 2 项目中配置 Tailwind CSS 和 Font Awesome 的最佳实践举例

《Vue2项目中配置TailwindCSS和FontAwesome的最佳实践举例》:本文主要介绍Vue2项目中配置TailwindCSS和FontAwesome的最... 目录vue 2 项目中配置 Tailwind css 和 Font Awesome 的最佳实践一、Tailwind CSS 配置1. 安

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

Maven 插件配置分层架构深度解析

《Maven插件配置分层架构深度解析》:本文主要介绍Maven插件配置分层架构深度解析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录Maven 插件配置分层架构深度解析引言:当构建逻辑遇上复杂配置第一章 Maven插件配置的三重境界1.1 插件配置的拓扑

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

VSCode中配置node.js的实现示例

《VSCode中配置node.js的实现示例》本文主要介绍了VSCode中配置node.js的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一.node.js下载安装教程二.配置npm三.配置环境变量四.VSCode配置五.心得一.no

Gradle在国内配置镜像加速的实现步骤

《Gradle在国内配置镜像加速的实现步骤》在国内使用Gradle构建项目时,最大的痛点就是依赖下载贼慢,甚至卡死,下面教你如何配置国内镜像加速Gradle下载依赖,主要是通过改写repositori... 目录引言一、修改 build.gradle 或 settings.gradle 的 reposito

使用easy connect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题

《使用easyconnect之后,maven无法使用,原来需要配置-Djava.net.preferIPv4Stack=true问题》:本文主要介绍使用easyconnect之后,maven无法... 目录使用easGWowCy connect之后,maven无法使用,原来需要配置-DJava.net.pr

史上最全nginx详细参数配置

《史上最全nginx详细参数配置》Nginx是一个轻量级高性能的HTTP和反向代理服务器,同时也是一个通用代理服务器(TCP/UDP/IMAP/POP3/SMTP),最初由俄罗斯人IgorSyso... 目录基本命令默认配置搭建站点根据文件类型设置过期时间禁止文件缓存防盗链静态文件压缩指定定错误页面跨域问题

nginx负载均衡及详细配置方法

《nginx负载均衡及详细配置方法》Nginx作为一种高效的Web服务器和反向代理服务器,广泛应用于网站的负载均衡中,:本文主要介绍nginx负载均衡及详细配置,需要的朋友可以参考下... 目录一、 nginx负载均衡策略1.1 基本负载均衡策略1.2 第三方策略1.3 策略对比二、 nginx配置2.1

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮