Skip to content
Vulkan Loader
C C++ Python Assembly CMake Shell
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
build-gn Remove extra defines from GN build. Sep 2, 2019
cmake build: Fix Vulkan headers detection with CMake. Nov 21, 2019
external build: CMakeLists.txt cleanup, part 1 Sep 20, 2018
loader Fix a bug found by clang's -Wsizeof-array-div. Dec 6, 2019
scripts build: Update known-good for 1.1.129 header Nov 26, 2019
tests repo: Remove the option to build a static loader Nov 21, 2019
.appveyor.yml repo: Switch appveoyor to use VS2015 Oct 30, 2019
.clang-format repo: Change source style from LLVM to Google Jan 26, 2017 build: CMakeLists.txt cleanup, part 1 Sep 20, 2018
.gitattributes build: Modify .gitattributes for unix line endings Feb 26, 2018
.gitignore repo: Add script Jul 23, 2018
.gn build: Add GN build May 13, 2019
.travis.yml CI: Add codegen check to appveyor and travis Jul 19, 2019 build:Add def file for Windows GN build Nov 27, 2019 docs: Bump minimums to Ubuntu 16.04 and gcc 5.4.0 Aug 20, 2019
CMakeLists.txt repo: Remove the option to build a static loader Nov 21, 2019 Create Oct 10, 2018 repo: Update documentation files May 13, 2018
LICENSE.txt Update LICENSE and remove COPYRIGHT Jan 10, 2019 docs: Add explanation of version tagging scheme Dec 18, 2018

Vulkan Ecosystem Components

This project provides the Khronos official Vulkan ICD desktop loader for Windows, Linux, and MacOS.

CI Build Status

Platform Build Status
Linux/MacOS Build Status
Windows Build status


Vulkan is an explicit API, enabling direct control over how GPUs actually work. As such, Vulkan supports systems that have multiple GPUs, each running with a different driver, or ICD (Installable Client Driver). Vulkan also supports multiple global contexts (instances, in Vulkan terminology). The ICD loader is a library that is placed between a Vulkan application and any number of Vulkan drivers, in order to support multiple drivers and the instance-level functionality that works across these drivers. Additionally, the loader manages inserting Vulkan layer libraries, such as validation layers, between an application and the drivers.

This repository contains the Vulkan loader that is used for Linux, Windows, MacOS, and iOS. There is also a separate loader, maintained by Google, which is used on Android.

The following components are available in this repository:

Contact Information

Information for Developing or Contributing

Please see the file in this repository for more details. Please see the file in this repository for repository management details.

How to Build and Run Includes directions for building all components.

Architecture and interface information for the loader is in loader/

Version Tagging Scheme

Updates to the Vulkan-Loader repository which correspond to a new Vulkan specification release are tagged using the following format: v<version> (e.g., v1.1.96).

Note: Marked version releases have undergone thorough testing but do not imply the same quality level as SDK tags. SDK tags follow the sdk-<version>.<patch> format (e.g., sdk-

This scheme was adopted following the 1.1.96 Vulkan specification release.


This work is released as open source under a Apache-style license from Khronos including a Khronos copyright.

See COPYRIGHT.txt for a full list of licenses used in this repository.


While this project has been developed primarily by LunarG, Inc., there are many other companies and individuals making this possible: Valve Corporation, funding project development; Khronos providing oversight and hosting of the project.

You can’t perform that action at this time.