The Vulkan SDK Version Query and Download API allows you to:
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",
"warm": "1.3.290.0"
}
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 X64
curl https://vulkan.lunarg.com/sdk/latest/windows.json
# Windows ARM
curl https://vulkan.lunarg.com/sdk/latest/warm.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 X64
curl https://vulkan.lunarg.com/sdk/latest/windows.txt
# Windows ARM64
curl https://vulkan.lunarg.com/sdk/latest/warm.txt
Returns only the value:
1.2.141.2
There are two options to pull the latest SDK version:
# curl -O https://sdk.lunarg.com/sdk/download/latest/PLATFORM/vulkan_sdk.[exe|tar.xz|zip]
# 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.zip
# Windows:
curl -O https://sdk.lunarg.com/sdk/download/latest/windows/vulkan_sdk.exe
# Windows:
curl -O https://sdk.lunarg.com/sdk/download/latest/warm/vulkan_sdk.exe
# 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 zip 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.
https://vulkan.lunarg.com/sdk/versions/PLATFORM.json
where PLATFORM is linux, mac, windows, or warm.
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.
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, warm, 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:
vulkan_sdk.exevulkan_sdk.exevulkan_sdk.tar.xzvulkan_sdk.zipText 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"
}
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