Blackwell Vulkan driver missing WaveSize 16 support that Windows D3D12 driver provides

The NVIDIA Vulkan driver on Blackwell GPUs (tested on RTX 5090 and RTX 5080, driver 595.45.04) reports a fixed subgroup size with no flexibility:

minSubgroupSize = 32
maxSubgroupSize = 32

Previous generation Ada Lovelace GPUs reported minSubgroupSize = 16, allowing shaders requesting subgroup size 16 to compile successfully.

This causes a concrete problem for D3D12 games running on Linux through Proton (vkd3d-proton). Games with compute shaders that specify [WaveSize(16)] fail pipeline creation because vkd3d-proton validates the requested wave size against what the Vulkan driver reports:

d3d12_device_validate_shader_meta: Required WaveSize range [16, 16], but supported range is [32, 32].
d3d12_pipeline_state_init_compute: Failed to create Vulkan compute pipeline, hr 0x80070057.

These same games work on Windows with Blackwell GPUs, meaning the Windows D3D12 driver handles WaveSize 16 (presumably by running at warp 32 with lane masking or similar emulation). The capability exists in NVIDIA’s driver stack — it’s just not exposed through the Vulkan interface on Blackwell.

This is a regression from Ada Lovelace behavior and affects any D3D12 game using WaveSize 16 compute shaders when running through Vulkan-based translation layers.

Reproduction:

  1. Any Blackwell GPU (RTX 5070/5080/5090)
  2. Run a D3D12 game with WaveSize 16 compute shaders through Proton/vkd3d-proton (e.g., Romeo Is A Dead Man / AppID 3050900)
  3. Compute pipeline creation fails, causing rendering corruption or crashes

Verification:

vulkaninfo | grep minSubgroupSize
  • Blackwell: minSubgroupSize = 32
  • Ada Lovelace: minSubgroupSize = 16

Request:

Expose minSubgroupSize = 16 on Blackwell GPUs in the Vulkan driver, consistent with the Windows D3D12 driver’s WaveSize 16 support and with Ada Lovelace Vulkan behavior.

Related:

System info:

  • GPUs: RTX 5090 + RTX 5080
  • Driver: 595.45.04
  • OS: CachyOS (Arch-based), kernel 6.19.9-1-cachyos
  • Proton: GE-Proton10-33 / proton-cachyos-slr 10.0
  • vkd3d-proton: 2.7.1 (bundled with Proton)

This seems to be a big potential issue.

CC: @aplattner @amrits

Thanks @markmann447 and @morgwai666 for helping raise the awareness of this issue! I’m available to provide additional information if that would be useful.

I don’t appreciate the personal attacks. If something I wrote is technically wrong, I welcome corrections - assuming that information is delivered in a professional manner and respectful tone. Do better in the future.

Hi @cjkaminski

I have filed a bug 6172212 internally for tracking purpose. Shall share further update when engineering feedback is available.

Not him, but thank you very much.

Thank you. I look forward to learning about their findings. Please let me know if you need any additional information.