Компания 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 и събрана от същия код, който се използва в Windows библиотеката d3d12.dll. Във формата на библиотеката 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
