A simple yet powerful command-line utility for managing Vulkan SDK operations. This tool simplifies downloading, installing, and managing Vulkan SDK versions across different platforms.
Run vulkan_utils directly without installing it globally:
# Run commands directly with uvx
uvx vulkan-utils install-sdk
uvx vulkan-utils latest-version
uvx vulkan-utils sdk-info
uv add vulkan_utils
pip install vulkan_utils
# Clone the repository
git clone https://github.com/msemelman/vulkan-utils.git vulkan_utils
cd vulkan_utils
# Get dependencies
uv sync
# install in current env
uv pip install -e . # make sure venv is not active
# install globally
pip install -e .
After installation, the vulkan-utils command will be available in your terminal. Alternatively, you can run commands directly with uvx vulkan-utils without installing.
# Show help
vulkan-utils --help
# or with uvx
uvx vulkan-utils --help
# Show version
vulkan-utils --version
# or with uvx
uvx vulkan-utils --version
# Download and install the latest Vulkan SDK for your platform
vulkan-utils install-sdk
# or run directly with uvx (no installation required)
uvx vulkan-utils install-sdk
# Install a specific version
vulkan-utils install-sdk --version 1.3.224.0
# or with uvx
uvx vulkan-utils install-sdk --version 1.3.224.0
# Install for a specific platform
vulkan-utils install-sdk --platform linux
# Install to a custom directory
vulkan-utils install-sdk --install-path /opt/VulkanSDK
# Download only (don't install)
vulkan-utils install-sdk --download-only --install-path ./downloads
# Get the latest available version for your platform
vulkan-utils latest-version
# or with uvx
uvx vulkan-utils latest-version
# Get latest version for a specific platform
vulkan-utils latest-version --platform windows
# Get detailed SDK information
vulkan-utils sdk-info
# or with uvx
uvx vulkan-utils sdk-info
# Get info for a specific version
vulkan-utils sdk-info --version 1.3.224.0 --platform mac
install-sdkDownloads and installs the Vulkan SDK.
Options:
--version: SDK version to download (default: โlatestโ)--platform: Target platform - linux, mac, windows, or auto (default: โautoโ)--install-path: Installation directory (default: ~/VulkanSDK)--download-only: Only download, donโt extract/installExamples:
# Basic installation
vulkan-utils install-sdk
# or with uvx
uvx vulkan-utils install-sdk
# Specific version for Linux
vulkan-utils install-sdk --version 1.3.224.0 --platform linux
# or with uvx
uvx vulkan-utils install-sdk --version 1.3.224.0 --platform linux
# Download to custom location without installing
vulkan-utils install-sdk --download-only --install-path ./my-downloads
latest-versionGet the latest available Vulkan SDK version.
Options:
--platform: Target platform (default: auto-detect)Examples:
vulkan-utils latest-version
# or with uvx
uvx vulkan-utils latest-version
vulkan-utils latest-version --platform windows
sdk-infoGet detailed information about a Vulkan SDK version.
Options:
--version: SDK version (default: โlatestโ)--platform: Target platform (default: auto-detect)Examples:
vulkan-utils sdk-info
# or with uvx
uvx vulkan-utils sdk-info
vulkan-utils sdk-info --version 1.3.224.0
After installation, you may need to set environment variables if system-wide installation fails:
export VULKAN_SDK=~/VulkanSDK
export PATH=$VULKAN_SDK/bin:$PATH
export DYLD_LIBRARY_PATH=$VULKAN_SDK/lib:$DYLD_LIBRARY_PATH
export VK_LAYER_PATH=$VULKAN_SDK/share/vulkan/explicit_layer.d
Add these to your ~/.zshrc or ~/.bash_profile for persistence.
Set the following environment variables:
export VULKAN_SDK=~/VulkanSDK
export PATH=$VULKAN_SDK/bin:$PATH
export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH
export VK_LAYER_PATH=$VULKAN_SDK/share/vulkan/explicit_layer.d
Windows installations should work system-wide automatically. No additional configuration typically required.
# Check latest available version
vulkan-utils latest-version
# or with uvx
uvx vulkan-utils latest-version
# Output: Latest Vulkan SDK version for mac: 1.3.250.1
# Get detailed information about the latest SDK
vulkan-utils sdk-info
# or with uvx
uvx vulkan-utils sdk-info
# Output:
# SDK Version: 1.3.250.1
# Platform: mac
# Filename: vulkan_sdk.zip
# Download URL: https://sdk.lunarg.com/sdk/download/latest/mac/vulkan_sdk.zip?Human=true
# SHA Hash: abc123...
# Download and install
vulkan-utils install-sdk
# or with uvx
uvx vulkan-utils install-sdk
# Downloads, extracts, and installs with progress indicators and platform-specific instructions
# Download multiple versions for different platforms
vulkan-utils install-sdk --version 1.3.250.1 --platform linux --download-only --install-path ./offline-sdks
vulkan-utils install-sdk --version 1.3.250.1 --platform windows --download-only --install-path ./offline-sdks
vulkan-utils install-sdk --version 1.3.250.1 --platform mac --download-only --install-path ./offline-sdks
# or with uvx (useful for CI/CD or one-time usage)
uvx vulkan-utils install-sdk --version 1.3.250.1 --platform linux --download-only --install-path ./offline-sdks
uvx vulkan-utils install-sdk --version 1.3.250.1 --platform windows --download-only --install-path ./offline-sdks
uvx vulkan-utils install-sdk --version 1.3.250.1 --platform mac --download-only --install-path ./offline-sdks
# Clone the repository
git clone https://github.com/msemelman/vulkan-utils.git vulkan_utils
cd vulkan_utils
# Install dependencies with uv
uv sync
# Run in development mode
uv run vulkan-utils --help
# Install development dependencies
uv sync --dev
# Run tests
uv run pytest
This project follows Python best practices:
uv for fast, reliable dependency resolutionContributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
Note: This tool is not affiliated with the Khronos Group or LunarG. Itโs a community tool designed to simplify Vulkan SDK management.