上周, 微软开发人员宣布了一些重要的增强功能 子系统 WSL (适用于Linux的Windows子系统),使Linux应用程序可以在Windows上运行。 作为 从Windows 10 May Update开始,首次安装Linux环境 默认情况下,它将使用WSL2层。
WSL2环境 在磁盘映像上运行 (VHD) 与ext4文件系统分开 和虚拟网络适配器。 Linux内核 在WSL2中 它不会包含在Windows安装映像中,但Windows会动态加载它 并将其保持为当前形式,类似于图形驱动程序的安装和更新方式。 要安装和更新内核,将使用标准的Windows Update机制。
提议的原子核 WSL2基于Linux 4.19内核发行版,使用已在Azure中使用的虚拟机在Windows环境中运行。
内核中使用的WSL2特定修补程序包括优化,以减少内核启动时间,减少内存消耗,将Windows返回到Linux进程释放的内存,以及在内核中保留最少的必需驱动程序和子系统。
现在可以在WSL中运行图形应用程序
除上述内容外,另一个引人注目的新颖之处是 最初通过“ WSU GPU”图形界面支持Linux应用程序。
的支持通过虚拟化GPU访问并提供驱动程序来实现 Linux发行版的常规图形子系统可以通过该子系统工作, 包括基于Wayland的网站。 Linux和Windows图形应用程序可以在Windows桌面上并行运行。
已经为Linux内核准备了一个开放的dxgkrnl驱动程序,为/ dev / dxg设备提供了可复制Windows内核的Windows显示驱动程序模型(WDDM)D3DKMT的服务。 控制器使用VM总线建立与物理GPU的连接。 Linux应用程序具有与本机Windows应用程序相同的GPU访问级别,而无需在Windows和Linux之间共享资源。
另外,馆员为Linux提供了libd3d12.so, 提供 Direct3D 12完整的图形API。
libd3d12.so库是使用与Direct3D 12的本机Windows实现相同的代码构建的 它的功能与d3d12.dll库完全相似。
我也知道 提供了DXGI API的简化版本 (DirectX图形基础结构)的形式为DxCore库(libdxcore.so)。 libd3d12.so和libdxcore.so库是专有的,仅以二进制版本(以/ usr / lib / wsl / lib的形式安装在WSL上)提供,与Ubuntu,Debian,Fedora,Centos,SUSE和其他基于Glibc的发行版兼容。
通过一层提供对Mesa中OpenGL的支持 它可以转换DirectX 12 API调用。实现Vulkan API的方法仍处于计划阶段。
在第一阶段,在WSL环境中,将支持CUDA和DirectML, 在D3D12 API上工作(例如,在Linux环境中,您可以将TensorFlow与DirectML的后端一起运行)。 通过在DirectX 12 API中执行调用映射的层可以实现OpenCL支持。
微软正在使用Wayland协议开发其复合管理器 并基于Weston代码库。 复合管理器使用RDP-RAIL(本地集成RDP远程应用程序)来组织Linux应用程序接口到主Windows桌面的输出。 RDP-RAIL与以前可从Weston获得的RDP后端的不同之处在于,复合管理器不呈现桌面本身,而是通过RDP RAIL通道重定向单个表面(wl_surface)以显示在主Windows桌面上。
另外,很快将支持使用简单的wsl.exe –install命令进行WSL安装。
最后,如果您想了解更多信息,可以咨询 以下链接中的详细信息。
您距离将网站名称更改为wsladictos.com仅一步之遥
无论您是否喜欢,WSL都是Linux世界的一部分,我们必须对此进行介绍。
WSL不是“常规”中为用户设计的实现,必须了解它是为开发人员,系统管理员等而设计的,并且当需要工作时,您应该保留首选项并遵守以下准则:您为您工作的人或公司强加于人,如果它允许您在舒适的环境中工作,那将是极好的,但如果这是对您强加于人的话,则别无选择。