Компания Microsoft за реализиране на значителни в подсистемата WSL (Windows Subsystem for Linux), която осигурява изпълнението на Linux файлове в Windows:
- поддръжка на пускането на Linux приложения с графичен интерфейс, което позволява да се откажем от необходимостта от използване на X-сървъри на трети страни. Поддръжката е реализирана чрез виртуализация на достъпа до GPU.
За ядрото на Linux е подготвен отворен драйвер , предоставящ устройство /dev/dxg с услуги, повтарящи WDDM D3DKMT ядрото на Windows. Драйверът организира свързването с физическия GPU с помощта на VM bus. Linux приложенията имат същото ниво достъп до GPU, както родните приложения за Windows, без използване на разделяне на ресурсите между Windows и Linux.
Нещо повече, за Linux е предоставена библиотека libd3d12.so, която осигурява директен достъп до графичния API Direct3D 12 и е събрана от същия код, който се използва за библиотеката d3d12.dll на Windows. В формата на библиотека DxCore (libdxcore.so) е предоставен и опростен вариант на API dxgi. Библиотеките libd3d12.so и libdxcore.so са собственически и се предоставят само в бинарни сборки (монтират се в /usr/lib/wsl/lib), съвместими с Ubuntu, Debian, Fedora, Centos, SUSE и други дистрибуции на базата на Glibc.
Поддръжката на OpenGL в Mesa е осигурена чрез , която трансформира извикванията в API DirectX 12. Методът за реализация на API Vulkan все още е на етап планиране.
- Добавена е поддръжка за компютърни изчисления на графични карти, което позволява използването на хардуерно ускорение за задачи като машинно обучение и изкуствен интелект. На първия етап в WSL средите ще бъде осигурена поддръжка на CUDA и , работещи над API D3D12 (например, в Linux среда може да се стартира TensorFlow с бекенд за DirectML). Поддръжката на OpenCL е възможна чрез прослойка, която изпълнява мапинг на извикванията в API DX12.
- Инсталирането на WSL скоро ще бъде поддържано с помощта на простата команда „wsl.exe —install“.
Източник: opennet.ru
