Microsoft dodaje obsługę DirectX do dystrybucji Linuksa działających w środowisku WSL 2. Zmiana zostanie wprowadzona wraz z pierwszymi kompilacjami z pierwszej połowy pierwszej połowy z gałęzi Iron (Fe) w Fast Ring, które mają pojawić się w czerwcu br.
Reklama
jak usunąć wszystkie wiadomości głosowe na raz android
Microsoft jest wprowadzenie Windows Display Driver Model w wersji 2.9, WDDMv2.9, który przyniesie akcelerację GPU do WSL 2. Aby było to możliwe, po stronie WSL znajduje się specjalny moduł jądra Linuksa,dxgkrnl
.
dxgkrnl
Dxgkrnl to zupełnie nowy sterownik jądra dla systemu Linux, który udostępnia rozszerzenie / dev / dxg urządzenie w trybie użytkownika Linux. / dev / dxg udostępnia zestaw IOCTL, który ściśle naśladuje natywną warstwę usług jądra WDDM D3DKMT w systemie Windows. Dxgkrnl wewnątrz jądra Linuksa łączy się przez szynę VM ze swoim starszym bratem na hoście Windows i używa tego połączenia szyny VM do komunikacji z fizycznym GPU.
Jeśli host ma wiele procesorów graficznych, wszystkie procesory graficzne są wyświetlane i dostępne dla środowiska Linux (przy założeniu, że wszystkie te procesory graficzne mają sterowniki WDDMv2.9).
Microsoft twierdzi, że architektura nie ogranicza ani nie zakłóca wydajności aplikacji WSL, a zasoby GPU będą odpowiednio współdzielone między aplikacjami Windows działającymi wraz z GUI Linuksa i aplikacjami konsolowymi, które wykorzystują DirectX.
Edycja Dxgkrnl Linux staje się open source.
jak się dowiedzieć, czy ktoś zablokował Cię w aplikacji on-line
DxCore i D3D12 w systemie Linux
Ten projekt przenosi pełne API D3D12 do Linuksa bez imitations.ibd3d12.so jest kompilowane z tego samego kodu źródłowego co d3d12.dll w systemie Windows, ale dla Linux-a. Oferuje ten sam poziom funkcjonalności i wydajności (bez narzutu wirtualizacji). Jedynym wyjątkiem jest Present (). Obecnie nie ma integracji prezentacji z WSL, ponieważ WSL jest obecnie tylko konsolą. Interfejs API D3D12 może być używany do renderowania i obliczeń poza ekranem, ale nie ma obsługi łańcucha wymiany, który umożliwia kopiowanie pikseli bezpośrednio na ekran.
DxCore (libdxcore.so) to uproszczona wersja dxgi, w której starsze aspekty API zostały zastąpione nowoczesnymi wersjami. DxCore jest dostępny zarówno w systemie Windows, jak i Linux. DxCore jest również używany do hostowania płaskiej wersji interfejsu API D3DKMT używanego przez sterownik oparty na WDDM w systemie Windows do komunikacji z GPU. Ten interfejs API wyodrębnia różnice w sposobie, w jaki różne usługi WDDM docierają do jądra (tabela usług w systemie Windows i IOCTL w systemie Linux).
libd3d12.so i libdxcore.so to prekompilowane pliki binarne trybu użytkownika o zamkniętym kodzie źródłowym, które są dostarczane jako część systemu Windows. Te pliki binarne są kompatybilne z dystrybucjami opartymi na glibc i są automatycznie montowane pod/ usr / lib / wsl / libi widoczne dla ładowarki. Innymi słowy, te interfejsy API działają od razu po wyjęciu z pudełka, bez konieczności instalowania dodatkowych pakietów lub modyfikowania konfiguracji dystrybucji. Wsparcie jest obecnie ograniczone do dystrybucji opartych na glibc, w tym Ubuntu, Debian, Fedora, Centos, SUSE i tak dalej.
D3D12 nie mógłby działać bez sterownika trybu użytkownika (UMD) dostarczonego przez partnerów producenta GPU. UMD jest odpowiedzialny za takie rzeczy, jak kompilowanie modułów cieniujących do kodu bajtowego określonego sprzętu i tłumaczenie żądań renderowania API na rzeczywiste instrukcje GPU w buforach poleceń, które mają być wykonywane przez GPU. Pakiet sterownika hosta jest zamontowany wewnątrz WSL w / usr / lib / wsl / drivers i jest bezpośrednio dostępny dla API d3d12. Ponownie wymagany jest sterownik WDDM 2.9.
Microsoft pracuje również nad wprowadzeniem akceleracji GPU dla OpenGL, OpenCL i Vulkan w WSL za pośrednictwem biblioteki Mesa.
Nintendo Switch może grać w gry wii u
Wsparcie dla DxCore, D3D12, DirectML i NVIDIA CUDA zbliża się do Windows Insider Szybka kompilacja wkrótce. Szybki dzwonek jest obecnie włączony Mangan (Mn) Gałąź OS. Oczekuje się, że szybki dzwonek przełączy się na nowyGałąź żelaza (Fe)
pod koniec czerwca, kiedy ta nowa funkcja zostanie ujawniona niejawnym testerom.