Vulkan Jernstøberi
   HOME

TheInfoList



OR:

Vulkan is a
cross-platform Within computing, cross-platform software (also called multi-platform software, platform-agnostic software, or platform-independent software) is computer software that is designed to work in several Computing platform, computing platforms. Some ...
API An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
and
open standard An open standard is a standard that is openly accessible and usable by anyone. It is also a common prerequisite that open standards use an open license that provides for extensibility. Typically, anybody can participate in their development due to ...
for
3D graphics 3D computer graphics, sometimes called CGI, 3D-CGI or three-dimensional computer graphics, are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for the purposes of perfor ...
and
computing Computing is any goal-oriented activity requiring, benefiting from, or creating computer, computing machinery. It includes the study and experimentation of algorithmic processes, and the development of both computer hardware, hardware and softw ...
. It was intended to address the shortcomings of
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
, and allow developers more control over the
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
. It is designed to support a wide variety of GPUs,
CPUs A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary Processor (computing), processor in a given computer. Its electronic circuitry executes Instruction (computing), instructions ...
and operating systems, and it is also designed to work with modern
multi-core A multi-core processor (MCP) is a microprocessor on a single integrated circuit (IC) with two or more separate central processing units (CPUs), called ''cores'' to emphasize their multiplicity (for example, ''dual-core'' or ''quad-core''). Ea ...
CPUs. Microsoft supports Vulkan 1.2 (and more) on Windows 10 and 11, with a downloadable compatibility pack.


Overview

Vulkan targets high-performance real-time 3D-graphics applications, such as
video game A video game or computer game is an electronic game that involves interaction with a user interface or input device (such as a joystick, game controller, controller, computer keyboard, keyboard, or motion sensing device) to generate visual fe ...
s and
interactive media Interactive media refers to digital experiences that dynamically respond to user input, delivering content such as Text (literary theory), text, images, animations, video, Sound, audio, and even Artificial intelligence, AI-driven interactions. O ...
, and highly parallelized computing. Vulkan is intended to offer higher performance and more efficient
CPU A central processing unit (CPU), also called a central processor, main processor, or just processor, is the primary processor in a given computer. Its electronic circuitry executes instructions of a computer program, such as arithmetic, log ...
and
GPU A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal ...
usage compared to the older
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
and
Direct3D 11 Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
APIs. It does so by providing a considerably lower-level API for the application than the older APIs, that more closely resembles how modern GPUs work. Vulkan is comparable to
Apple An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
's Metal API and
Microsoft Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
's
Direct3D 12 Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
. In addition to its lower CPU usage, Vulkan is designed to allow developers to better distribute work among multiple CPU cores. Vulkan was first announced by the non-profit
Khronos Group The Khronos Group, Inc. is an open, non-profit, member-driven consortium of 170 organizations developing, publishing and maintaining royalty-free interoperability standards for 3D graphics, virtual reality, augmented reality, parallel computat ...
at GDC 2015. The Vulkan API was initially referred to as the "next generation
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
initiative", or "OpenGL next" by Khronos, but use of those names was discontinued when "Vulkan" was announced. Vulkan is derived from and built upon components of
AMD Advanced Micro Devices, Inc. (AMD) is an American multinational corporation and technology company headquartered in Santa Clara, California and maintains significant operations in Austin, Texas. AMD is a hardware and fabless company that de ...
's Mantle API, which was donated by AMD to Khronos with the intent of giving Khronos a foundation on which to begin developing a low-level API that they could standardize across the industry.


Features

Vulkan is intended to provide a variety of advantages over other APIs as well as over its predecessor,
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
. Vulkan offers lower overhead, more direct control over the GPU, and lower CPU usage. Its overall concept and feature set are similar to those of Mantle. They were later adopted by Microsoft with
Direct3D 12 Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware a ...
and by Apple with
Metal A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
. Intended advantages of Vulkan over previous-generation APIs include the following:


Cross-platform

Vulkan is available on multiple modern operating systems and architectures, and provides a single API for both desktop and mobile graphics devices, whereas previously these were split between OpenGL and
OpenGL ES OpenGL for Embedded Systems (OpenGL ES or GLES) is a subset of the OpenGL computer graphics rendering application programming interface (API) for rendering 2D and 3D computer graphics such as those used by video games, typically hardware-accelerate ...
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 Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
,
BSD Unix The Berkeley Software Distribution (BSD), also known as Berkeley Unix or BSD Unix, is a discontinued Unix operating system developed and distributed by the Computer Systems Research Group (CSRG) at the University of California, Berkeley, beginni ...
,
QNX QNX ( or ) is a commercial Unix-like real-time operating system, aimed primarily at the embedded systems market. The product was originally developed in the early 1980s by Canadian company Quantum Software Systems, founded March 30, 1980, and l ...
,
Haiku is a type of short form poetry that originated in Japan. Traditional Japanese haiku consist of three phrases composed of 17 Mora (linguistics), morae (called ''On (Japanese prosody), on'' in Japanese) in a 5, 7, 5 pattern; that include a ''kire ...
,
Nintendo Switch The is a video game console developed by Nintendo and released worldwide in most regions on March 3, 2017. Released in the middle of the Eighth generation of video game consoles, eighth generation of home consoles, the Switch succeeded the ...
,
Raspberry Pi Raspberry Pi ( ) is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in collaboration with Broadcom Inc., Broadcom. To commercialize the product and support its growing demand, the ...
, Stadia,
Fuchsia ''Fuchsia'' ( ) is a genus of flowering plants that consists mostly of shrubs or small trees. Almost 110 species of ''Fuchsia'' are recognized; the vast majority are native to South America, but a few occur north through Central America to Mex ...
,
Tizen Tizen () is a Linux-based operating system primarily developed by Samsung Electronics and supported by the Linux Foundation. The project was originally conceived as an HTML5-based platform for mobile devices to succeed MeeGo. It was backed by o ...
, and
Windows 7 Windows 7 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on July 22, 2009, and became generally available on October 22, ...
, 8, 10, and 11. MoltenVK provides freely licensed third-party support for
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
,
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
and
tvOS tvOS (formerly Apple TV Software) is an operating system developed by Apple for the Apple TV, a digital media player. In the first-generation Apple TV, Apple TV Software was based on Mac OS X. The software for the second-generation and later ...
by wrapping over Apple's Metal API.


Lower CPU usage

Vulkan reduces load on CPUs through the use of batching and other low-level optimizations, therefore reducing CPU workloads and leaving the CPU free to do more computation or rendering than would otherwise be possible.


Multi-threading friendly design

Direct3D 11 and OpenGL 4 were initially designed for use with
single-core A single-core processor is a microprocessor with a single CPU on its die. It performs the fetch-decode-execute cycle one at a time, as it only runs on one thread. A computer using a single core CPU is generally slower than a multi-core system. S ...
CPUs and only received augmentation to be executed on multi-cores. Even when application developers use the augmentations, these APIs regularly do not scale well on multi-cores. Vulkan offers improved scalability on multi-core CPUs due to the modernized threading architecture.


Pre-compiled shaders

OpenGL uses the high-level language
GLSL OpenGL Shading Language (GLSL) is a high-level shading language with a syntax based on the C programming language. It was created by the OpenGL ARB (OpenGL Architecture Review Board) to give developers more direct control of the graphics pipe ...
for writing
shader In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
s, which forces each OpenGL driver to implement its own
compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primaril ...
for GLSL. This then executes at application runtime to translate the program's shaders into the GPU's machine code. In contrast, Vulkan drivers are supposed to ingest shaders already translated into an intermediate binary format called
SPIR-V Standard Portable Intermediate Representation (SPIR) is an intermediate language for General-purpose computing on graphics processing units, parallel computing and graphics by Khronos Group. It is used in multiple execution environments, including ...
(Standard Portable Intermediate Representation), analogous to the binary format that
HLSL The High-Level Shader Language or High-Level Shading Language (HLSL) is a proprietary shading language developed by Microsoft for the Direct3D 9 API to augment the shader assembly language, and went on to become the required shading language ...
shaders are compiled into in
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
. By allowing shader pre-compilation, application initialization speed is improved and a larger variety of shaders can be used per scene. A Vulkan driver only needs to perform GPU specific optimization and code generation, resulting in easier driver maintenance, and potentially smaller driver packages. The developers of applications now can also more easily obfuscate proprietary shader code, due to shaders not being stored directly as source code, howeve
tools are provided that can decompile SPIR-V to human-readable high-level code


Others

* Vulkan provides unified management of
compute kernel In computing, a compute kernel is a routine compiled for high throughput accelerators (such as graphics processing units (GPUs), digital signal processors (DSPs) or field-programmable gate arrays (FPGAs)), separate from but used by a main pro ...
s and graphical
shader In computer graphics, a shader is a computer program that calculates the appropriate levels of light, darkness, and color during the rendering of a 3D scene—a process known as '' shading''. Shaders have evolved to perform a variety of s ...
s, eliminating the need to use a separate compute API in conjunction with a
graphics API A graphics library or graphics API is a program library designed to aid in rendering computer graphics to a monitor. This typically involves providing optimized versions of functions that handle common rendering tasks. This can be done purely in ...
. * Ray tracing is provided in a set of cross-vendor extensions, which together are analogous to the
OptiX Nvidia OptiX (OptiX Application Acceleration Engine) is a Ray tracing (graphics), ray tracing API that was first developed around 2009. The computations are offloaded to the GPUs through either the low-level or the high-level API introduced with ...
and
DirectX Raytracing DirectX Raytracing (DXR) is a feature introduced in Microsoft's DirectX 12 that implements Ray tracing (graphics), ray tracing, for video graphic rendering. DXR was released with the Windows 10 October update (version 1809) on October 10, 2018. I ...
APIs. No such functionality is exposed in OpenGL. *
Video acceleration A graphics processing unit (GPU) is a specialized electronic circuit designed for digital image processing and to accelerate computer graphics, being present either as a discrete video card or embedded on motherboards, mobile phones, personal co ...
for decoding and encoding, such as
H.264 Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and d ...
and
H.265 H is the eighth letter of the Latin alphabet. H may also refer to: Musical symbols * H number, Harry Halbreich reference mechanism for music by Honegger and Martinů * H, B (musical note) * H, B major People * H. (noble) (died after 12 ...
.


OpenGL vs. Vulkan

In 2016, NVIDIA stated that "OpenGL is still a great option for a lot of use cases, as it comes at a much lower complexity and maintenance burden than Vulkan, while in many cases still providing great overall performance." AMD states that "Vulkan supports close-to-metal control, enabling faster performance and better image quality across Windows 7, Windows 8.1, Windows 10, and Linux. No other graphics API offers the same powerful combination of OS compatibility, rendering features, and hardware efficiency."


Versions


Vulkan 1.0

Vulkan 1.0 was released in February 2016.


Vulkan 1.1

At
SIGGRAPH SIGGRAPH (Special Interest Group on Computer Graphics and Interactive Techniques) is an annual conference centered around computer graphics organized by ACM, starting in 1974 in Boulder, CO. The main conference has always been held in North ...
2016, Khronos announced that Vulkan would be getting support for automatic multi-GPU features, similar to what is offered by Direct3D 12. Multi-GPU support included in-API removes the need for SLI or
Crossfire A crossfire (also known as interlocking fire) is a military term for the siting of weapons (often automatic weapons such as assault rifles or sub-machine guns) so that their arcs of fire overlap. This tactic came to prominence in World War I. ...
which requires graphics cards to be of the same model. API multi-GPU instead allows the API to intelligently split the workload among two or more completely different GPUs. For example, integrated GPUs included on the CPU can be used in conjunction with a high-end dedicated GPU for a slight performance boost. On March 7, 2018, Vulkan 1.1 was released by the Khronos Group. This first major update to the API standardized several extensions, such as multi-view, device groups, cross-process and cross-API sharing, advanced compute functionality,
HLSL The High-Level Shader Language or High-Level Shading Language (HLSL) is a proprietary shading language developed by Microsoft for the Direct3D 9 API to augment the shader assembly language, and went on to become the required shading language ...
support, and
YCbCr YCbCr, Y′CbCr, also written as YCBCR or Y′CBCR, is a family of color spaces used as a part of the color image pipeline in digital video and digital photography, photography systems. Like YPbPr, YPBPR, it is based on RGB primaries; the two ...
support. At the same time, it also brought better compatibility with DirectX 12, explicit multi-GPU support, (optional extensions for supporting hardware, e.g. some Nvidia GPUs, on e.g. Windows and Android) ray tracing support, and laid the groundwork for the next generation of GPUs. Alongside Vulkan 1.1,
SPIR-V Standard Portable Intermediate Representation (SPIR) is an intermediate language for General-purpose computing on graphics processing units, parallel computing and graphics by Khronos Group. It is used in multiple execution environments, including ...
was updated to version 1.3.


Vulkan 1.2

On January 15, 2020, Vulkan 1.2 was released by the Khronos Group. This second major update to the API integrates 23 additional commonly-used proven Vulkan extensions into the base Vulkan standard. 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". The additional features of Vulkan 1.2 improve its flexibility when it comes to implementing other graphics APIs on top of Vulkan, including "uniform buffer standard layout", "scalar block layout", and "separate stencil usage".


Vulkan 1.3

On January 25, 2022, Vulkan 1.3 was released by the Khronos Group. This third major update to the API integrates 23 additional commonly-used proven Vulkan extensions into the base Vulkan standard. Vulkan 1.3 focuses on reducing fragmentation by making the new features not optional in order for a device to be considered Vulkan 1.3 capable. The new features in Vulkan 1.3 include dynamic rendering, additional dynamic state, improved synchronization API, and device profiles.


Vulkan 1.4

On December 3, 2024, Vulkan 1.4 was released by the Khronos Group.


Planned features

When releasing
OpenCL OpenCL (Open Computing Language) is a software framework, framework for writing programs that execute across heterogeneous computing, heterogeneous platforms consisting of central processing units (CPUs), graphics processing units (GPUs), di ...
2.2, the Khronos Group announced that OpenCL would converge where possible with Vulkan to enable OpenCL software deployment flexibility over both APIs. This has been now demonstrated by
Adobe Adobe (from arabic: الطوب Attub ; ) is a building material made from earth and organic materials. is Spanish for mudbrick. In some English-speaking regions of Spanish heritage, such as the Southwestern United States, the term is use ...
's Premiere Rush using the clspv open source compiler to compile significant amounts of OpenCL C kernel code to run on a Vulkan runtime for deployment on Android.


History

The Khronos Group began a project to create a next generation graphics API in July 2014 with a kickoff meeting at
Valve A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or Slurry, slurries) by opening, closing, or partially obstructing various passageways. Valves are technically Pip ...
. At
SIGGRAPH SIGGRAPH (Special Interest Group on Computer Graphics and Interactive Techniques) is an annual conference centered around computer graphics organized by ACM, starting in 1974 in Boulder, CO. The main conference has always been held in North ...
2014, the project was publicly announced with a call for participants. According to the US Patent and Trademark Office, the trademark for Vulkan was filed on February 19, 2015. Vulkan was formally named and announced at
Game Developers Conference The Game Developers Conference (GDC) is an annual conference for video game developers. The event includes an expo, networking events, and awards shows like the Game Developers Choice Award for Game of the Year, Game Developers Choice Awards and ...
2015, although speculation and rumors centered around a new API existed beforehand and referred to it as "glNext".


2015

In early 2015, LunarG (funded by
Valve A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or Slurry, slurries) by opening, closing, or partially obstructing various passageways. Valves are technically Pip ...
) developed and showcased a Linux driver for Intel which enabled Vulkan compatibility on the HD 4000 series integrated graphics, despite the open-source Mesa drivers not being fully compatible with OpenGL 4.0 until later that year. There is still the possibility of Sandy Bridge support, since it supports compute through Direct3D11. On August 10, 2015,
Google Google LLC (, ) is an American multinational corporation and technology company focusing on online advertising, search engine technology, cloud computing, computer software, quantum computing, e-commerce, consumer electronics, and artificial ...
announced that future versions of Android would support Vulkan. Android 7.x "Nougat" launched support for Vulkan on August 22, 2016. Android 8.0 "Oreo" has full support. 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.


2016

The full Vulkan specification and the open-source Vulkan SDK were released on February 16, 2016.


2018

On February 26, 2018, Khronos Group announced that the Vulkan API became available to all on
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
and
iOS Ios, Io or Nio (, ; ; locally Nios, Νιός) is a Greek island in the Cyclades group in the Aegean Sea. Ios is a hilly island with cliffs down to the sea on most sides. It is situated halfway between Naxos and Santorini. It is about long an ...
through the MoltenVK library, which enables Vulkan to run on top of
Metal A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
. Other new developments were shown at
SIGGRAPH SIGGRAPH (Special Interest Group on Computer Graphics and Interactive Techniques) is an annual conference centered around computer graphics organized by ACM, starting in 1974 in Boulder, CO. The main conference has always been held in North ...
2018. Previously MoltenVK was a proprietary and commercially licensed solution, but
Valve A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or Slurry, slurries) by opening, closing, or partially obstructing various passageways. Valves are technically Pip ...
made an arrangement with developer Brenwill Workshop Ltd to open-source MoltenVK under the Apache 2.0 license and as a result the library is now availabl
on GitHub
Valve A valve is a device or natural object that regulates, directs or controls the flow of a fluid (gases, liquids, fluidized solids, or Slurry, slurries) by opening, closing, or partially obstructing various passageways. Valves are technically Pip ...
also announced that ''
Dota 2 ''Dota 2'' is a 2013 multiplayer online battle arena (MOBA) video game by Valve Corporation, Valve. The game is a sequel to ''Defense of the Ancients'' (''DotA''), a community-created Mod (video gaming), mod for Blizzard Entertainment's ''War ...
'' can as of February 26, 2018 run on
macOS macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
using the Vulkan API, which is based on MoltenVK.


2019

On February 25, 2019, the Vulkan Safety Critical (SC) Working Group was announced to bring Vulkan GPU acceleration to safety critical industries. Google's Stadia streaming
cloud gaming Cloud gaming, sometimes called gaming on demand or game streaming, is a type of Online game, online gaming that runs video games on remote Server (computing), servers and Streaming media, streams the game's output (video, sound, etc.) directly to ...
service used Vulkan on Linux based servers with
AMD GPUs The following is a list that contains general information about GPUs and video cards made by AMD, including those made by ATI Technologies before 2006, based on official specifications in table-form. Field explanations The headers in the tabl ...
.


2020

On January 15, 2020, Vulkan 1.2 was released. Alongside the Vulkan 1.2 release, the Khronos Group posted a blog post which considered that HLSL support in Vulkan had reached "production ready" status, given the improvements in Microsoft's DXC compiler and Khronos's glslang compiler, and new features in Vulkan 1.2 which enhance HLSL support. On February 3, 2020, the Raspberry Pi Foundation announced that it was working on an open source Vulkan driver for their
Raspberry Pi Raspberry Pi ( ) is a series of small single-board computers (SBCs) developed in the United Kingdom by the Raspberry Pi Foundation in collaboration with Broadcom Inc., Broadcom. To commercialize the product and support its growing demand, the ...
, a popular single board computer. 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. On March 17, 2020, Khronos Group released the Ray Tracing extensions, based on
Nvidia Nvidia Corporation ( ) is an American multinational corporation and technology company headquartered in Santa Clara, California, and incorporated in Delaware. Founded in 1993 by Jensen Huang (president and CEO), Chris Malachowsky, and Curti ...
's proprietary extension, with some major extensions and many minor changes, which in turn was based on Nvidia's
OptiX Nvidia OptiX (OptiX Application Acceleration Engine) is a Ray tracing (graphics), ray tracing API that was first developed around 2009. The computations are offloaded to the GPUs through either the low-level or the high-level API introduced with ...
API. On November 23, 2020, these Ray Tracing extensions were finalized. On November 24, 2020, Raspberry Pi Foundation announced that their driver for the
Raspberry Pi 4 The Raspberry Pi 4 is the fourth generation of the Raspberry Pi flagship series of single-board computers. Developed by Raspberry Pi Holdings and released on 24 June 2019, it introduced significant upgrades over its predecessor. At its core, th ...
is Vulkan 1.0 conformant.


2022

On January 25, 2022, Vulkan 1.3 was released. On March 1, 2022, Vulkan SC 1.0 was released, bringing Vulkan graphics and compute for the safety-critical industry while being based on the Vulkan 1.2 standard. On August 1, 2022, Raspberry Pi Foundation announced that their driver for the
Raspberry Pi 4 The Raspberry Pi 4 is the fourth generation of the Raspberry Pi flagship series of single-board computers. Developed by Raspberry Pi Holdings and released on 24 June 2019, it introduced significant upgrades over its predecessor. At its core, th ...
is Vulkan 1.2 conformant. On September 1, 2022, Mesh Shading for Vulkan was released.


2024

A new Vulkan Roadmap was announced on January 25, 2024. A new extension for decoding
AV1 AOMedia Video 1 (AV1) is an open, royalty-free video coding format initially designed for video transmissions over the Internet. It was developed as a successor to VP9 by the Alliance for Open Media (AOMedia), a consortium founded in 2015 tha ...
video was released on February 1, 2024.


Support across vendors

Initial specifications stated that Vulkan drivers can be implemented on any hardware that supports OpenGL ES 3.1 or OpenGL 4.x and up. As Vulkan support requires new graphics drivers, this does not necessarily imply that every existing device that supports OpenGL ES 3.1 or OpenGL 4.x will have Vulkan drivers available.


Intel

As of March 2023, Intel has split Vulkan driver support on
Windows Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
and on
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
. All drivers are developed by Intel. On Windows,
Skylake Skylake or Sky Lake may refer to: * Skylake (microarchitecture) Skylake is Intel's codename for its sixth generation Core microprocessor family that was launched on August 5, 2015, succeeding the Broadwell microarchitecture. Skylake is a mic ...
to Ice Lake supports up to Vulkan 1.3, with limited support after July 2022 as future updates will only cover security fixes. Iris Xe and newer are fully supported as of March 2023. On Linux, as of March 2023 there is incomplete Vulkan support for Haswell with it not being Vulkan 1.0 compliant. Apart from Haswell, Ivy Bridge and Broadwell are also supported by a legacy Vulkan driver in
Mesa A mesa is an isolated, flat-topped elevation, ridge, or hill, bounded from all sides by steep escarpments and standing distinctly above a surrounding plain. Mesas consist of flat-lying soft sedimentary rocks, such as shales, capped by a ...
called HASVK. Skylake and newer being supported by a driver in Mesa called ANV.


AMD

On Windows, Vulkan 1.2 is supported from GCN 1.0 to GCN 3.0, with no further updates planned after June 2021. GCN 4.0 and newer support Vulkan 1.3. On Linux there are various different Vulkan drivers with varying and overlapping hardware support. There is the open-source Vulkan driver called AMDVLK, developed by AMD which mirrors Windows support. There is also the proprietary driver called AMDGPU-PRO which is not recommended to be used for most users as of March 2023. There is also the recommended driver called RADV in Mesa developed by Valve, Red Hat, Google and others. This driver as of March 2023 supports all GCN and RDNA cards. This RADV driver's support for GCN 1.0 through GCN 2.0 requires its experimental support in the amdgpu kernel module to be enabled.


NVIDIA

On Windows and Linux there is the NVIDIA developed Vulkan driver which supports Vulkan 1.2 on
Kepler Johannes Kepler (27 December 1571 – 15 November 1630) was a German astronomer, mathematician, astrologer, natural philosopher and writer on music. He is a key figure in the 17th-century Scientific Revolution, best known for his laws of p ...
cards with no further updates planned after September 2021.
Maxwell Maxwell may refer to: People * Maxwell (surname), including a list of people and fictional characters with the name ** James Clerk Maxwell, mathematician and physicist * Justice Maxwell (disambiguation) * Maxwell baronets, in the Baronetage of N ...
and newer support Vulkan 1.3. NVK, an experimental, open source Vulkan driver for Linux based on
nouveau A ''nouveau'' ( ), or ''vin (de) primeur'', is a wine which may be sold in the same year in which it was harvested. The most widely exported ''nouveau'' wine is French wine Beaujolais ''nouveau'' which is released on the third Thursday of ...
, was announced in October 2022. It was merged into mainline
Mesa A mesa is an isolated, flat-topped elevation, ridge, or hill, bounded from all sides by steep escarpments and standing distinctly above a surrounding plain. Mesas consist of flat-lying soft sedimentary rocks, such as shales, capped by a ...
in August 2023. The driver currently supports Vulkan 1.4


Android and mobile GPUs

Most modern Android devices support Vulkan. Android 7.0 Nougat includes optional Vulkan 1.0 support, Android 9.0 Pie includes optional Vulkan 1.1 support, and
Android 10 Android 10 (code name, codenamed Android Q during development) is the Android version history, tenth major release and the 17th version of the Android (operating system), Android mobile operating system. It was first released as a developer pre ...
expects (but does not require) that all non-low memory 64-bit devices support Vulkan 1.1.
Android 13 Android 13 is the Android version history, thirteenth major release and the 20th version of Android (operating system), Android, the mobile operating system developed by the Open Handset Alliance led by Google. It was released to the public and ...
expects under the same conditions support of Vulkan 1.3. On
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
and some
ChromeOS ChromeOS, sometimes styled as chromeOS and formerly styled as Chrome OS, is an operating system designed and developed by Google. It is derived from the open-source operating system and uses the Google Chrome web browser as its principal user ...
devices, the open-source
Mesa A mesa is an isolated, flat-topped elevation, ridge, or hill, bounded from all sides by steep escarpments and standing distinctly above a surrounding plain. Mesas consist of flat-lying soft sedimentary rocks, such as shales, capped by a ...
driver provides support for Arm Mali (Midgard and Bifrost),
Qualcomm Adreno Adreno is a series of graphics processing unit (GPU) semiconductor intellectual property cores developed by Qualcomm and used in many of their SoCs. History Adreno is an integrated graphics processing unit (GPU) within Qualcomm's Snapdragon ...
, and Broadcom VideoCore VI hardware.


Apple

As of June 2022, Apple devices do not provide native support for the Vulkan API. Vulkan support is available via the open-source library MoltenVK, which provides a Vulkan implementation on top of the
Metal A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
graphics API provided on iOS and macOS devices, though it has some limitations in regards to certain advanced API features. In June 2022, version 1.3.217 of Vulkan added support for Metal objects, facilitating import and export between the two APIs. In December 2022, Vulkan version 1.3.236 added small fixes for the interaction with Apple Metal.


Huawei, OpenAtom Foundation and Eclipse Foundation

As of August 2023,
Huawei Huawei Technologies Co., Ltd. ("Huawei" sometimes stylized as "HUAWEI"; ; zh, c=华为, p= ) is a Chinese multinational corporationtechnology company in Longgang, Shenzhen, Longgang, Shenzhen, Guangdong. Its main product lines include teleco ...
provides supports for native Vulkan NAPI with the industry standard SPIR-V shader since HarmonyOS 4.0 API 10 and extended into
HarmonyOS NEXT HarmonyOS NEXT ( zh, s=鸿蒙星河版, p=Hóngméng Xīnghébǎn) is a proprietary software, proprietary distributed operating system that succeeded the similarly named HarmonyOS, with the main difference that the "Next" operating system was de ...
system. It has been adopted as an extension on OpenAtom's consortium open source project,
OpenHarmony OpenHarmony (OHOS, OH) is a family of open-source distributed operating systems based on HarmonyOS derived from LiteOS, donated the L0-L2 branch source code by Huawei to the OpenAtom Foundation. Similar to HarmonyOS, the open-source distrib ...
with a newer graphics stack for the system, including
Eclipse Foundation The Eclipse Foundation AISBL is an independent, Europe-based not-for-profit organization that acts as a steward of the Eclipse open source software development community, with legal jurisdiction in the European Union. It is an organization supp ...
based Oniro project,
ArkGraphics 3D HarmonyOS (HMOS) ( zh, s=鸿蒙, p=Hóngméng, tr=Vast Mist) is a distributed operating system developed by Huawei for smartphones, tablets, smart TVs, smart watches, personal computers and other smart devices. It has a microkernel design wit ...
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.


Backwards compatibility

Vulkan is not backwards compatible with
OpenGL OpenGL (Open Graphics Library) is a Language-independent specification, cross-language, cross-platform application programming interface (API) for rendering 2D computer graphics, 2D and 3D computer graphics, 3D vector graphics. The API is typic ...
,The process of setting up a graphics rendering pipeline doesn't differ drastically from OpenGL Sones. E.g. shaders written in GLSL still can be reused: the source code can be compiled/translated by a standalone compiler into a new intermediate binary format called SPIR-V, which can then be consumed by the Vulkan API. although there are certain projects that implement OpenGL on top of Vulkan, such as Google's
ANGLE In Euclidean geometry, an angle can refer to a number of concepts relating to the intersection of two straight Line (geometry), lines at a Point (geometry), point. Formally, an angle is a figure lying in a Euclidean plane, plane formed by two R ...
and
Mesa A mesa is an isolated, flat-topped elevation, ridge, or hill, bounded from all sides by steep escarpments and standing distinctly above a surrounding plain. Mesas consist of flat-lying soft sedimentary rocks, such as shales, capped by a ...
's Zink. Vulkan is also not compatible with other graphics APIs such as
Direct3D Direct3D is a graphics application programming interface (API) for Microsoft Windows. Part of DirectX, Direct3D is used to render three-dimensional graphics in applications where performance is important, such as games. Direct3D uses hardware ...
,
Metal A metal () is a material that, when polished or fractured, shows a lustrous appearance, and conducts electrical resistivity and conductivity, electricity and thermal conductivity, heat relatively well. These properties are all associated wit ...
, and Mantle, however implementations of those APIs exist atop of Vulkan: * Direct3D has a number of implementations, namely DXVK for Direct3D 8, 9, 10, and 11, an
VKD3D-Proton
for Direct3D 12 support. Other, older versions, of Direct3D may be enabled with other related software such as
Wine Wine is an alcoholic drink made from Fermentation in winemaking, fermented fruit. Yeast in winemaking, Yeast consumes the sugar in the fruit and converts it to ethanol and carbon dioxide, releasing heat in the process. Wine is most often made f ...
. * Metal has an in-development third-party implementation name
Indium
intended to be used with the Darling compatibility layer. * Mantle has an in-development third-party implementation name
GRVK
to support older Mantle games. Platform-specific graphics APIs implemented atop of Vulkan may also be able to run on alternative platforms. For example
DXVK
provides an alternative shared library intended to be used on
Linux Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
natively (without the Wine compatibility layer) to help with game porting.


See also

*
List of 3D graphics libraries 3D graphics have become so popular, particularly in video games, that specialized Application programming interface, APIs (application programming interfaces) have been created to ease the processes in all stages of computer graphics generation. Th ...


Notes


References


Further reading

* Vulkan Programming Guide: The Official Guide to Learning Vulkan (OpenGL), Nov 10, 2016, by Graham Sellers and John Kessenich * Learning Vulkan, Dec 2016, by Parminder Singh * Introduction to Computer Graphics and the Vulkan API, Jul 1, 2017, by Kenwright * Vulkan Cookbook, Apr 28, 2017, by Pawel Lapinski * Vulkan 3D Graphics Rendering Cookbook, Feb 14th, 2025, by Sergey Kosarevsky and Alexey Medvedev and Viktor Latypov,


External links

* {{Khronos Group standards 2015 software 3D graphics APIs Cross-platform software Graphics libraries Graphics standards Software using the Apache license Video game development Virtual reality Augmented reality