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|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
# 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 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.
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.exe
vulkan_sdk.exe
vulkan_sdk.tar.xz
vulkan_sdk.dmg
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"
}
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