The specification for the long awaited Vulkan graphics API has now been released by Khronos. An SDK by LunarG has also been released which contains validation and debugging tools for Vulkan applications.
Quite a lot of people have been waiting excitedly for the Vulkan spec to come out and there has been a lot of hype surrounding the new API. Vulkan has been designed to be a high-performance low-level API which can take advantage of modern multicore processors far better than OpenGL. We will have to see how much this new approach affects real life performance once we have drivers with Vulkan support and games that utilize this new API, hopefully we'll get that soon.
AMD have also released a video explaining how Vulkan works in a nutshell.

Direct Link
You can read the full Vulkan specification announcement from Khronos here and find some docs and samples of Vulkan in the Khronos GitHub. Correction: The Vulkan samples page is currently empty. The LunarG Vulkan SDK will be available on their Vulkan page but currently the download page might show you a 404 error.
The safety and memory management questions were answered here: https://www.gamingonlinux.com/articles/the-talk-about-vulkan-at-fosdem-by-jason-ekstrand-from-intel-now-has-a-video-up.6639The error checking is a different layer in Vulkan that can be enabled in dev and disabled in production. This should theoretically take care of all the major problems before they hit users. Then again AAA titles should be obvious bug-free on launch and we all now how take works...My concern exactly. For now a buggy shader may prevent rendering some parts of the scene like skin in Assassin's Creed. Looks awfully but at least you can exit the game. If the entire desktop hangs up instead (together with unsaved documents and what else), gamers would be not just upset but furious.
Vulkan API has to be superior or at least on par with DirectX otherwise cant see the point of a new API :(
10 FPS More than OpenGL is disappointing. Oh well lets hope things will be better...
Example, EA/Bioware will use Vulkan/Dx12 for their Engine but the Vulkan version will be only for Windows < 10 ...
I want to believe that is still too early to judge Vulkan API.
Vulkan API has to be superior or at least on par with DirectX otherwise cant see the point of a new API :(
10 FPS More than OpenGL is disappointing. Oh well lets hope things will be better...
The important thing is that, going by that graph, Vulkan could put Linux performance almost on par with DX11, solving what is currently the one biggest weakness for the platform in comparison to Windows.
That's impressive for a brand new release. I expect we'll see even more improvements as the API matures.
From the sound of the GDC talks there will be a few Vulkan titles released by this time next month, so I'm excited to see what they are.The question is, does Vulkan support automatically mean Linux support?
I just hope Blizzard implement this in WoW because it really is the one and only game/application that annoyingly keeps me dual booting.I thought WoW ran perfectly in Wine.
One can dream.
From the specification section 2.5:Thanks, that's a strong point!
"... implementations must ensure that incorrect usage by an application does not affect the integrity of
the operating system, the Vulkan implementation, or other Vulkan client applications in the system, and does not allow
one application to access data belonging to another application. Applications can request stronger robustness guarantees
..."
So a misbehaving application should only be able to crash itself assuming there are no OS/driver bugs.
Vulkan does not let you just access the hardware, just because it's closer to it, it's not a direct access. It basically just gives you more control about command queues and buffers, within a few other things. But you still have to get a command buffer by the driver (you request a buffer of a kind and size and the driver supplies you with that), that didn't change :p.And this perfectly complements it. I'm relieved now.
Vulkan applications still have their OWN LOCAL buffers, which the driver better does not get mixed up with other buffers reserved on the GPU. Getting Vulkan to be displayed on X11 and/or keeping different applications not getting in each others way is the responsibility of the driver (still).
But ye, you for sure can kill the driver with Vulkan, as much as you could with OpenGL (locking up the GPU).
BTW, what if Wine/eON implements their D3D translation in Vulkan? Could it give any significant boost or reduce hitching?
Last edited by rkfg on 16 Feb 2016 at 7:32 pm UTC
I want to believe that is still too early to judge Vulkan API.
Vulkan API has to be superior or at least on par with DirectX otherwise cant see the point of a new API :(
10 FPS More than OpenGL is disappointing. Oh well lets hope things will be better...
Chill man, it is too early.
Drivers just arrived, prolly they're all in beta right now (even though only AMD labbled as beta).
Also we don't know how good was Talos principle's implementation of Vulkan. We only know they were the first!
Bottom line: there're too many open variables to draw any conclusion.
Last edited by amonobeax on 16 Feb 2016 at 7:41 pm UTC
If so, does anyone know if it works with PRIME/bumblebee somehow? Has anyone tried it?!
Also we don't know how good was Talos principle's implementation of Vulkan. We only know they were the first!Well, we do actually. According to the developer
EDIT: Ah, the source was quoted by our beloved leader in [his new article](https://www.gamingonlinux.com/articles/the-talos-principle-getting-a-linux-build-using-vulkan-in-a-few-days.6662), saving me the trouble of finding it:
Port. Make it work as fast as possible just by wrapping current engine design around Vulkan. Avoid all pitfalls and bottlenecks. This is what we did by now and released as patch for Talos.
Last edited by tuubi on 16 Feb 2016 at 8:12 pm UTC
Thanks for the info bro!
In other words we can see improvements even with a Vulkan implementation made on the fly. That's awesome!
Does the nvidia driver support notebook gpus? (i have a GT 650M [kepler])AFAIK bumblebee will not work (it is OpenGL only) -- NVIDIA is getting closer to "normal" optimus support (after 10 years ...), they are now implementing semaphores into the intel driver which are required to enable the support. However, maybe nouveau can also manage to support Vulkan soon ?
If so, does anyone know if it works with PRIME/bumblebee somehow? Has anyone tried it?!
Last edited by nocri on 16 Feb 2016 at 8:16 pm UTC
AFAIK optimus will not work (it is OpenGL only) -- NVIDIA is getting closer to "normal" optimus support (after 10 years ...), they are now implementing semaphores into the intel driver which is required to enable the support. However, maybe nouveau can also manage to support Vulkan soon ?
With PRIME/nouveau it *should* be possible
bumblebee(primusrun) uses LD_LIBRARY_PATH and only loads different OPENGL drivers (ikr because i use it), but what happens if i have Nvidia Vulkan drivers? (or if i have both intel + nvidia), so if i "optirun" the game will it work? And also website only lists desktop GPUs!
EDIT:
It will work according to this:
https://www.khronos.org/conformance/adopters/conformant-products
Last edited by silverphil on 16 Feb 2016 at 8:51 pm UTC
If you can suggest a good tool to do this in linux, reply there.
Thank you
I was talking about implementing Vulkan into the game, to help the FPS, just as switching to openGL improves the FPS in WINE.Switching WoW to OpenGL actually makes it run much slower here.
Can not say that, specs would be interesring. I get 60+ fps on ogl and 25-30 on DX on a 770.
Last edited by STiAT on 18 Feb 2016 at 12:44 am UTC
BTW, what if Wine/eON implements their D3D translation in Vulkan? Could it give any significant boost or reduce hitching?
Highly depends ln, they are still wrappers. Considering DX12<->Vulkan probably, they have a very similar way they work.
For existing applications it's very likely a complete rewrite of eon/wine DX API with a lot of more work to be done.... huge task which I do not see happening. I doubt it.
So my guess is that they will stick with what they have and try to map DX12 to Vulkan. But there always vave been people out there doing crazy things, so nobody would know.
I want to believe that is still too early to judge Vulkan API.
Vulkan API has to be superior or at least on par with DirectX otherwise cant see the point of a new API :(
10 FPS More than OpenGL is disappointing. Oh well lets hope things will be better...
It is too early. Optimization in drivers and engines is badly needed. Time will tell, the next 6 month up to a year.
See more from me