ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื’ืจืึทืคื™ืงืก ืกืขืจื•ื•ืขืจ ืื•ืŸ ื’ืคึผื• ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ืŸ WSL

ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ืคื™ืจืžืข ืžื•ื“ื™ืข ื“ืขื ืื•ื™ืฃ ื“ื™ ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื‘ืึทื˜ื™ื™ึทื˜ื™ืง ื™ืžืคึผืจื•ื•ื•ืžืึทื ืฅ ืื™ืŸ ื“ื™ WSL (Windows Subsystem for Linux) ืกืึทื‘ืกื™ืกื˜ืขื, ื•ื•ืึธืก ื™ื ืฉื•ืจื– ื“ื™ ืงืึทื˜ืขืจ ืคื•ืŸ ืœื™ื ื•ืงืก ืขืงืกืขืงื•ื˜ืึทื‘ืœืข ื˜ืขืงืขืก ืื•ื™ืฃ Windows:

  • ืฆื•ื’ืขื’ืขื‘ืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืคืœื™ืกื ื“ื™ืง ืœื™ื ื•ืงืก ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืžื™ื˜ ืึท ื’ืจืึทืคื™ืงืึทืœ ืฆื•ื‘ื™ื ื“, ื™ืœื™ืžืึทื ื™ื™ื˜ื™ื ื’ ื“ื™ ื ื•ื™ื˜ ืฆื• ื ื•ืฆืŸ X ืกืขืจื•ื•ืขืจืก ืคื•ืŸ ืื ื“ืขืจืข ืงืึธืžืคึผืึทื ื™ืขืก. ืฉื˜ื™ืฆืŸ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ื“ื•ืจืš ื’ืคึผื• ืึทืงืกืขืก ื•ื•ื™ืจื˜ื•ืึทืœื™ื–ืึทื˜ื™ืึธืŸ.

    ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื’ืจืึทืคื™ืงืก ืกืขืจื•ื•ืขืจ ืื•ืŸ ื’ืคึผื• ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ืŸ WSL

    ืึทืŸ ืึธืคึฟืŸ ืฉืึธืคืขืจ ืื™ื– ืฆื•ื’ืขื’ืจื™ื™ื˜ ืคึฟืึทืจ ื“ื™ ืœื™ื ื•ืงืก ืงืขืจืŸ ื“ืงืกื’ืงืจื ืœ, ื•ื•ืึธืก ื’ื™ื˜ ื“ื™ /dev/dxg ืžื™ื˜ืœ ืกืขืจื•ื•ื™ืกืขืก ื•ื•ืึธืก ืจืขืคึผืœืึทืงื™ื™ื˜ ื“ื™ WDDM D3DKMT ืคื•ืŸ ื“ื™ Windows ืงืขืจืŸ. ื“ืขืจ ืฉืึธืคืขืจ ื™ืกื˜ืึทื‘ืœื™ืฉื™ื– ืึท ืงืฉืจ ืฆื• ื“ื™ ื’ืฉืžื™ื•ืช ื’ืคึผื• ื ื™ืฆืŸ ื“ื™ VM ื•ื™ื˜ืึธื‘ื•ืก. ืœื™ื ื•ืงืก ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื”ืึธื‘ืŸ ื“ื™ ื–ืขืœื‘ืข ืžื“ืจื’ื” ืคื•ืŸ ื’ืคึผื• ืึทืงืกืขืก ื•ื•ื™ ื’ืขื‘ื•ื™ืจืŸ Windows ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื–, ืึธืŸ ื“ื™ ื ื•ื™ื˜ ืคึฟืึทืจ ืจื™ืกืึธืจืก ื™ื™ึทื ื˜ื™ื™ืœื•ื ื’ ืฆื•ื•ื™ืฉืŸ Windows ืื•ืŸ ืœื™ื ื•ืงืก.

    ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื’ืจืึทืคื™ืงืก ืกืขืจื•ื•ืขืจ ืื•ืŸ ื’ืคึผื• ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ืŸ WSL

    ื“ืขืจืฆื•, ื“ื™ libd3d12.so ื‘ื™ื‘ืœื™ืึธื˜ืขืง ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ืคึฟืึทืจ ืœื™ื ื•ืงืก, ื•ื•ืึธืก ื’ื™ื˜ ื“ื™ืจืขืงื˜ ืึทืงืกืขืก ืฆื• ื“ื™ Direct3D 12 ื’ืจืึทืคื™ืงืก ืึทืคึผื™ ืื•ืŸ ืื™ื– ื’ืขื‘ื•ื™ื˜ ืคึฟื•ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืงืึธื“ ื•ื•ื™ ื“ื™ Windows d3d12.dll ื‘ื™ื‘ืœื™ืึธื˜ืขืง. ื ืกื™ืžืคึผืœืึทืคื™ื™ื“ ื•ื•ืขืจืกื™ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ dxgi API ืื™ื– ืื•ื™ืš ืฆื•ื’ืขืฉื˜ืขืœื˜ ืื™ืŸ ื“ื™ ืคืึธืจืขื ืคื•ืŸ ื“ื™ DxCore ื‘ื™ื‘ืœื™ืึธื˜ืขืง (libdxcore.so). ื“ื™ ืœื™ื™ื‘ืจืขืจื™ื– libd3d12.so ืื•ืŸ libdxcore.so ื–ืขื ืขืŸ ืคึผืจืึทืคึผืจื™ื™ืึทื˜ืขืจื™ ืื•ืŸ ื–ืขื ืขืŸ ืกืึทืคึผืœื™ื™ื“ ื‘ืœื•ื™ื– ืื™ืŸ ื‘ื™ื™ื ืขืจื™ ืึทืกืขืžื‘ืœื™ื– (ืžืึธื•ื ื˜ืขื“ ืื™ืŸ /usr/lib/wsl/lib) ืงืึทืžืคึผืึทื˜ืึทื‘ืึทืœ ืžื™ื˜ Ubuntu, Debian, Fedora, Centos, SUSE ืื•ืŸ ืื ื“ืขืจืข ื“ื™ืกื˜ืจื™ื‘ื™ื•ืฉืึทื ื– ื‘ืื–ื™ืจื˜ ืื•ื™ืฃ Glibc.

    ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื’ืจืึทืคื™ืงืก ืกืขืจื•ื•ืขืจ ืื•ืŸ ื’ืคึผื• ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ืŸ WSL

    OpenGL ืฉื˜ื™ืฆืŸ ืื™ืŸ Mesa ืื™ื– ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื™ื ื˜ืขืจืœื™ื™ึทืขืจ, ื•ื•ืึธืก ื˜ืจืึทื ืกืœื™ื™ืฅ ืงืึทืœืœืก ืฆื• ื“ื™ DirectX 12 API. ื“ื™ Vulkan API ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืื•ืคึฟืŸ ืื™ื– ื ืึธืš ืื™ืŸ ื“ื™ ืคึผืœืึทื ื™ืจื•ื ื’ ื‘ื™ื ืข.

    ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื’ืจืึทืคื™ืงืก ืกืขืจื•ื•ืขืจ ืื•ืŸ ื’ืคึผื• ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ืŸ WSL

  • ืฆื•ื’ืขืœื™ื™ื’ื˜ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ ืงืึทืžืคึผื™ื•ื˜ื™ื ื’ ืื•ื™ืฃ ื•ื•ื™ื“ืขื ืงืึทืจื“ืก, ื•ื•ืึธืก ืึทืœืึทื•ื– ืื™ืจ ืฆื• ื ื•ืฆืŸ ื™ื™ึทื–ื ื•ื•ืึทืจื’ ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืคึฟืึทืจ ื˜ืึทืกืงืก ืึทื–ืึท ื•ื•ื™ ืžืึทืฉื™ืŸ ืœืขืจื ืขืŸ ืื•ืŸ ืงื™ื ืกื˜ืœืขืš ืกื™ื™ื›ืœ. ืื™ืŸ ื“ืขืจ ืขืจืฉื˜ืขืจ ื‘ื™ื ืข, WSL ื™ื ื•ื•ื™ื™ืจืึทื ืžืึทื ืฅ ื•ื•ืขื˜ ืฆื•ืฉื˜ืขืœืŸ ืฉื˜ื™ืฆืŸ ืคึฟืึทืจ CUDA ืื•ืŸ ื“ื™ืจืขืงื˜ืžืœ, ืคืœื™ืกื ื“ื™ืง ืื•ื™ืฃ ืฉืคึผื™ืฅ ืคื•ืŸ ื“ื™ D3D12 API (ืœืžืฉืœ, ืื™ืŸ ืึท ืœื™ื ื•ืงืก ืกื•ื•ื™ื•ื•ืข ืื™ืจ ืงืขื ืขืŸ ืœื•ื™ืคืŸ TensorFlow ืžื™ื˜ ืึท ื‘ืึทืงืขื ื“ ืคึฟืึทืจ DirectML). OpenCL ืฉื˜ื™ืฆืŸ ืื™ื– ืžืขื’ืœืขืš ื“ื•ืจืš ืึท ืฉื™ื›ื˜ืข ื•ื•ืึธืก ืคึผืขืจืคืึธืจืžื– ืžืึทืคึผื™ื ื’ ืคื•ืŸ ืงืึทืœืœืก ืฆื• ื“ื™ DX12 API.

    ืžื™ื™ืงืจืึธืกืึธืคึฟื˜ ื™ืžืคึผืœืึทืžืึทื ืฅ ื’ืจืึทืคื™ืงืก ืกืขืจื•ื•ืขืจ ืื•ืŸ ื’ืคึผื• ืึทืงืกืขืœืขืจื™ื™ืฉืึทืŸ ืื™ืŸ WSL

  • WSL ื™ื ืกื˜ืึทืœื™ืจื•ื ื’ ื•ื•ืขื˜ ื‘ืึทืœื“ ื–ื™ื™ืŸ ื’ืขืฉื˜ื™ืฆื˜ ืžื™ื˜ ืึท ืคึผืฉื•ื˜ "wsl.exe --install" ื‘ืึทืคึฟืขืœ.

ืžืงื•ืจ: opennet.ru

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’