ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ 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
