微软Linux GUI应用程序将与GPU访问一起进入Windows 10wsl

Windows 10的Windows for Linux系统(WSL)将很快允许开发者运行Linux GUI应用程序,而Windows上的Linux客户将很快获得对GPU电源的访问以实现硬件加速。

目前WSL只能通过控制台使用,但是WSL2将允许开发人员在Windows上运行Linux GUI应用程序,而不需要第三方X服务器。WSL2将与即将发布的Windows 2020年5月10日更新一起发布。

微软正在使用其DirectX (Direct 3D12 /D3D12)图形api——通常用于Windows pc上的游戏——将GPU硬件加速到基于linux的机器学习工作负载上,这些工作负载运行在WSL2上,并向云计算发展。

参见:备忘单:Windows 10 PowerToys(免费PDF)

为了实现这一目标,微软正在为WSL2的Linux内核引入一个定制的基于directxb的Linux GPU内核驱动程序——dxgkrnl Linux版,它创建了一条到受支持的GPU硬件的路径。基本上,它是一个虚拟的GPU驱动程序,只有在微软的Hyper-V上才能工作。

这是针对在PC上使用WSL2来测试将部署在Linux容器中的云中的工作负载的开发人员。

正如微软所解释的,GPU虚拟化已经可以用于在VM或容器中运行的Windows,但不适用于Linux客户端。使用WDDM (Windows显示驱动程序模型)2.9版本,这将GPU虚拟化扩展到Linux客户端。

“在Linux环境中运行的应用程序与Windows上的本地应用程序具有相同的GPU访问权限,”微软合作伙伴开发主管Steve Pronovost说。

“Linux和Windows之间没有资源分区,也没有对Linux应用程序的限制。分享是完全动态的,基于谁需要什么。

“共享GPU的两个Windows应用程序与共享同一GPU的Linux和Windows应用程序之间基本上没有区别。”如果一个Linux应用程序单独在一个GPU上,它可以消耗所有的资源。”

微软表示,针对Linux的新GPU改进将“很快”出现在即将推出的Windows Insider快速环构建中。

该公司补充说,它正在努力将其新的Linux驱动程序升级到Linux内核,并已开放了该驱动程序的源代码。

Pronovost说:“这是真实的、完整的D3D12 API,没有模仿、假冒或重新实现……这是真实的。”

“libd3d12。so编译自Windows上与d3d12.dll相同的源代码,但适用于Linux目标。它提供了相同级别的功能和性能(减去虚拟化开销)。”

微软:我们对开源的看法是错误的,但幸运的是你可以改变

但随着Linux新闻网站Phoronix指出的那样,直接3 d 12库是闭源,上游的想法到Linux内核已经遇到阻力在一些Linux内核维护人员,特别是在直接呈现经理(DRM) Linux内核的子系统来处理对GPU的访问。

Linux内核图形维护人员Dave Airlie评论道:“这是一个驱动程序,它将Windows内核驱动程序中的二进制blob接口连接到Linux客户端中运行的二进制blob。它是两个二进制位之间的二进制传输。

“我个人对此不感兴趣,我能理解为什么有这样一个上游版本会很好,但我不认为有任何其他Linux发行商会启用它或必须发布它,它纯粹是一个WSL2管道。我并不是说我很乐意看到它出现在树中,因为我并没有看到上游维护它的价值,但它可能只应该存在于驱动程序/hyperv类型的区域中。”

Dxgkrnl是一个全新的Linux内核驱动程序,它将/dev/dxgdevice暴露给用户模式Linux。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时候联系我们修改或删除,多谢