We take a look at what the Vulkan Runtime libraries are and what they mean for users…
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/09/2016
S7 support for Vulkan API available
The Galaxy S7 now supports Vulkan API.
Samsung announced earlier this year that its S7 and S7 Edge flagships would be the first smartphones with support for the next-generation API. The company did not manage to immediately fulfill the claim, but Vulkan support has now rolled out for the mobile devices.
The cross-platform Vulkan API - which provides a range of advanced features for developers - is natively supported by Android Nougat 7.0 and drastically improves game visuals on mobile displays.
As noted by Phone Arena, Samsung initially demonstrated these impressive improvements at this year's E3 event using Need for Speed: No Limits - with the website describing the side-by-side graphics comparison as showing "enough of a difference to make us excited about what's to come".
Cross-platform game engine Unity has just added support for Vulkan, with the Vulkan Renderer Preview meaning developers are now able to use the API with their games.
Unity games on Android currently include Lara Croft: Relic Run, Monument Valley and Crossy Road.
Android Police comments that Vulkan API outperforms the OpenGL ES API that is currently used by the majority of Android titles. Unity itself also states that frame times are boosted by 35 percent over the OpenGL. ES 3.1.
The website does warn, though, that Unity's Vulkan Renderer Preview is "very much experimental at this point" and is being tested on Samsung Galaxy S7 devices, amongst others.
Developers have the option to enable support for Vulkan using the Unity player settings.
17/08/2016: Samsung’s new Galaxy Note 7 device will support Vulkan API, the company has confirmed.
Users are set to be given a “Galaxy Game Pack” with the handset which includes several features that make use of the performance-enhancing software, according to CNET.
Four games in the package will support the new Vulkan API: Need for Speed No Limits, Olympus Rising, Vainglory and Hit. In total, however, the pack will consist of over a dozen titles – as well as additional in-app purchases.
The full list of titles in the Game Pack have been confirmed as: Need for Speed No Limits, Vainglory, Olympus Rising, Hit, Nonstop Knight, Empire: Four Kingdoms, MARVEL Contest of Champions, Angry Birds Pop Bubble Shooter, Star Wars Galaxy of Heroes, Hearthstone: Heroes of Warcraft, Asphalt 8: Airborne, Hungry Shark World, Sims City Free Play and Clash of Kings.
The gaming bundle will be offered to Galaxy Note 7 purchasers from 20th August until January 2017 - and will also be available through the Google Play store for other users.
Vulkan – developed by industry consortium Khronos Group – was also included on Samsung’s popular Galaxy S7 and S7 Edge flagships and the company previously announced at its developer conference that it would be making Vulkan API support a feature of Android Nougat.
Unlike other APIs designed for single-core processors, the cross-platform Vulkan is designed to distribute its workload evenly across multiple cores – meaning a lower CPU load and an increase in GPU performance. As a result, users experience improved rendering and enhanced visuals.
What’s an API?
A graphics API – or application programming interface – is a set of software tools that developers use to interact directly with a system’s GPU to enable hardware accelerated rendering. This, in turn, results in improved 3D graphics performance.
The most well-known is OpenGL, which is a cross-language, cross-platform API, which was released in 1992. There’s also DirectX, which is a collection of API packages developed and maintained by Microsoft. These are supported by the vast majority of modern systems, including the Raspberry Pi 2.
Vulkan API features
Vulkan has a number of features designed to enable more performance for high-intensity rendering tasks. Most of these are focused around optimising the API for working with modern CPUs, which have come on in leaps and bounds since that introduction of OpenGL and DirectX.
This includes driver overhead reduction and improved batching, which means the CPU has to do less work. It also improves scaling and distribution for multi-core, multithreaded CPUs.
Other APIs are designed primarily for single-core CPUs, but that can often leave the latest multi-threaded quad-core processors being underused. Vulkan aims to distribute workloads across all cores evenly, resulting in fewer bottlenecks and more efficient CPU use.
Interoperability is a focus too. Indeed, Vulkan is designed to work across multiple operating systems, graphics cards and even platform types, potentially allowing companies to easily port their games between multiple systems.
Vulkan compatibility
| GPU | Windows support | Linux support |
| AMD Radeon Rx 400 series | Yes | Yes (beta, Ubuntu only) |
| AMD Radeon R9 285
|
Yes | Yes (beta, Ubuntu only) |
| AMD Radeon R9 380
|
Yes | Yes (beta, Ubuntu only) |
| AMD Radeon Fury/Fury X
|
Yes | Yes (beta, Ubuntu only) |
| AMD Radeon HD 77xx – 79xx series
|
Yes | No |
| Nvidia GeForce 900 series | Yes | Yes |
| Nvidia Tegra X1 | Yes | Yes |
| Nvidia GeForce GTX 750/750Ti/860M | Yes | Yes |
| Nvidia GeForce 700 series | Yes | Yes |
| Nvidia GeForce 600 series | Yes | Yes |
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.