Seeing the Vulkan Runtime libraries on your PC and wondering what in the world are they? Here is everything you need to know about Vulkan and its famous libraries.
Have you ever seen a strange entry on your Windows computer?
Strange windows features that will make you think of Vulkan Runtime Libraries and other confusing Windows files may make you suspect malware.
What are the Vulkan runtime libraries?
The solution is not as complex as it sounds.
We should first note that these libraries have nothing to do with Star Trek Vulcan species, so I apologize to science fiction fans.
Instead, Vulkan Runtime Libraries is a recent API (application programming interface) used for computer graphics.
An API is simply a collection of tools that programs on your computer and the websites you visit “speak” each other. Programmers can use API to create new apps – and games in this case. For example, a developer can use the Twitter API to implement service features in a new application.
But these weird files are harmless! Let’s see what they do. Read more while surfing around?
One of the weirdest named programs you’ll find is Vulkan Run Time Libraries. Let’s find out what this is, its purpose, and what you should do about it.
The first serious competitor of the DirectX 12 has arrived in the form of version 1.0 of the Vulkan specification.
Its development is in charge of the Khronos Group, based on the previous work of the Mantle controllers of AMD, a group also in charge of the development of the OpenGL specifications and the OpenCL parallel programming standard.
He has done it with some delay, but he has done it in style, since the specification arrives with the drivers for graphics cards AMD and Nvidia, and the game The Talos Principle being the first in the market to be compatible for this new graphic library, and available on Steam.
What is Vulkan?
Vulkan is a low-level graphic library for the creation of 3D graphics and effects, although they are also called API or programming interface since it is a specification of how an application has to communicate with the controllers that implement this specification.
The other significant representative of low-level libraries is DirectX 12, although they have been used for decades in the world of consoles.
The term low level refers in programming to a language that practically lacks abstraction, so it is not obvious at first glance what each line of code does unless you know how to program in that language. The most representative is the assembly language.
Low Level Against High Level
High-level languages usually represent a high degree of abstraction, such as C or Java, in which terms extracted from the speech are used to make a loop, such as structure. If something happens, then you do something (classic if … else ). Therefore it is easier to code with them.
Taking it to the field of graphic libraries, which are programming after all but with a special syntax, high-level libraries take control of the management of various system resources, improve abstraction during programming, and the developer will You can focus on what really matters to you which is the movement of the characters, creation of scenes or effects.
However, low-level libraries allow coding to something more easily understood and quick to execute by GPUs, they give the programmer control of what happens inside, and therefore it is easier to create poor developments or take much more time to create if you don’t have enough experience with them.
Khronos Group received less than two years ago a great gift from AMD when the company gave it all the work done to date with low-level Mantle controllers. But that was only the beginning of everything since Khronos Group had to make sure that the Vulkan specification would be compatible with any platform and architecture.
Vulkan will remain the low level multiplatform graphic library, while OpenGL will be the high-level graphic library. Among other advantages (at the expense of development effort)
Furthermore, Vulkan allows you to optimize the headers of the API requests for the generation of graphics, elimination of non-essential layers in final developments (such as validation and debugging), better management of parallel processing on graphics cards, and reducing CPU processing needs.
It also simplifies the development of shaders or shaders, responsible for creating special effects and transformations in games, they are the differentiating element and really the most complex in a video game.
They manage elements such as smoke, fire, or shadows, which is really what gives current games higher quality and graphic depth. In addition, SPIR-V is a binary format that simplifies in part, developing shaders for Vulkan with other languages in a precompiled format.
The development software (SDK) called LunarG has been distributed at the same time so that programmers can test the API on their preferred platform, and it is available for Linux and Windows thanks to Valve’s support, and it should soon be available on Android.
On Android, it will depend on Google. Its advantage is that it is open-source, with documentation, examples and debugging tools, validation layers and other utilities that simplify the creation of games.
What operating systems is it available for?
As a cross-platform library, Vulkan has extensive support in the video game industry. One of the most fervent supports comes from Gabe Newell, the owner of Valve and Steam, and therefore is a key piece in the future success of Steam OS since with the current OpenGL controllers it is not able in many cases to approximate the performance of DirectX 11.
Each operating system, in turn, needs a different Vulkan Vulkan Runtime libraries due to how the various components of the operating system itself interact, such as with the kernel or kernel of the system.
While for Windows and Linux the development of the specification depends on Khronos Group, with Valve contributing because it is interested in this development for Steam OS, in the case of Android being a platform whose development rights belong to Google, it will be the one that releases the specification.
In these cases, each specification may have limitations as to the allowed characteristics. For example, due to limitations of the Android video model itself, it may not be compatible, or Google may decide that certain tasks that consume more resources are not appropriate on Android. The Google specification and compatible features will be known later.
The good news is that Vulkan will be available for earlier versions of Windows, and not exclusively for Windows 10 as with DirectX 12. They are available for Nvidia and AMD.
Apple Case Behind Vulkan Runtime libraries
This is where we get to Apple. Since the apple company has been developing its own low-level API called Metal for years, currently included in OS X and iOS, Apple withdrew from Vulkan’s development to focus on Metal.
Therefore, and since the graphics drivers for OS X depend on Apple, there seems to be no support for Vulkan in the near future.
But Metal does not include improvements in the model of shaders that do include Vulkan Runtime libraries and DirectX 12, so their performance is lower than that of the other low-level libraries.
At least in the current version, but it is something that Apple could change simply by updating the Metal specification in future versions of iOS and OS X.
Compatible graphics cards
Vulkan’s development began with the self-imposed goal that the hardware that OpenGL could use was compatible with the new API.
That implies that there is a large number of compatible GPUs, although because each company has to develop the drivers (the implementation of the Vulkan specification) for its graphics cards, the reality is a bit different.
For example, AMD provides support for Vulkan on graphics cards with a chip compatible with Graphics Core Next (GCN) 1.0 or higher. That is all the graphics cards from about four years ago to this part, which is not bad either, and include the Radeon HD 7700 onwards.
Nvidia supports Vulkan on the Kepler and Maxwell architecture graphics cards (600 series onwards). To the best of our knowledge, Intel supports Vulkan for now in graphics integrated into Broadwell processors (Iris Pro 6200, for example) and later.
In the section of mobile device GPUs, compatibility will depend largely on manufacturers. ARM has its driver for Linux in development, as well as Imagination Technologies (the PowerVR GPUs used in Apple and other chips), as well as Qualcomm.
But at the moment, it is not known what specific chips will be compatible because it depends on the specification released by Google.
All important graphic engines are being adapted to make use of Vulkan. That includes companies and products from Oxide, Lucasfilm, Blizzard, Electronic Arts, Unity, Epic Games or Valve.
Wide support that will have its rewards in the medium term, since the creation of AAA video games with a low-level API is not simple or fast, and less when the specification has not been available so far.
Vulkan’s main problem in Windows 10 to compete for face-to-face with DirectX 12 is actually its cross-platform system character.
Because of this, they have had to do without using WDDM 2.0 (Windows Display Driver Model, or Windows video driver) that was designed by Microsoft to improve the performance of graphic drivers.
Therefore it is difficult that, whatever they do, Vulkan will have better performance in Windows 10 than DirectX 12, if not impossible.
The cross-platform nature of any architecture of this type (as with Java) prevents shortcuts from being used to improve the performance taken in certain operating systems.
Put in context, graphics cards with DirectX 12 have more direct communication with the operating system through WDDM, while Vulkan will have to take alternative communication paths that will impact its performance.
Another problem they have is that the drivers will take time to optimize.
AMD, Nvidia, and Intel warn that they are beta controllers, with all that that implies, and in the tests of The Talos Principle carried out with Vulkan they yield less than DirectX 11, but still significantly higher than OpenGL 11.
Other games with Vulkan
Games that use the Valve Source 2 engine will be updated not too late since Valve is very interested in Vulkan’s success for Steam OS. That includes only DotA 2, although Counter-Strike: Global Offensive could also be updated.
Because there is still a lot of work to be done by the developers of the drivers, it is more than likely that there will be no major game releases using Vulkan until next year.
Something similar to what happened with DirectX 12, which is now when there are going to be games that use them.