Support us on Patreon to keep GamingOnLinux alive. This ensures we have no timed articles and no paywalls. Just good, fresh content! Alternatively, you can donate through Paypal, Flattr and Liberapay!

User submission: Vulkan tutorials now up on github

Posted by , | Views: 9,614

Update: Now on GitLab.

It's been a few years I had been meaning to learn modern OpenGL, so when Vulkan came out this February, I decided I'd just go and learn that instead. Boy, not knowing modern OpenGL did not help! Powering through despite much personal duties, I've written these tutorials along the way that I'd like to share with you:

In these tutorials, I first explore the basics of Vulkan, such as enumerating your GPU cards, find out the features your drivers have, and setting up Vulkan to use the cards. Due to the shear amount of work and knowledge required to render to screen, I experiment with compute shaders first. This keeps the complexity low, while allowing us to do some parallel work and evaluate Vulkan w.r.t multi-threading. Afterwards, I talk about extensions and layers in Vulkan, which are very nice. The next tutorials set up a window for rendering and show how to allocate resources. After eight painstaking tutorials, a triangle is drawn!

What I learned about Vulkan in this time is that it's just pure awesome. You have so much power over every aspect of rendering, your skills are the only limitation! Vulkan may seem complex at first, and it sure is verbose, but at its heart it's very simple. It's all about declaring what you are going to do, and then doing it. The Vulkan specification is also a very nicely written document that is quite easy to read.

If you are interested in learning about Vulkan with some real code you can play with, feel free to rummage through my tutorials. Naturally, they are written under Linux and target Linux.

Article taken from
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG, Humble Store and Paradox Interactive. See more information here.
The comments on this article are closed.
Page: 1/2»
  Go to:

kalin 13 July 2016 at 9:30 am UTC
You have star from me. Sadly I can't test the tutorial because my gpu don't support vulkan (560ti).
I will wait until vega release and then I will try it
MayeulC 13 July 2016 at 10:41 am UTC
kalinYou have star from me. Sadly I can't test the tutorial because my gpu don't support vulkan (560ti).
I will wait until vega release and then I will try it
^ This _exactly_

(Well, sort of. My GPU is a HD6870)
Adinimys 13 July 2016 at 10:51 am UTC
Awesome ! I'll try your tutorial when I'll have time. I'm in the same mind as you about learning OpenGL/Vulkan
Psycic101 13 July 2016 at 2:10 pm UTC
Not too Shabby hehe, but seriously, awesome work
linux_gamer 13 July 2016 at 2:58 pm UTC
Got them up and running. Really nice work!
kalinYou have star from me. Sadly I can't test the tutorial because my gpu don't support vulkan (560ti).
I will wait until vega release and then I will try it
Im so happy my good old 650M can use Vulkan.
barotto 13 July 2016 at 3:54 pm UTC
Thank you Shahbaz for these great tutorials. I've not tried them yet but i've looked at the source code and is very well organized and commented. Starred!
Smaloki 13 July 2016 at 5:40 pm UTC
Impressive! I actually held off on learning Vulkan because I was told that you'd need a certain amount of experience with graphics programming to comprehend it. And since I just started playing around with OpenGL three months ago, I figured I'd never be able to get into Vulkan.

But if you managed to get by with knowledge based on ancient OpenGL... well, I guess I should give it a try. To bad I'll have to switch to C now - no Vulkan binding for Vala atm. Maybe I'll implement one myself someday...
Cestarian 14 July 2016 at 12:26 am UTC
Thanks for this, I like you had been intending to learn opengl, then decided to just go for vulkan instead, haven't gotten started yet but I'm sure this will help
Shmerl 14 July 2016 at 1:30 am UTC
Those who'd rather not use C directly, check this out:
ShabbyX 14 July 2016 at 1:49 am UTC
Thanks for all the positive responses, guys! I'm happy I managed to inspire a few.

Like all free software, do feel free to point out errors, imprecisions, or send pull requests.
  Go to:
While you're here, please consider supporting GamingOnLinux on Patreon, Liberapay or Paypal. We have no adverts, no paywalls, no timed exclusive articles. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Livestreams & Videos
None currently, submit yours here!
See more!
Popular this week
View by Category
Latest Comments
Latest Forum Posts