Microsoft dodaja podporo DirectX distribucijam Linuxa, ki se izvajajo v okolju WSL 2. Sprememba začne veljati s prvimi gradnjami 21H1 iz podružnice Iron (Fe) v Fast Ringu, ki naj bi prišle letos junija.
Oglas
kako uporabljati mode v minecraftu
Microsoft je uvajanje Windows Display Driver Model različice 2.9, WDDMv2.9, ki bo pospešil GPU do WSL 2. Da bi to omogočili, je na strani WSL poseben modul jedra Linuxa,dxgkrnl
.
dxgkrnl
Dxgkrnl je povsem nov gonilnik jedra za Linux, ki razkriva / dev / dxg naprava v uporabniški način Linux. / dev / dxg izpostavi nabor IOCTL, ki natančno posnema izvorno plast storitve jedra WDDM D3DKMT v sistemu Windows Dxgkrnl znotraj jedra Linuxa se prek vodila VM poveže s svojim velikim bratom na gostitelju Windows in to povezavo vodila VM uporablja za komunikacijo s fizičnim grafičnim procesorjem.
Če ima gostitelj več grafičnih procesorjev, so vsi grafični procesorji projicirani in na voljo okolju Linux (ob predpostavki, da imajo vsi ti grafični procesorji gonilnike WDDMv2.9).
Microsoft trdi, da arhitektura ne bo omejevala ali motila delovanja aplikacij WSL, viri GPU pa si bodo pravilno delili med aplikacijami Windows, ki se izvajajo skupaj z Linux GUI in konzolnimi aplikacijami, ki uporabljajo DirectX.
Izdaja Dxgkrnl Linux je odprtokodna.
trzanje lahko vidite, kdo gleda
DxCore in D3D12 v Linuxu
Ta projekt prinaša celotni API D3D12 v Linux brez imitacij. Ibd3d12.so je sestavljen iz iste izvorne kode kot d3d12.dll v sistemu Windows, vendar za cilj Linux. Ponuja enako raven funkcionalnosti in zmogljivosti (minus stroški virtualizacije). Edina izjema je Present (). Trenutno ni integracije predstavitev z WSL, saj je WSL danes samo izkušnja konzole. API D3D12 se lahko uporablja za upodabljanje in računanje zunaj zaslona, vendar ni podpore za zamenjavo verig za kopiranje slikovnih pik neposredno na zaslon.
DxCore (libdxcore.so) je poenostavljena različica dxgi, kjer so starejše vidike API-ja zamenjale sodobne različice. DxCore je na voljo v sistemih Windows in Linux. DxCore se uporablja tudi za gostovanje pavšalne različice API-ja D3DKMT, ki jo uporablja gonilnik, ki temelji na WDDM v sistemu Windows, za pogovor z GPU. Ta API povzema razlike v tem, kako se različne storitve WDDM preusmerijo v jedro (tabela storitev v sistemu Windows v primerjavi z IOCTL v sistemu Linux).
libd3d12.so in libdxcore.so sta zaprtokodna, vnaprej pripravljena binarna datoteka uporabniškega načina, ki sta na voljo kot del sistema Windows. Te binarne datoteke so združljive z distribucijskimi programi na osnovi glibc in se samodejno namestijo pod/ usr / lib / wsl / libin je viden nakladalcu. Z drugimi besedami, ti API-ji delujejo takoj, ne da bi morali namestiti dodatne pakete ali prilagoditi konfiguracijo distribucijskega sistema. Podpora je trenutno omejena na distribucije na osnovi glibc, ki vključujejo Ubuntu, Debian, Fedora, Centos, SUSE itd.
D3D12 ne bi mogel delovati brez gonilnika za uporabniški način (UMD) GPU, ki ga nudijo proizvajalci GPU. UMD je odgovoren za stvari, kot je sestavljanje senčnikov na bajtno kodo, specifično za strojno opremo, in prevajanje zahtev za upodabljanje API-ja v dejanska navodila GPU v ukaznih vmesnih pomnilnikih, ki jih mora izvršiti GPU. Paket gostiteljskih gonilnikov je nameščen znotraj WSL na / usr / lib / wsl / drivers in je neposredno dostopen API-ju d3d12. Spet je potreben gonilnik WDDM 2.9.
Microsoft si prizadeva tudi za pospeševanje GPU za OpenGL, OpenCL in Vulkan v WSL prek knjižnice Mesa.
lahko obnovite izbrisana besedila
Podpora za DxCore, D3D12, DirectML in NVIDIA CUDA prihaja do Windows Insider Kmalu hitra gradnja. Hitri obroč je trenutno na Mangan (Mn) Podružnica OS. Hitri obroč naj bi prešel na novegaŽelezna (Fe) veja
proti poznemu delu junija, ki bo to novo funkcionalnost izpostavil Insiderjem.