Windows Tips & News

WSL får DirectX-støtte i Linux med 21H1-bygg

Microsoft legger til DirectX-støtte til Linux-distros som kjører i et WSL 2-miljø. Endringen går live med de første 21H1-byggene fra Iron (Fe)-grenen i Fast Ring, som forventes å komme i juni.

Microsoft er introduserer Windows Display Driver Model versjon 2.9, WDDMv2.9, som vil bringe GPU-akselerasjon til WSL 2. For å gjøre det mulig er det en spesiell Linux-kjernemodul på WSLs side, dxgkrnl.

dxgkrnl

Dxgkrnl er en helt ny kjernedriver for Linux som avslører /dev/dxg enhet til brukermodus Linux. /dev/dxg avslører et sett med IOCTL som tett etterligner det opprinnelige WDDM D3DKMT-kjernetjenestelaget på Windows. Dxgkrnl inne i Linux-kjernen kobles over VM-bussen til sin storebror på Windows-verten og bruker denne VM-bussforbindelsen til å kommunisere med den fysiske GPUen.

Hvis verten har flere GPUer, projiseres alle GPUer og er tilgjengelige for Linux-miljøet (forutsatt at alle disse GPUene kjører WDDMv2.9-drivere).

Microsoft hevder at arkitekturen ikke vil begrense eller forstyrre ytelsen til WSL-apper og GPU-ressurser deles riktig mellom Windows-apper som kjører sammen med Linux GUI og konsollapper som bruker DirectX.

Dxgkrnl Linux-utgaven blir gjort åpen kildekode.

DxCore & D3D12 på Linux

Dette prosjektet bringer full D3D12 API til Linux uten imitasjoner.ibd3d12.so er kompilert fra samme kildekode som d3d12.dll på Windows, men for et Linux-mål. Den tilbyr samme nivå av funksjonalitet og ytelse (minus virtualiseringskostnader). Det eneste unntaket er Present(). Det er for øyeblikket ingen presentasjonsintegrasjon med WSL, da WSL er en konsollopplevelse i dag. D3D12 API kan brukes til offscreen-gjengivelse og databehandling, men det er ingen swapchain-støtte for å kopiere piksler direkte til skjermen.

DxCore (libdxcore.so) er en forenklet versjon av dxgi der eldre aspekter av API er erstattet av moderne versjoner. DxCore er tilgjengelig på både Windows og Linux. DxCore brukes også til å være vert for en flat versjon av D3DKMT API brukt av en WDDM-basert driver på Windows for å snakke med GPU. Denne API abstraherer forskjellene i hvordan de ulike WDDM-tjenestene tar seg til kjernen (servicetabell på Windows versus IOCTL på Linux).

libd3d12.so og libdxcore.so er lukket kildekode, forhåndskompilerte brukermodusbinærfiler som leveres som en del av Windows. Disse binærfilene er kompatible med glibc-baserte distroer og monteres automatisk under /usr/lib/wsl/lib og gjort synlig for lasteren. Med andre ord, disse API-ene fungerer rett ut av esken uten å måtte installere flere pakker eller justere distroens konfigurasjon. Støtte er for øyeblikket begrenset til glibc-baserte distroer inkludert Ubuntu, Debian, Fedora, Centos, SUSE og så videre.

D3D12 ville ikke kunne fungere uten en GPU-spesifikk brukermodusdriver (UMD) levert av GPU-produsentens partnere. UMD er ansvarlig for ting som å kompilere shaders til maskinvarespesifikk bytekode og oversette API-gjengivelsesforespørsler til faktiske GPU-instruksjoner i kommandobuffere som skal utføres av GPUen. Vertsdriverpakken er montert inne i WSL på /usr/lib/wsl/drivers og direkte tilgjengelig for d3d12 API. Igjen kreves WDDM 2.9-driver.

Microsoft jobber også med å bringe GPU-akselerasjon for OpenGL, OpenCL og Vulkan i WSL gjennom Mesa-biblioteket.


Støtte for DxCore, D3D12, DirectML og NVIDIA CUDA kommer til en Windows Insider Rask bygging snart. Fast-ringen er for øyeblikket på Mangan (Mn) OS-gren. Fast-ringen forventes å bytte over til den nye Jern (Fe) gren mot den senere delen av juni, som vil avsløre denne nye funksjonaliteten for Insiders.

Last ned nye låseskjermbakgrunner fra Windows 10 build 10558

Last ned nye låseskjermbakgrunner fra Windows 10 build 10558

ANBEFALT: Klikk her for å fikse Windows-problemer og optimalisere systemytelsenWindows 10 build 1...

Les mer

Legg til utklippstavlehistorikk kontekstmeny i Windows 10

Legg til utklippstavlehistorikk kontekstmeny i Windows 10

Nylige versjoner av Windows 10 kommer med en ny funksjon for utklippstavlehistorikk. Den implemen...

Les mer

Google Chrome blokkerer alle annonser på nettsteder med "fornærmende" annonser

Google Chrome blokkerer alle annonser på nettsteder med "fornærmende" annonser

ANBEFALT: Klikk her for å fikse Windows-problemer og optimalisere systemytelsenFra og med desembe...

Les mer