WSU GPU, isang pagpapatupad upang magbigay ng access sa mga graphic na aplikasyon ng Linux sa WSL

WSL GUI Apps

Noong nakaraang linggo, ang Inihayag ng mga developer ng Microsoft ang maraming makabuluhang mga pagpapahusay sa ang subsystem WSL (Windows Subsystem para sa Linux), na nagbibigay-daan sa mga aplikasyon ng Linux na tumakbo sa Windows. Bilang Simula sa Windows 10 May Update, ang unang pag-install ng kapaligiran sa Linux gagamitin nito ang WSL2 layer bilang default.

Ang kapaligiran ng WSL2 tumatakbo sa isang imahe ng disk (HDV) ihiwalay sa ext4 filesystem at ang virtual network adapter. Ang kernel ng Linux sa WSL2 Hindi ito isasama sa imahe ng pag-install ng Windows, ngunit palakasin itong mai-load ng Windows at panatilihin ito sa kasalukuyang form, katulad ng kung paano naka-install at na-update ang mga driver ng graphics. Upang mai-install at ma-update ang kernel, gagamitin ang karaniwang mekanismo ng Pag-update ng Windows.

Ang ipinanukalang nucleus para sa Ang WSL2 ay batay sa paglabas ng kernel ng Linux 4.19, tumatakbo sa isang kapaligiran sa Windows gamit ang isang virtual machine na ginagamit na sa Azure.

Ang mga patch na tukoy sa WSL2 na ginamit sa kernel ay may kasamang mga pag-optimize upang mabawasan ang oras ng pagsisimula ng kernel, bawasan ang pagkonsumo ng memorya, ibalik ang Windows sa memorya na napalaya ng mga proseso ng Linux, at iwanan ang minimum na hanay ng mga kinakailangang driver at subsystem sa kernel.

Posible na ngayong magpatakbo ng mga grapikong aplikasyon sa WSL

Bilang karagdagan sa nabanggit na, isa pa sa mga novelty na namumukod-tangi ay ang Paunang suporta para sa mga aplikasyon ng Linux na may isang "WSU GPU" na graphic na interface.

Ang suporta sat nagpapatupad sa pamamagitan ng virtualizing pag-access ng GPU at pagbibigay ng mga driver kung saan maaaring gumana ang regular na mga graphic na subsystem ng mga pamamahagi ng Linux, kasama na ang mga nakabatay sa Wayland. Ang mga aplikasyon ng grapikong Linux at Windows ay maaaring magpatakbo ng magkatabi sa desktop ng Windows.

Ang isang bukas na driver ng dxgkrnl ay inihanda para sa kernel ng Linux, na nagbibigay ng isang / dev / dxg aparato na may mga serbisyo na kinopya ang modelo ng display ng driver ng Windows (WDDM) D3DKMT ng kernel ng Windows. Ang tagapagtaguyod ay nagtataguyod ng isang koneksyon sa pisikal na GPU gamit ang VM bus. Ang mga aplikasyon ng Linux ay may parehong antas ng pag-access ng GPU bilang katutubong mga application ng Windows nang hindi nagbabahagi ng mga mapagkukunan sa pagitan ng Windows at Linux.

Bilang karagdagan, ang librarianisang libd3d12.so ay ibinigay para sa Linux, na nagbibigay ng Direct3D 12 buong graphic na API.

Ang libd3d12.so library ay binuo mula sa parehong code tulad ng katutubong pagpapatupad ng Windows ng Direct3D 12 at ito ay ganap na katulad ng pag-andar sa d3d12.dll library.

alam ko din nagbibigay ng isang pinasimple na bersyon ng DXGI API (DirectX Graphics Infrastructure) sa anyo ng DxCore library (libdxcore.so). Ang libd3d12.so at libdxcore.so mga aklatan ay pagmamay-ari at naihatid lamang sa binary builds (naka-mount sa WSL bilang / usr / lib / wsl / lib), katugma sa Ubuntu, Debian, Fedora, Centos, SUSE at iba pang pamamahagi na batay sa Glibc.

Ang suporta para sa OpenGL sa Mesa ay ibinibigay sa pamamagitan ng isang layer na isinalin ang mga tawag sa DirectX 12. API. Ang pamamaraan upang ipatupad ang Vulkan API ay nasa yugto pa rin ng pagpaplano.

Sa unang yugto, sa mga kapaligiran sa WSL, susuportahan ang CUDA at DirectML, nagtatrabaho sa D3D12 API (halimbawa, sa isang kapaligiran sa Linux, maaari mong patakbuhin ang TensorFlow na may isang backend para sa DirectML). Posible ang suporta ng OpenCL sa pamamagitan ng isang layer na nagsasagawa ng pagmamapa ng tawag sa DirectX 12 API.

Ang Microsoft ay bumubuo ng kanyang pinagsamang manager gamit ang Wayland protocol at batay sa Weston code base. Gumagamit ang pinagsamang manager ng RDP-RAIL (Lokal na Integrated RDP Remote Application) upang ayusin ang output ng interface ng application ng Linux sa pangunahing Windows desktop. Ang RDP-RAIL ay naiiba mula sa backend ng RDP na dating magagamit mula sa Weston na ang pinaghalo ng manager ay hindi nai-render ang desktop mismo, ngunit sa halip ay nagre-redirect ng mga indibidwal na ibabaw (wl_surface) sa pamamagitan ng RDP RAIL channel upang ipakita sa pangunahing desktop ng Windows.

Bilang karagdagan, ang isang pag-install ng WSL na may simpleng wsl.exe –install utos ay malapit nang suportahan.

Panghuli, kung nais mong malaman ang tungkol dito, maaari kang kumunsulta ang mga detalye sa sumusunod na link.