Microsoft добавляет поддержку DirectX в дистрибутивы Linux, работающие в среде WSL 2. Изменения вступят в силу с первыми сборками 21H1 из ветки Iron (Fe) в Fast Ring, которые, как ожидается, появятся в июне этого года.
Реклама
как вставить номера страниц в документы Google
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
Эти проекты приносят полный API D3D12 в Linux без имитаций. Libd3d12.so скомпилирован из того же исходного кода, что и d3d12.dll в Windows, но для целевой платформы Linux. Он предлагает тот же уровень функциональности и производительности (за вычетом накладных расходов на виртуализацию). Единственное исключение - Present (). В настоящее время нет интеграции презентаций с WSL, поскольку сегодня WSL - это только консоль. API D3D12 можно использовать для рендеринга и вычислений за пределами экрана, но нет поддержки цепочки обмена для копирования пикселей прямо на экран.
DxCore (libdxcore.so) - это упрощенная версия dxgi, в которой устаревшие аспекты API были заменены современными версиями. DxCore доступен как в Windows, так и в Linux. DxCore также используется для размещения плоской версии API D3DKMT, используемой драйвером на основе WDDM в Windows для взаимодействия с графическим процессором. Этот API абстрагирует различия в том, как различные службы WDDM попадают в ядро (таблица служб в Windows по сравнению с IOCTL в Linux).
libd3d12.so и libdxcore.so - это предварительно скомпилированные двоичные файлы пользовательского режима с закрытым исходным кодом, которые поставляются как часть Windows. Эти двоичные файлы совместимы с дистрибутивами на основе glibc и автоматически монтируются под/ usr / библиотека / WSL / библиотекаи стал видимым для загрузчика. Другими словами, эти API работают прямо из коробки, без необходимости устанавливать дополнительные пакеты или настраивать конфигурацию дистрибутива. В настоящее время поддержка ограничена дистрибутивами на основе glibc, включая Ubuntu, Debian, Fedora, Centos, SUSE и так далее.
D3D12 не сможет работать без специального драйвера пользовательского режима графического процессора (UMD), предоставляемого партнерами-производителями графических процессоров. UMD отвечает за такие вещи, как компиляция шейдеров в аппаратный байтовый код и перевод запросов рендеринга API в фактические инструкции графического процессора в буферах команд, которые должны выполняться графическим процессором. Пакет драйверов хоста монтируется внутри WSL в / usr / lib / wsl / drivers и напрямую доступен для API d3d12. Снова требуется драйвер WDDM 2.9.
Microsoft также работает над ускорением GPU для OpenGL, OpenCL и Vulkan в WSL через библиотеку Mesa.
сохранить сразу все фото из инстаграм

Поддержка DxCore, D3D12, DirectML и NVIDIA CUDA подходит к Программа предварительной оценки Windows Скоро быстрая сборка. Быстрое кольцо в настоящее время Марганец (Mn) Ветка ОС. Ожидается, что быстрое кольцо переключится на новыйЖелезная (Fe) ветвьближе к концу июня, когда участники ознакомятся с этой новой функцией.






