Vulkan SDK Version Query and Download API

The Vulkan SDK Version Query and Download API allows you to:

Get the latest SDK version

All Platforms

curl https://vulkan.lunarg.com/sdk/latest.json

Returns the following (formatted here):

{
    "linux": "1.2.141.2",
    "mac": "1.2.141.2",
    "windows": "1.2.141.2"
}

Platform-specific

Platform-specific request can return JSON (.json) or plain text (.txt). Use the extension for whichever type you would like.

JSON examples:

# Linux
curl https://vulkan.lunarg.com/sdk/latest/linux.json
# Mac
curl https://vulkan.lunarg.com/sdk/latest/mac.json
# Windows
curl https://vulkan.lunarg.com/sdk/latest/windows.json

Returns:

{
  "linux": "1.2.141.2"
}

Text examples:

# Linux
curl https://vulkan.lunarg.com/sdk/latest/linux.txt
# Mac
curl https://vulkan.lunarg.com/sdk/latest/mac.txt
# Windows
curl https://vulkan.lunarg.com/sdk/latest/windows.txt

Returns only the value:

1.2.141.2

Automated SDK Downloads

There are two options to pull the latest SDK version:

  1. Use the "latest" URL
  2. Get the latest version and then pull that version with a version-specific URL.

Use Latest URL

# curl -O https://sdk.lunarg.com/sdk/download/latest/PLATFORM/vulkan_sdk.[exe|tar.xz|dmg]
# Linux:
curl -O https://sdk.lunarg.com/sdk/download/latest/linux/vulkan_sdk.tar.xz
# Mac:
curl -O https://sdk.lunarg.com/sdk/download/latest/mac/vulkan_sdk.dmg
# Windows:
curl -O https://sdk.lunarg.com/sdk/download/latest/windows/vulkan_sdk.exe

Use Latest Version (Linux example)

# Get the latest version (a simple text string is returned)
SDK_VERSION=`curl https://vulkan.lunarg.com/sdk/latest/linux.txt`
# Get the latest SDK with the latest version variable
curl -O https://sdk.lunarg.com/sdk/download/${SDK_VERSION}/linux/vulkan_sdk.tar.xz

For other operating systems change the platform to windows or mac and the file extension to exe or dmg respectively. Note: Depending on your shell, you may have to alter how variables are set and used in the URL. The example above is Bash.

NOTE: If you get an error because of too many downloads from your IP, please append "?Human=true" to the SDK download URL. This is to help mitigate excessive bot downloads.

Get a list of all available SDK versions

https://vulkan.lunarg.com/sdk/versions/PLATFORM.json

where PLATFORM is linux, mac, or windows.

Or get a list of all SDK versions available regardless of platform:

https://vulkan.lunarg.com/sdk/versions.json

Returns (formatted for readability):

[
  "1.2.176.1",
  "1.2.170.0",
  "1.2.162.1",
  "1.2.162.0", 
  "1.2.154.1",
  "1.2.148.1"
]

Results are sorted newest to oldest.

Get the SHA hash of the SDK file

You can get the SHA hash in text or JSON format.

You can use the /sdk/sha/... path to get the SHA in text or JSON format using the following URL scheme:

https://sdk.lunarg.com/sdk/sha/VERSION/PLATFORM/FILE.[txt|json]

VERSION can be the full version 1.3.224.0 or latest for the latest version PLATFORM can be windows, linux, or mac FILE can be the normal file name (with embedded version): vulkansdk-linux-x86_64-1.3.224.0.tar.xz or one of the following:

Text example:

$ curl https://sdk.lunarg.com/sdk/sha/latest/linux/vulkan_sdk.tar.xz.txt
3a28ab7bb0e71d4d3e92c14c7b2d45210a165b4e65f03898f95d7805247642f3  vulkansdk-linux-x86_64-1.3.224.0.tar.xz

JSON example:

$ curl https://sdk.lunarg.com/sdk/sha/latest/linux/vulkan_sdk.tar.xz.json
{
    "version":"1.3.224.0",
    "platform":"linux",
    "file":"vulkansdk-linux-x86_64-1.3.224.0.tar.xz",
    "sha":"3a28ab7bb0e71d4d3e92c14c7b2d45210a165b4e65f03898f95d7805247642f3"
}

Get the Config that specifies the packages that make up the SDK

The config.json file that you pull specifies the packages that make up the SDK. The URL is comprised of:

https://vulkan.lunarg.com/sdk/config/VERSION/PLATFORM/config.json

where VERSION is latest or a specific version like 1.2.154.0 and PLATFORM is linux, mac, or windows.

# Latest Linux
curl -O https://vulkan.lunarg.com/sdk/config/latest/linux/config.json

# Specific MacOS version
SDK_VERSION=`curl https://vulkan.lunarg.com/sdk/latest/mac.txt`
curl -O https://vulkan.lunarg.com/sdk/config/${SDK_VERSION}/mac/config.json

NOTE: config.json files are not available for SDKs prior to version 1.2.154.0

If you need assistance, please open a ticket