Windows Tips & News

WSL krijgt DirectX-ondersteuning in Linux met 21H1-builds

click fraud protection

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 komen.

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 onthult een set IOCTL die de native WDDM D3DKMT-kernelservicelaag op Windows nauw nabootst. Dxgkrnl in de Linux-kernel maakt verbinding via de VM-bus 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 beschikbaar voor de Linux-omgeving (ervan uitgaande dat al deze GPU's WDDMv2.9-stuurprogramma's gebruiken).

Microsoft beweert dat de architectuur de prestaties van WSL-apps en GPU-bronnen niet zal beperken of verstoren wordt correct gedeeld tussen Windows-apps die worden uitgevoerd naast de Linux GUI en console-apps die gebruikmaken van DirectX.

Dxgkrnl Linux-editie wordt open source gemaakt.

DxCore & D3D12 op Linux

Dit project brengt volledige D3D12 API naar Linux zonder imitations.ibd3d12.so is gecompileerd uit dezelfde broncode als d3d12.dll op Windows, maar voor een Linux-doel. Het biedt hetzelfde niveau van functionaliteit en prestaties (minus virtualisatie-overhead). De enige uitzondering is Present(). Er is momenteel geen integratie van presentaties met WSL, aangezien WSL vandaag alleen een console-ervaring is. De D3D12-API kan worden gebruikt voor weergave en rekenkracht buiten het scherm, maar er is geen ondersteuning voor swapchain om pixels rechtstreeks naar het scherm te kopiëren.

DxCore (libdxcore.so) is een vereenvoudigde versie van dxgi waarbij oudere 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 door een op WDDM gebaseerd stuurprogramma op Windows wordt gebruikt om met de GPU te praten. Deze API abstraheert de verschillen 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, vooraf gecompileerde binaire bestanden in de gebruikersmodus die als onderdeel van Windows worden geleverd. Deze binaire bestanden zijn compatibel met op glibc gebaseerde distributies en worden automatisch onder /usr/lib/wsl/lib en 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.

D3D12 zou niet kunnen werken zonder een GPU-specifieke gebruikersmodusstuurprogramma (UMD) 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 moeten worden uitgevoerd door de gpu. Het hoststuurprogrammapakket is in WSL aangekoppeld op /usr/lib/wsl/drivers en is direct toegankelijk voor de d3d12 API. Opnieuw is een WDDM 2.9-stuurprogramma vereist.

Microsoft werkt ook aan het brengen van GPU-versnelling voor OpenGL, OpenCL en Vulkan in WSL via de Mesa-bibliotheek.


Ondersteuning voor DxCore, D3D12, DirectML en NVIDIA CUDA komt naar een Windows Insider Snel bouwen binnenkort. De Fast ring is momenteel op de Mangaan (Mn) OS-tak. De Fast ring zal naar verwachting overschakelen naar de nieuwe IJzer (Fe) tak tegen het einde van juni, die deze nieuwe functionaliteit aan Insiders zal onthullen.

Download grote en kleine themapakketten-archieven

Deze website maakt gebruik van cookies om uw ervaring te verbeteren terwijl u door de website nav...

Lees verder

MS Office voor iOS-functies Verbeterde ondersteuning voor inkten

MS Office voor iOS-functies Verbeterde ondersteuning voor inkten

AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliserenZ...

Lees verder

Mappictogram wijzigen in Windows 10

Mappictogram wijzigen in Windows 10

AANBEVOLEN: Klik hier om Windows-problemen op te lossen en de systeemprestaties te optimaliserenI...

Lees verder