What is Vulkan API? The Vulkan Runtime libraries explained

API

If you’re not someone who keeps up to date with the nuts and bolts of graphics processing, you might have noticed some unfamiliar files and drivers popping up in your system recently. Such pop-ups are normally labelled ‘Vulkan Runtime libraries’.

Don’t panic though. It’s not malware. In short, Vulkan is a new graphics API, designed for tasks such as 3D gaming. The Vulkan Runtime libraries are a collection of driver packages that GPU manufacturers like AMD and Nvidia have now begun including along with OpenGL and DirectX.

It’s based on components from AMD’s Mantle API, which the company donated to non-profit API consortium Khronos Group, in the hope of creating an industry-wide cross-platform API standard.

Vulkan API latest news

30/07/2018: Android Q could support the Vulkan graphics API

Google could switch to the Vulkan graphics API for UI rendering on next year's Android Q operating system, according to the latest reports.

A Google software engineer hinted at the move during a bug discussion on the Chromium Gerrit boards, relating to the inclusion of the API into Android's Google Chrome browser.

"Over time it will be relevant for all Android users as Vulkan availability will become ubiquitous though, happy to talk about it in a non-public forum," the software engineer wrote. "Also at some point there will be a requirement that we have Vulkan support for WebView when the framework is going to start using Vulkan for HWUI.

"So at some point we'll want to bite that bullet, it doesn't strictly have to be now, but we're only kicking the can down the road and as Chris points out we get engineering benefits from doing so (avoid bitrot)."

Google still partly relies on the Skia open-source, 3D graphics-rendering engine for its Chrome browser, Chrome OS, Android OS and other software -- although the HWUI library was introduced to partially replace Skia back on Android 3.0.

As noted by Developer Tech, the possible implementation of Vulkan may signify the firm's intent to move away from an OpenGL hardware-accelerated backend. In theory, the API could result in reduced frame rendering times on its mobile operating system, meaning smoother animations and improved transitions.

15/05/2018

Google has confirmed that its upcoming Android P operating system will support Vulkan 1.1, bringing a host of new tools to the fore for smartphone game developers.

Support for the original cross-platform graphics API has been present on Android systems since 7.0 Nougat, but the next-generation Android P will now support version 1.1 and its range of new features and improvements.

Launched back in March by The Khronos Group, Vulkan 1.1 became the first major refresh of the API and introduced multiple GPU support for the first time - as well as several additions that will benefit both developers and overall user experience (although end users are unlikely to notice the changes directly).

Android developers will now be able to take advantage of better virtual reality support, including the new multiview feature for improved VR performance. Multiview works by allowing a single rendering command to create two different perspectives, as opposed to manually generating both - as is the current method for smartphones.

There's also support for DirectX's high level shading language (HLSL), which will help developers perform tasks such as adding Vulkan support to an older DirectX 12 game.

Other additions for developers include Protected Content, Sub Group Operations, extension integration and inclusion of SPIR-V 1.3.

What's an API?

API is an acronym that stands for "application programming interface" and, essentially, describes a set of tools and defined protocols that allow applications to connect and communicate with other software or websites.

Graphics APIs interact directly with a device's graphics processing unit (GPU) in order to enable hardware accelerated rendering - and their presence results in a boost in 3D graphics performance for users.

The cross-language, cross-platform OpenGL is the best known of these graphics APIs, having hit the market back in 1992 - whilst Microsoft's DirectX collection of API packages continues to prove popular across the board. These graphics APIs are supported by the vast majority of modern systems - including the popular Raspberry Pi series of single-board computers.

Vulkan API features

The Vulkan graphics API boasts a range of features that provide improved performance for high-intensity rendering tasks. With modern CPUs having evolved and improved since the introduction of OpenGL and DirectX, Vulkan's features work to optimise the API for working with these higher-performance processors.

Vulkan's driver overhead reduction and improved batching features mean the CPU has less work to do, whilst scaling and distribution for multi-core, multi-threaded is also improved.

Other APIs often do not fully utilise the power of multi-threaded, quad-core processors as they are only designed for single-core CPUs - whereas Vulkan distributes workloads across numerous cores evenly. This results in fewer bottlenecks and greater CPU efficiency.

Another key attribute of Vulkan is its interoperability - meaning it can work across multiple graphics cards, operating systems and various platform types. This is of particular benefit to developers and companies looking to port their games between different systems.

Vulkan compatibility

Swipe to scroll horizontally
GPUWindows supportLinux support
AMD Radeon Rx 400 seriesYesYes (beta, Ubuntu only)
AMD Radeon R9 285 YesYes (beta, Ubuntu only)
AMD Radeon R9 380 YesYes (beta, Ubuntu only)
AMD Radeon Fury/Fury X YesYes (beta, Ubuntu only)
AMD Radeon HD 77xx – 79xx series YesNo
Nvidia GeForce 900 seriesYesYes
Nvidia Tegra X1YesYes
Nvidia GeForce GTX 750/750Ti/860MYesYes
Nvidia GeForce 700 seriesYesYes
Nvidia GeForce 600 seriesYesYes

Having a host of shiny new features is all well and good, but it’s pointless if the API itself isn’t supported. This is part of the problem AMD’s Mantle API originally faced, before it was rolled into Vulkan.

Luckily, Vulkan will theoretically be supported on any hardware that currently runs OpenGL ES 3.1 or OpenGL 4.X and over. This is, however, dependent on driver support – hardware manufacturers will need to release compatible drivers before users can take advantage of Vulkan’s performance benefits.

Daniel Todd

Dan is a freelance writer and regular contributor to ChannelPro, covering the latest news stories across the IT, technology, and channel landscapes. Topics regularly cover cloud technologies, cyber security, software and operating system guides, and the latest mergers and acquisitions.

A journalism graduate from Leeds Beckett University, he combines a passion for the written word with a keen interest in the latest technology and its influence in an increasingly connected world.

He started writing for ChannelPro back in 2016, focusing on a mixture of news and technology guides, before becoming a regular contributor to ITPro. Elsewhere, he has previously written news and features across a range of other topics, including sport, music, and general news.