[610.43.02 / RTX 5080] vkCreateDevice returns VK_ERROR_INITIALIZATION_FAILED when cooperativeMatrix feature is enabled - vkCreateDevice()

Summary

On NVIDIA GeForce RTX 5080 (Blackwell) with driver 610.43.02, vkCreateDevice returns VK_ERROR_INITIALIZATION_FAILED when VkPhysicalDeviceCooperativeMatrixFeaturesKHR::
cooperativeMatrix is set to VK_TRUE in the pNext chain; even though vkGetPhysicalDeviceFeatures2 reports cooperativeMatrix = true for this device.

This is a violation of the Vulkan specification, which requires that vkCreateDevice
MUST NOT return VK_ERROR_INITIALIZATION_FAILED when the application requests only
features and extensions reported as available by the driver.

Reproduction

  1. Call vkGetPhysicalDeviceFeatures2 on the RTX 5080 with driver 610.43.02.
    Observe: cooperativeMatrix = VK_TRUE is reported.

  2. Enable VkPhysicalDeviceCooperativeMatrixFeaturesKHR::cooperativeMatrix = VK_TRUE
    in the VkDeviceCreateInfo pNext chain and call vkCreateDevice.

Result: VK_ERROR_INITIALIZATION_FAILED
Expected: VK_SUCCESS (per Vulkan spec §vkCreateDevice)

Evidence of self-contradictory capability advertisement

vulkaninfo on this system reports the following for the RTX 5080:

VkPhysicalDeviceCooperativeMatrixFeaturesKHR:
cooperativeMatrix = true ← feature advertised as supported
cooperativeMatrixRobustBufferAccess = false

VkPhysicalDeviceCooperativeMatrixPropertiesKHR:
cooperativeMatrixSupportedStages: COMPUTE_BIT only (1 stage)

Extensions also advertised: VK_NV_cooperative_matrix2, VK_NV_cooperative_vector

This advertisement is internally inconsistent. Blackwell (SM 10.0) is capable of
cooperative matrix operations across multiple shader stages. The driver simultaneously
advertises only a single supported stage and the advanced Blackwell-exclusive
cooperative matrix extensions VK_NV_cooperative_matrix2 and VK_NV_cooperative_vector,
which presuppose a complete cooperative matrix implementation.

For comparison, the AMD RADV driver on the same system (an APU in the same machine)
reports a coherent cooperative matrix capability set:
cooperativeMatrix = true
cooperativeMatrixRobustBufferAccess = true
cooperativeMatrixSupportedStages: 9 stages (full coverage)

Spec reference

Vulkan 1.3 specification, vkCreateDevice:

“VK_ERROR_INITIALIZATION_FAILED: Initialization of an object could not be completed
for implementation-specific reasons.”

The spec implicitly does not permit this error to be returned when the application has requested
only features that were reported as available. The driver is advertising a feature it
cannot honour when enabled.

Impact

This blocks all Vulkan applications that follow the spec-compliant pattern of
enumerating physical device features and enabling all advertised features, including
games running via Proton/Wine using the VKD3D-Proton D3D12-over-Vulkan translation
layer. Affected titles include 007 First Light (Steam AppID 3768760) and potentially
any D3D12 title that triggers VKD3D-Proton’s device creation path.

The failure cannot be worked around at the application level because the spec
guarantees that enabling an advertised feature must succeed. No VKD3D configuration
flag exists to suppress requesting a driver-advertised feature.

System information

GPU: NVIDIA GeForce RTX 5080 (Blackwell)
Driver: 610.43.02
Kernel: Linux 7.0.10-201.fc44.x86_64 (Fedora 44)
Vulkan API: 1.4.341

Vulkan error log extract

The following is produced by VKD3D-Proton when it attempts vkCreateDevice:

warn: vkd3d_supports_minimum_coopmat_caps: Missing sufficient features to expose WMMA.
warn: vkd3d_create_vk_device: Disabled extensions that can cause Vulkan device
creation to fail, retrying.
err: vkd3d_create_vk_device: Failed to create Vulkan device, vr -3.

Note that VKD3D-Proton’s retry mechanism only strips extensions (VK_NVX_binary_import,
VK_NVX_image_view_handle); it does not alter the feature pNext chain, so the retry
also fails identically.

steam-3768760-protonGE10-34.log (501.1 KB)

vulkaninfo.txt (4.9 KB)

This seems to happen with other games too - e.g. “HITMAN World of Assassination”. Same issue.

Affects both the 610.43.02 and 595.80 driver builds.

same issue with star citizen: Symptom
Star Citizen consistently crashes on launch, immediately after the splash screen, before ever reaching the main menu or the persistent universe. No EAC error window, no install-related issue — the crash happens during renderer initialization.

Exact error in Game.log

[VK_INFO]        Using "NVIDIA GeForce RTX 5080" with driver: "/usr/lib/libGLX_nvidia.so.610.43.03"
[VK_ERROR] terminator_CreateDevice: Failed in ICD /usr/lib/libGLX_nvidia.so.610.43.03 vkCreateDevice call
[VK_ERROR] vkCreateDevice:  Failed to create device chain.
Fatal Error Thrown: [...evice/Vulkan/GPUDeviceVulkan.cpp:825 createDevice] (0xFFFFFFFD) Initialization of an object could not be completed for implementation-specific reasons. Failed to create Vulkan logical device.

Root cause (confirmed)
This is not an EAC issue, not a Wine/Lutris issue, and not a prefix configuration issue. It’s an NVIDIA proprietary driver bug on the 610.x branch affecting Blackwell GPUs (RTX 50 series), already documented on the NVIDIA developer forums:
[610.43.02 / RTX 5080] vkCreateDevice returns VK_ERROR_INITIALIZATION_FAILED when cooperativeMatrix feature is enabled

The driver advertises support for the Vulkan feature VkPhysicalDeviceCooperativeMatrixFeaturesKHR::cooperativeMatrix (vkGetPhysicalDeviceFeatures2 reports it as available), but vkCreateDevice fails as soon as an application actually enables it in the pNext chain — which violates the Vulkan spec (a feature advertised as available must be enable-able without error). Star Citizen, as a spec-compliant Vulkan application, enables this feature since the driver advertises it, and hits the bug directly as a result.

Ruled out during diagnosis

  • Easy Anti-Cheat (no EAC-related trace in logs)
  • Implicit Vulkan layers (MangoHud, Smooth Motion, etc. — tested disabled, no effect)
  • umu/Steam Linux Runtime cache (fully reset, no effect)
  • Linux capabilities/setuid on wine binaries (none found)
  • The patch_libcuda protonfix (disabled, no effect — also confirmed non-functional on this driver, since its hex patch pattern no longer matches the structure of libcuda.so.610.43.03)
  • DXVK-NVAPI (installed cleanly, no effect — the crash happens before NVAPI init is even reached)
  • Proton runner (proton-cachyos-slr vs proton-cachyos-native — identical result either way)
  • A Vulkan Khronos Profiles layer to mask cooperativeMatrix was tested (confirmed active and working via vulkaninfo), but did not resolve the in-game crash — suggesting Star Citizen may request a different variant (VK_NV_cooperative_matrix2/VK_NV_cooperative_vector, also flagged as inconsistently advertised in the NVIDIA bug report) that the profile didn’t fully cover

Test environment

  • GPU: NVIDIA GeForce RTX 5080 (Blackwell)
  • Driver: 610.43.03 (Linux, nvidia-open-dkms package on CachyOS)
  • Distro: CachyOS (Arch-based), kernel 6.x, Wayland
  • Runner: proton-cachyos-11.0 (both native and SLR builds tested), Wine 11.0
  • Native vulkaninfo/vkcube (outside Wine) work fine — confirms the bug is specific to enabling cooperativeMatrix, not Vulkan in general on this system