2025/12/13 2 min read
WSL2上では、Vulkanは動くが全て動くわけではない
WSL2では、dzn(Dozen)というMSによるVulkan実装が使える。Arch Linuxでは
sudo pacman -S mesa vulkan-dzn vulkan-icd-loader
とすれば、
vulkaninfo --summary
WARNING: dzn is not a conformant Vulkan implementation, testing use only.
==========
VULKANINFO
==========
Vulkan Instance Version: 1.4.328
Instance Extensions: count = 25
-------------------------------
VK_EXT_acquire_drm_display : extension revision 1
...
Instance Layers: count = 4
--------------------------
...
Devices:
========
GPU0:
apiVersion = 1.2.328
driverVersion = 25.3.1
vendorID = 0x10de
deviceID = 0x2482
deviceType = PHYSICAL_DEVICE_TYPE_DISCRETE_GPU
deviceName = Microsoft Direct3D12 (NVIDIA GeForce RTX 3070 Ti)
driverID = DRIVER_ID_MESA_DOZEN
driverName = Dozen
driverInfo = Mesa 25.3.1-arch1.2
conformanceVersion = 0.0.0.0
...
のようにvukaninfoからGPUが見え、vkcubeも動作する。
のだが、
WARNING: dzn is not a conformant Vulkan implementation, testing use only.
とあるようにdozenは発展途上の実装であり拡張機能のサポートが乏しい。
↑では各実装の拡張機能の実装割合が書かれており、dznは現時点で63で最下位であることがわかる。
これのせいで、動かないものがある。
例えばZedエディタは
のように、VK_EXT_inline_uniform_blockを必要とするため、動作しない。
また、WGPUについても動作させることができなかったため、Rust製のGPUを使う系GUIはllvmpipeなどのCPUエミュレーションでしか動作させることができない。(ただしwgpuはwsl2で動いてそうな記事もあるためよくわからない)