Microsoft voegt DirectX-ondersteuning toe aan Linux-distributies die in een WSL 2-omgeving draaien. De verandering gaat live met de eerste 21H1-builds van de Iron (Fe) -tak in de Fast Ring, die naar verwachting in juni zullen plaatsvinden.
Advertentie
hoe de invoer op insignia tv te wijzigen
Microsoft is introduceren Windows Display Driver Model versie 2.9, WDDMv2.9, die GPU-versnelling naar WSL 2 zal brengen. Om dit mogelijk te maken, is er een speciale Linux-kernelmodule aan de kant van WSL,dxgkrnl
.
dxgkrnl
Dxgkrnl is een gloednieuwe kerneldriver voor Linux die de / dev / dxg apparaat naar gebruikersmodus Linux. / dev / dxg stelt een set IOCTL bloot die de native WDDM D3DKMT-kernelservicelaag op Windows nauw nabootst. Dxgkrnl in de Linux-kernel maakt via de VM-bus verbinding met zijn grote broer op de Windows-host en gebruikt deze VM-busverbinding om te communiceren met de fysieke GPU.
Als de host meerdere GPU's heeft, worden alle GPU's geprojecteerd en zijn ze beschikbaar voor de Linux-omgeving (ervan uitgaande dat al deze GPU's WDDMv2.9-stuurprogramma's uitvoeren).
Microsoft beweert dat de architectuur de prestaties van WSL-apps niet zal beperken of verstoren, en GPU-bronnen zullen correct worden gedeeld tussen Windows-apps die naast de Linux GUI worden uitgevoerd en console-apps die DirectX gebruiken.
Dxgkrnl Linux-editie wordt open source gemaakt.
hoe iPhone-hotspot aan te zetten
DxCore & D3D12 op Linux
Dit project brengt de volledige D3D12 API naar Linux zonder imitaties. Ibd3d12.so is gecompileerd vanuit dezelfde broncode als d3d12.dll op Windows, maar voor een Linux-doel. Het biedt hetzelfde niveau van functionaliteit en prestatie (minus virtualisatie-overhead). De enige uitzondering is Present (). Er is momenteel geen presentatie-integratie met WSL, aangezien WSL tegenwoordig alleen een console-ervaring is. De D3D12 API kan worden gebruikt voor offscreen rendering en compute, maar er is geen swapchain-ondersteuning om pixels rechtstreeks naar het scherm te kopiëren.
DxCore (libdxcore.so) is een vereenvoudigde versie van dxgi waarbij oude aspecten van de API zijn vervangen door moderne versies. DxCore is beschikbaar op zowel Windows als Linux. DxCore wordt ook gebruikt om een platte versie van de D3DKMT API te hosten die wordt gebruikt door een op WDDM gebaseerd stuurprogramma op Windows om met de GPU te praten. Deze API vat de verschillen samen in hoe de verschillende WDDM-services hun weg vinden naar de kernel (servicetabel op Windows versus IOCTL op Linux).
libd3d12.so en libdxcore.so zijn closed source, voorgecompileerde binaire bestanden in gebruikersmodus die worden geleverd als onderdeel van Windows. Deze binaire bestanden zijn compatibel met op glibc gebaseerde distro's en worden automatisch onder gemonteerd/ usr / lib / wsl / liben zichtbaar gemaakt voor de lader. Met andere woorden, deze API's werken direct uit de doos zonder dat u extra pakketten hoeft te installeren of de configuratie van de distro hoeft aan te passen. Ondersteuning is momenteel beperkt tot op glibc gebaseerde distributies, waaronder Ubuntu, Debian, Fedora, Centos, SUSE, enzovoort.
De D3D12 zou niet kunnen werken zonder een GPU-specifiek stuurprogramma voor gebruikersmodus (UMD) dat wordt geleverd door GPU-fabrikantpartners. De UMD is verantwoordelijk voor zaken als het compileren van shaders naar hardwarespecifieke bytecode en het vertalen van API-renderingverzoeken naar daadwerkelijke GPU-instructies in opdrachtbuffers die door de GPU moeten worden uitgevoerd. Het hoststuurprogrammapakket is in WSL gemount op / usr / lib / wsl / drivers en is direct toegankelijk voor de d3d12 API. Opnieuw is de WDDM 2.9-driver vereist.
Microsoft werkt ook aan het brengen van GPU-versnelling voor OpenGL, OpenCL en Vulkan in WSL via de Mesa-bibliotheek.
hoe onedrive-account op Windows 10 te wijzigen
Ondersteuning voor DxCore, D3D12, DirectML en NVIDIA CUDA komt naar een Windows Insider Snel gebouwd. De snelle ring is momenteel op de Mangaan (Mn) OS-tak. De snelle ring zal naar verwachting overschakelen naar de nieuweIJzer (Fe) tak
in de richting van het laatste deel van juni, waar deze nieuwe functionaliteit aan Insiders zal worden onthuld.