Microsoft реализует в WSL доступ к GPU и запуск графических приложений Linux

Кoмпaния Microsoft oбъявилa o рeaлизaции знaчитeльныx улучшeний в пoдсистeмe WSL (Windows Subsystem for Linux), oбeспeчивaющeй зaпуск испoлняeмыx фaйлoв Linux в Windows: Дoбaвлeнa пoддeржкa зaпускa Linux-прилoжeний с грaфичeским интeрфeйсoм. Пoддeржкa рeaлизoвaнa чeрeз виртуaлизaцию доступа к GPU и доставка драйверов, через которые смогут возиться штатные графические подсистемы дистрибутивов Linux, в томишко числе на базе Wayland. Графические приложения Linux и Windows смогут претворяться бок о бок на рабочем столе Windows. Ради ядра Linux подготовлен открытый программа dxgkrnl, предоставляющий устройство /dev/dxg с сервисами повторяющими WDDM D3DKMT ядра Windows. Linux приложения имеют оный же уровень доступа к GPU, что и родные приложения во (избежание Windows, без применения разделения ресурсов в ряду Windows и Linux. Более того, ради Linux предоставлена библиотека libd3d12.so, предоставляющая настоящий графический API Direct3D 12. Библиотека libd3d12.so собрана с того же кода, что и родная Windows-свершение Direct3D 12 и по функциональности под корень аналогична библиотеке d3d12.dll. В форме библиотеки DxCore (libdxcore.so) равным образом предоставлен упрощённый вариант API DXGI (DirectX Graphics Infrastructure). Библиотеки libd3d12.so и libdxcore.so являются проприетарными и поставляются не более в бинарных сборках (монтируются в в WSL как /usr/lib/wsl/lib), совместимых с Ubuntu, Debian, Fedora, Centos, SUSE и другими дистрибутивами возьми базе Glibc. Поддержка OpenGL в Mesa обеспечена с подачи прослойку, транслирующую вызовы в API DirectX 12. Рецепт реализации API Vulkan пока на стадии планирования. Добавлена помощь компьютерных вычислений на видеокартах, которая позволяет использовать до конца аппаратное ускорение для таких задач на правах машинное обучение. На первом этапе в WSL-окружениях бросьте обеспечена поддержка CUDA и DirectML, работающим через API D3D12 (например, в Linux-окружении разрешается запустить TensorFlow с бэкендом для DirectML). Сохранение OpenCL возможна через прослойку, выполняющую маппинг вызовов в API DirectX 12. Блок WSL вскоре будет поддерживаться с помощью будничный команды "wsl.exe --install". Для явного выбора версии WSL необходимо использовать команду "wsl.exe --set-version дистрибутив издание_WSL". WSL2 отличается поставкой полноценного ядра Linux смену) эмулятора, транслирующего системные вызовы Linux в системные вызовы Windows. Обкладка WSL2 выполняется в отдельном дисковом образе (VHD) c файловой системой ext4 и виртуальным сетевым адаптером. Косточка Linux в WSL2 не будет входить в целевой образ Windows, а будет загружаться подвижно и поддерживаться в актуальном виде силами Windows до аналогии с тем, как устанавливаются и обновляются графические драйверы. Пользу кого установки и обновления ядра будет прилагаться штатный механизм Windows Update. Предлагаемое угоду кому) WSL2 ядро основано на выпуске ядра Linux 4.19, кто выполняется в окружении Windows при помощи виртуальной аппаратура, уже задействованной в Azure. Применяемые в ядре специфичные с целью WSL2 патчи включают оптимизации для сокращения времени запуска ядра, уменьшения потребления памяти, возвращения Windows освобождённой Linux-процессами памяти, оставления в ядре минимально необходимого набора драйверов и подсистем. Соффиона: http://www.opennet.ru/opennews/art.shtml?num=52985