„Microsoft“ prideda „DirectX“ palaikymą prie „Linux“ distrofų, veikiančių WSL 2 aplinkoje. Pokyčiai įsigalioja, kai pirmieji „21H1“ statomi iš greito žiedo geležies (Fe) šakos, kurie turėtų įvykti šį birželį.
Reklama
„Samsung“ išmaniosios televizijos „pluto“ televizorius
„Microsoft“ yra įvedant „Windows Display Driver Model 2.9“ versija, WDDMv2.9, kuri pagreitins GPU į WSL 2. Kad tai būtų įmanoma, WSL pusėje yra specialus „Linux“ branduolio modulis,dxgkrnl
.
dxgkrnl
„Dxgkrnl“ yra visiškai naujas „Linux“ branduolio tvarkyklė, kuri atskleidžia / dev / dxg įrenginį į vartotojo režimą „Linux“. / dev / dxg atskleidžia IOCTL rinkinį, kuris tiksliai imituoja „Windows“ WDDM D3DKMT branduolio paslaugų sluoksnį. „Linux“ branduolio viduje esantis „Dxgkrnl“ jungiasi per VM magistralę su didžiuoju broliu „Windows“ pagrindiniame kompiuteryje ir naudoja šį VM magistralės ryšį, kad galėtų bendrauti su fiziniu GPU.
Jei pagrindiniame kompiuteryje yra keli GPU, visi GPU yra numatomi ir prieinami „Linux“ aplinkai (darant prielaidą, kad visi šie GPU veikia WDDMv2.9 tvarkykles).
„Microsoft“ teigia, kad architektūra neapribos ir netrukdys WSL programų veikimo, o GPU ištekliai bus tinkamai bendrinami tarp „Windows“ programų, veikiančių kartu su „Linux“ GUI, ir konsolės programomis, naudojančiomis „DirectX“.
„Dxgkrnl Linux“ leidimas daromas atviru kodu.
sinchronizuoti saldainių sutraiškymą tarp „Android“ įrenginių
„DxCore“ ir „D3D12“ sistemoje „Linux“
Šie projektai atneša visą „D3D12“ API prie „Linux“ be imitations.ibd3d12.so yra sudarytas iš to paties šaltinio kodo kaip „d3d12.dll“ sistemoje „Windows“, bet skirtas „Linux“ taikiniui. Jis siūlo tą patį funkcionalumo ir našumo lygį (atėmus virtualizavimo pridėtines išlaidas). Vienintelė išimtis yra „Present“ (). Šiuo metu nėra integracijos pristatymų su WSL, nes WSL šiandien yra tik konsolės patirtis. D3D12 API gali būti naudojama atvaizdavimui ekrane ir skaičiavimams, tačiau nėra jokių „swapchain“ palaikymo funkcijų, skirtų pikseliams nukopijuoti tiesiai į ekraną.
„DxCore“ (libdxcore.so) yra supaprastinta „dxgi“ versija, kurioje seni API aspektai buvo pakeisti moderniomis. „DxCore“ yra tiek „Windows“, tiek „Linux“. „DxCore“ taip pat naudojamas talpinant plokščią D3DKMT API versiją, kurią naudoja „WDDM“ tvarkyklė sistemoje „Windows“, kad galėtų kalbėtis su GPU. Ši API apibendrina skirtumus, kaip įvairios WDDM paslaugos patenka į branduolį („Windows“ paslaugų lentelė, palyginti su IOCTL „Linux“).
libd3d12.so ir libdxcore.so yra uždaro kodo, iš anksto sukompiliuoti vartotojo režimo dvejetainiai failai, siunčiami kaip „Windows“ dalis. Šie dvejetainiai failai yra suderinami su „Glibc“ pagrindu veikiančiomis distros ir yra automatiškai montuojami/ usr / lib / wsl / libir padarė matomą krautuvui. Kitaip tariant, šios API veikia tiesiai iš dėžutės, nereikia įdiegti papildomų paketų ar pakoreguoti distro konfigūracijos. Šiuo metu palaikymas teikiamas tik „glibc“ pagrindu veikiančioms problemoms, įskaitant „Ubuntu“, „Debian“, „Fedora“, „Centos“, SUSE ir kt.
D3D12 negalėtų veikti be GPU specifinio vartotojo režimo tvarkyklės (UMD), kurią teikia GPU gamintojo partneriai. UMD yra atsakingas už tokius dalykus kaip šešėlių kompiliavimas į aparatūros specifinį baito kodą ir API atvaizdavimo užklausų pavertimas faktinėmis GPU instrukcijomis komandų buferiuose, kuriuos turi įvykdyti GPU. Prieglobos tvarkyklės paketas yra sumontuotas WSL viduje / usr / lib / wsl / drivers ir yra tiesiogiai prieinamas d3d12 API. Vėlgi reikalinga WDDM 2.9 tvarkyklė.
„Microsoft“ taip pat stengiasi per „Mesa“ biblioteką pagreitinti WSL „OpenGL“, „OpenCL“ ir „Vulkan“ GPU pagreitį.
kaip sužinoti, ar buvai užblokuotas feisbuke
Palaikymas „DxCore“, D3D12, „DirectML“ ir „NVIDIA CUDA“ ateina į a „Windows Insider“ Greitai sukurta. Greitasis žiedas šiuo metu yra Manganas (Mn) OS filialas. Tikimasi, kad „Fast ring“ persijungs į naująGeležies (Fe) šaka
link vėlesnės birželio dalies, kuri atskleis šią naują funkciją saviškiams.