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, которая обеспечивает ускорение графического процессора до WSL 2. Для этого на стороне WSL есть специальный модуль ядра Linux, dxgkrnl.

dxgkrnl

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

Если хост имеет несколько графических процессоров, все графические процессоры проецируются и доступны для среды Linux (при условии, что все эти графические процессоры работают под управлением драйверов WDDMv2.9).

Microsoft утверждает, что архитектура не ограничивает и не влияет на производительность приложений WSL и ресурсов графического процессора. будет должным образом распределяться между приложениями Windows, работающими вместе с графическим интерфейсом Linux, и консольными приложениями, которые используют DirectX.

Версия Dxgkrnl Linux делается с открытым исходным кодом.

DxCore и D3D12 в Linux

Эти проекты приносят в Linux полный API D3D12 без имитаций. Libd3d12.so скомпилирован из того же исходного кода, что и d3d12.dll в Windows, но для целевой платформы Linux. Он предлагает тот же уровень функциональности и производительности (за вычетом накладных расходов на виртуализацию). Единственное исключение - Present (). В настоящее время нет интеграции презентаций с WSL, поскольку сегодня WSL - это только консоль. API D3D12 можно использовать для рендеринга и вычислений за пределами экрана, но нет поддержки цепочки обмена для копирования пикселей прямо на экран.

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 не сможет работать без специального драйвера пользовательского режима графического процессора (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 Скоро быстрая сборка. Быстрое кольцо в настоящее время Марганец (Mn) Ветка ОС. Ожидается, что Fast Ring переключится на новый Железная (Fe) ветвь ближе к концу июня, когда участники ознакомятся с этой новой функциональностью.

Windows 11 получает новый блестящий современный слайдер громкости

Windows 11 получает новый блестящий современный слайдер громкости

Мы уже много чего знаем о грядущей Windows 11. А недавно просочившаяся сборка выявили некоторые с...

Читать далее

Отключите звук при запуске Windows 11 с помощью этих трех методов

Отключите звук при запуске Windows 11 с помощью этих трех методов

Вы можете отключить звук запуска Windows 11 с помощью ряда методов, доступных в новейшей ОС. В эт...

Читать далее

Доступны официальные ISO-образы Windows 10 Build 16296

Доступны официальные ISO-образы Windows 10 Build 16296

Оставьте ответКак вы, возможно, уже знаете, Windows 10 Build 16299.15 был недавно выпущен для мед...

Читать далее