Platform Support

The rust-gpu project currently supports a limited number of platforms and graphics APIs. Right now we're not distributing build artifacts and we're primarily focused on the development of the project, so this is based on the current main branch. There are a lot of different configurations and hardware out there to support, this document is intended to document what is currently supported, what we intend to support, and what isn't supported. Over time as the project stabilises and our CI improves, more platforms and APIs will be supported and tested. Currently support for each topic is divided into the following three categories.

  • Primary — Built and tested on CI.
  • Secondary — Built but not fully tested on CI.
  • Tertiary — Present in the codebase but not built or tested.

Operating System

Operating SystemVersionSupportNotes
LinuxUbuntu 18.04+Primary
macOSCatalina (10.15)+SecondaryUsing MoltenVK, requires v1.1.2+
AndroidTested 10-11Secondary

Graphics APIs

WGPU0.6PrimaryUses a translation layer to Metal/DX12

SPIR-V Targets

  • spirv-unknown-spv1.0
  • spirv-unknown-spv1.1
  • spirv-unknown-spv1.2
  • spirv-unknown-spv1.3
  • spirv-unknown-spv1.4
  • spirv-unknown-spv1.5

Vulkan Targets

  • spirv-unknown-vulkan1.0
  • spirv-unknown-vulkan1.1
  • spirv-unknown-vulkan1.1spv1.4
  • spirv-unknown-vulkan1.2

WebGPU Targets

  • spirv-unknown-webgpu0

OpenGL Targets

  • spirv-unknown-opengl4.0
  • spirv-unknown-opengl4.1
  • spirv-unknown-opengl4.2
  • spirv-unknown-opengl4.3
  • spirv-unknown-opengl4.5

OpenCL Targets

  • spirv-unknown-opencl1.2
  • spirv-unknown-opencl1.2embedded
  • spirv-unknown-opencl2.0
  • spirv-unknown-opencl2.0embedded
  • spirv-unknown-opencl2.1
  • spirv-unknown-opencl2.1embedded
  • spirv-unknown-opencl2.2
  • spirv-unknown-opencl2.2embedded


Currently we don't have specific generations of GPUs for support, as long they support Vulkan 1.1+ with the latest officially installed drivers it should be able build and run the examples. You can check your Vulkan version using the vulkaninfo command from the vulkan-sdk.