使用 WSLg 的 vGPU 硬件加速新特性创建重度混合生产环境

使用 WSLg 的 vGPU 硬件加速新特性创建重度混合生产环境

本文首发于:白泽阁-使用 WSLg 的 vGPU 硬件加速新特性创建重度混合生产环境

一、不同版本的WSL

Windows Subsystem for Linux(简称WSL)是一个在 Windows 10\11 上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层。

到目前为止 WSL 可分为 WSL1 和 WSL2 两代,其中 WSL1 代类似 Cygwin,是使用Windows 的 API 重写了一份 Linux 的 API,没有关机概念,无法使用 systemd、docker 等运行常驻服务;而 WSL2 是基于 Hyper-V 的完整虚拟机,支持 systemd、docker 等在内的常驻服务运行;最新的 WSLg 是 Windows Subsystem for Linux GUI 的缩写,该项目的目的是支持在 Windows 上以完全集成的桌面体验运行 Linux GUI 应用程序(X11 和 Wayland)。
WSLg 的 Firefox 和 Windows 下的 Firefox简单的来说 WSLg 可以让你直接在 Windows 的桌面环境下直接运行 Linux 下的 GUI 应用,共享 Windows 的桌面,只到这一步的话,WSL 系可能还是偏向玩具+轻量级的混合生产环境,但是,最最最最新的更新,WSLg(WSL2)已支持 vGPU,可以直接调用物理宿主机的显卡。这下性质真的变了,你可以在主操作系统为 Windows 的情况下,使用 WSL2 来跑 Linux 下的重度生产环境。属实是工作生活双平衡了(bushi)。

二、WSL2 安装 + 桌面环境部署

WSL2 的安装方法和 WSL1 一致,使用 控制面板→程序和功能→启用或关闭 Windows 功能,按下图勾选 Hyper-V、适用于 Linux 的 Windows 子系统、虚拟机平台 三个选项(Hyper-V 在列表上方图没截进去)。
安装 WSL
安装完毕后按要求进行重启,之后先以管理员身份运行以下命令:

# 设定WSL版本为WSL2
wsl --set-default-version 2
# 升级WSL组件
wsl --update
# 安装 Ubuntu-20.04 发行版
wsl --install -d Ubuntu-20.04

至此 WSL2 已安装完毕,在开始菜单中找到 Ubuntu20 启动或者在任何 CMD、Powershell中键入 bash 命令即可进入 WSL2 的 Ubuntu20 环境。接下来使用以下命令安装 Ubuntu 的桌面环境:

sudo apt-get update
sudo apt-get install ubuntu-desktop

安装完毕后会发现开始菜单中多了很多图标带有 Linux 小企鹅标志的的程序快捷方式,名字也带有 “(Ubuntu 20)” 的标记,这些就是 WSLg 的启动方式了。

WSLg 快捷方式

三、vGPU 的使用

其实在 WSLg 之前,可以使用 Hyper-V 的 DDA 功能将物理机的 GPU 直接分配给虚拟机使用,来实现虚拟化的生产环境。但是使用 DDA 也存在几个问题:

  1. 无论是通过 DDA 挂载还是释放,都需要非常复杂的纯命令行设置,需要手动计算、分配内存的可用大小
  2. 通过 DDA 分配给虚拟机时,宿主机必须断开与 GPU 的访问,即宿主机和虚拟机无法同时访问 GPU

而现在可就方便多了,首先确定 Windows 10/11 的系统版本已为最新,同时安装最新的显卡驱动,vGPU 的配置就已经自动完成了。在 Linux 的环境下可以直接使用 nvidia-smi 命令来查看 GPU 状态,非常丝滑和离谱。CUDA is Ready!

在 WSL 中查看 GPU 状态
实测此时直接使用 Firefox 等浏览器还无法直接播放视频,但是使用 sudo apt-get install vlc 命令安装完 vlc 播放器和相关的解码依赖后,就可以愉快地直接在 Firefox 中使用硬件解码来播放4K视频了。

使用 WSLg 的Firefox 播放 4K 视频
至此相关配置全部完成,按照正常的 Linux 环境来用即可。当然,也许有人要问,那我直接用 Linux 不就好啦。但是实际生产过程中,总是会遇到 “如果我用的是 Windows/Linux 系统就好了” 这种情况。混合生产环境的最大优势就是在于,可以同时使用 Windows 和 Linux 系统下最好的工具,互相配合,甚至可以在 Windows 环境下通过先调用 cmd 再启动 bash 然后通过标准输入输出来整合两个环境的工具,形成工作流。

个人觉得,很多时候,决定工具上限的不是工具本身,而是使用者的技术上限和技术边界。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Win11中的WSLG是指Windows Subsystem for Linux GUI,它可以让用户在WSL中运行具有图形界面的应用程序。WSLG在Win11的Insider Preview build 21362及以上版本中内置。要在WSL中显示缩放150%,您可以执行以下步骤: 1. 打开WSL终端。 2. 执行以下命令来设置缩放比例为1.5: ``` export GDK_SCALE=2 export GDK_DPI_SCALE=0.75 ``` 这将使图形应用程序在WSL中以150%的缩放比例显示。 请注意,WSLG的性能受到系统的硬件支持和GPU驱动程序的限制。微软推荐在启用虚拟GPU(vGPU)的系统上运行WSLG,并且您需要下载和安装适用于您的GPU的相应驱动程序。例如,对于AMD GPU,您可以从AMD的官方网站下载WSL的GPU驱动程序。同样,对于Intel GPU和NVIDIA GPU,您也可以在它们的官方网站上找到相应的驱动程序。 [2 [3<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [win11 wslg 如何显示缩放125%? 【wsl】【gui】【分辨率】](https://blog.csdn.net/qq_20679687/article/details/128687677)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [win11下安装wsl2并开启图形界面的方法](https://blog.csdn.net/qq_45392013/article/details/129811341)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值