Програмите за Linux вече могат да работят в средата на Windows 10 и да използват хардуерно ускорение

16
2774

По време на събитието Microsoft Build 2020 софтуерният гигант представи значителни подобрения в подсистемата WSL (Windows Subsystem for Linux), която вече поддържа стартирането на изпълнимите Linux файлове в средата на операционната система Windows 10. Навярно идеята е разработчиците да могат да тестват своите програми директно от компютър под управлението на Windows 10.

  • Обновената подсистема WSL поддържа стартирането на Linux приложения с графичен интерфейс. Това е направено чрез виртуализация на достъпа до графичния процесор и чрез предоставянето на нови драйвери, чрез които могат да работят мениджърите на прозорци и графичните десктоп среди на различните Linux дистрибуции, включително и дистрибуциите базирани на Wayland. Поддържа се хардуерното ускорение на видеокартите, а графичните приложения за Linux и Windows могат да работят буквално рамо до рамо
  • За Linux ядрото е предложен отвореният драйвер dxgkrnl, създаващ и предоставящ устройството /dev/dxg с услуги повтарящи WDDM D3DKMT на Windows ядрото. Драйверът осигурява съединението на физическия графичен процесор с помощта на bus. Linux приложенията имат същото ниво на достъп до GPU, какъвто имат и родните приложения на Windows, при това без да има разделяне на ресурсите между Windows и Linux
  • Освен това, за Linux е предоставена библиотеката libd3d12.so, предоставяща пълноценен графичен API Direct3D 12. Тази библиотека използва същия код, както и родната 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

  • Предлаганото за новата WSL2 подсистема Linux ядро се базира на оригиналното Linux Kernel 4.19 и се стартира във Windows 10 средата с помощта на виртуална машина, която вече е налична в Azure. Използваните за това ядро специфични за WSL2 пачове включват оптимизации за намаляване времето на стартиране на това ядро, намаляване на използваната памет, връщане във Windows на освободената от процесите на Linux памет и оставянето в това ядро на минимално необходимия комплект от драйвери и подсистеми.
0 0 глас
Оценете статията
Абонирай се
Извести ме за
guest
16 Коментара
стари
нови оценка
Отзиви
Всички коментари