Vulkan

[20] Vulkan targets high-performance real-time 3D-graphics applications, such as video games and interactive media, and highly parallelized computing.

Vulkan is intended to offer higher performance and more efficient CPU and GPU usage compared to the older OpenGL and Direct3D 11 APIs.

Intended advantages of Vulkan over previous-generation APIs include the following: Vulkan is available on multiple modern operating systems and architectures[citation needed], and provides a single API for both desktop and mobile graphics devices, whereas previously these were split between OpenGL and OpenGL ES respectively.

Like OpenGL, and in contrast to Direct3D 12, the Vulkan API is not locked to a single OS or device form factor.

Vulkan runs natively on Android, Linux, BSD Unix, QNX, Haiku,[26] Nintendo Switch, Raspberry Pi, Stadia, Fuchsia, Tizen, and Windows 7, 8, 10, and 11.

MoltenVK provides freely licensed[27][28][29] third-party support for macOS, iOS and tvOS by wrapping over Apple's Metal API.

Vulkan offers improved scalability on multi-core CPUs due to the modernized threading architecture.

No other graphics API offers the same powerful combination of OS compatibility, rendering features, and hardware efficiency.

[40] Multi-GPU support included in-API removes the need for SLI or Crossfire which requires graphics cards to be of the same model.

[41] For example, integrated GPUs included on the CPU can be used in conjunction with a high-end dedicated GPU for a slight performance boost.

Some of the most important features are "timeline semaphores for easily managed synchronization", "a formal memory model to precisely define the semantics of synchronization and memory operations in different threads", and "descriptor indexing to enable reuse of descriptor layouts by multiple shaders".

[57] The Khronos Group began a project to create a next generation graphics API in July 2014 with a kickoff meeting at Valve.

[59] Vulkan was formally named and announced at Game Developers Conference 2015, although speculation and rumors centered around a new API existed beforehand and referred to it as "glNext".

On December 18, 2015, the Khronos Group announced that the 1.0 version of the Vulkan specification was nearly complete and would be released when conforming drivers were available.

Valve also announced that Dota 2 can as of February 26, 2018 run on macOS using the Vulkan API, which is based on MoltenVK.

[69] Google's Stadia streaming cloud gaming service used Vulkan on Linux based servers with AMD GPUs.

[72] On June 20, 2020, a graphics engineer revealed that he had created one after two years of work that was capable of running VkQuake3 at over 100FPS on the small computer.

[90] Apart from Haswell, Ivy Bridge and Broadwell are also supported by a legacy Vulkan driver in Mesa called HASVK.

[104] NVK, an experimental, open source Vulkan driver for Linux based on nouveau, was announced in October 2022.

[112] On Linux and some ChromeOS devices, the open-source Mesa driver provides support for Arm Mali (Midgard and Bifrost), Qualcomm Adreno, and Broadcom VideoCore VI hardware.

[30] In June 2022, version 1.3.217 of Vulkan added support for Metal objects, facilitating import and export between the two APIs.

It has been adopted as an extension on OpenAtom's consortium open source project, OpenHarmony with a newer graphics stack for the system, ArkGraphics 3D software engine that has been recently open sourced since May 2024 on OpenHarmony 5.0 beta 1 that has been previously exclusive to proprietary HarmonyOS NEXT developer kit, on custom graphics pipelines features.

For example, DXVK provides an alternative shared library intended to be used on Linux natively (without the Wine compatibility layer) to help with game porting.

OpenGL and Vulkan are both rendering APIs. In both cases, the GPU executes shaders , while the CPU executes everything else.
Screenshot of vulkaninfo , showing information about supported Vulkan instances and vkcube , a program to test Vulkan implementation on a system