Windows Tips & News

WSL ще получи поддръжка на DirectX в Linux с компилации 21H1

click fraud protection

Microsoft добавя поддръжка на DirectX към Linux дистрибуции, работещи в WSL 2 среда. Промяната влиза в сила с първите версии на 21H1 от клона Iron (Fe) в Fast Ring, които се очаква да дойдат през юни.

Microsoft е въвеждащ Модел на драйвер за дисплей на Windows версия 2.9, WDDMv2.9, който ще донесе ускорение на GPU до WSL 2. За да стане възможно, има специален модул на ядрото на Linux от страната на WSL, dxgkrnl.

dxgkrnl

Dxgkrnl е чисто нов драйвер на ядрото за Linux, който разкрива /dev/dxg устройство към потребителски режим Linux. /dev/dxg разкрива набор от IOCTL, които точно имитират собствения слой на услугата на ядрото WDDM D3DKMT в Windows. Dxgkrnl вътре в ядрото на Linux се свързва през VM Bus със своя по-голям брат на хоста на Windows и използва тази връзка с VM шина за комуникация с физическия GPU.

Ако хостът има множество графични процесори, всички графични процесори се проектират и са достъпни за средата на Linux (ако приемем, че всички тези графични процесори работят с WDDMv2.9 драйвери).

Microsoft твърди, че архитектурата няма да ограничава или пречи на производителността на WSL приложения и GPU ресурси ще бъдат правилно споделени между приложенията на Windows, работещи заедно с Linux GUI и конзолните приложения, които използват DirectX.

Dxgkrnl Linux изданието се прави с отворен код.

DxCore & D3D12 на Linux

Този проект носи пълен D3D12 API за Linux без imitations.ibd3d12.so е компилиран от същия изходен код като d3d12.dll в Windows, но за цел на Linux. Той предлага същото ниво на функционалност и производителност (минус режийни разходи за виртуализация). Единственото изключение е Present(). Понастоящем няма интеграция на презентация с WSL, тъй като днес WSL е само конзолно изживяване. D3D12 API може да се използва за изобразяване и изчисление извън екрана, но няма поддръжка на суапчейн за копиране на пиксели директно на екрана.

DxCore (libdxcore.so) е опростена версия на dxgi, където наследените аспекти на API са заменени от съвременни версии. DxCore е достъпен както за Windows, така и за Linux. DxCore също се използва за хостване на плоска версия на D3DKMT API, използвана от WDDM базиран драйвер на Windows за разговор с графичния процесор. Този API абстрахира разликите в начина, по който различните WDDM услуги си проправят път към ядрото (таблица на услугите в Windows срещу IOCTL в Linux).

libd3d12.so и libdxcore.so са с затворен код, предварително компилирани двоични файлове в потребителски режим, които се доставят като част от Windows. Тези двоични файлове са съвместими с базирани на glibc дистрибуции и се монтират автоматично под /usr/lib/wsl/lib и е видимо за товарача. С други думи, тези API работят директно от кутията, без да е необходимо да инсталирате допълнителни пакети или да променяте конфигурацията на дистрибуцията. Понастоящем поддръжката е ограничена до базирани на glibc дистрибуции, включително Ubuntu, Debian, Fedora, Centos, SUSE и т.н.

D3D12 не би могъл да работи без драйвер за специфичен потребителски режим на GPU (UMD), предоставен от партньорите производители на графични процесори. UMD е отговорен за неща като компилиране на шейдъри в хардуерен байтов код и превеждане на заявките за изобразяване на API в действителни инструкции на GPU в командните буфери, които да бъдат изпълнени графичния процесор. Пакетът с драйвери за хост е монтиран вътре в WSL в /usr/lib/wsl/drivers и е директно достъпен до API на d3d12. Отново е необходим драйвер за WDDM 2.9.

Microsoft също работи върху въвеждането на GPU ускорение за OpenGL, OpenCL и Vulkan в WSL чрез библиотеката Mesa.


Поддръжка за DxCore, D3D12, DirectML и NVIDIA CUDA идва при а Windows Insider Бързо изграждане скоро. Бързият пръстен в момента е на манган (Mn) клон на ОС. Очаква се Fast ring да премине към новия Железен (Fe) клон към по-късната част на юни, което ще изложи тази нова функционалност на вътрешни хора.

Microsoft Edge: Поддръжка за Windows Spell Checker в Chromium Engine

Microsoft Edge: Поддръжка за Windows Spell Checker в Chromium Engine

ПРЕПОРЪЧВА: Щракнете тук, за да коригирате проблеми с Windows и да оптимизирате производителностт...

Прочетете още

Добавете изрезка на екрана към лентата на задачите в Windows 10

Добавете изрезка на екрана към лентата на задачите в Windows 10

ПРЕПОРЪЧВА: Щракнете тук, за да коригирате проблеми с Windows и да оптимизирате производителностт...

Прочетете още

Клавишни комбинации за скица на екрана в Windows 10 (бързи клавиши)

Клавишни комбинации за скица на екрана в Windows 10 (бързи клавиши)

ПРЕПОРЪЧВА: Щракнете тук, за да коригирате проблеми с Windows и да оптимизирате производителностт...

Прочетете още