Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
We do often include affiliate links to earn us some pennies. See more here.

Dota 2 updated to support the Vulkan API

By -
Dota 2 is Valve's first game to support Vulkan, the successor to OpenGL. This is Valve's first public release of the game to use Vulkan, so there will be some rough edges. It is in beta, so it's not finished.

You will need to opt-in to the Steam Client Beta to get more recent Steam Overlay fixes for Vulkan. Without it, the Steam Overlay will cause a performance drop with Vulkan enabled games.

You will need to click the Vulkan DLC in your Steam library and run Dota 2 with the "-vulkan" launch option to make it use it.

GPU drivers: NVIDIA 600-series+ (364.16+ driver), AMD GCN 1.2 (16.20.3 driver). You will also need at least 2GB of VRAM or it may crash.

A new Nvidia driver is due to come out with vertical sync fixes, as the game will still tear even with it on.

Basic testing, Intel i7, Nvidia 980ti
With the Vulkan option enabled basic gameplay with not much going on it was fluctuating between 79-85FPS.
With the OpenGL option the same was sitting at around 100-110FPS.

I imagine the Vulkan option will improve much more over time. Considering that API, drivers and game implementation are all knew we need to give it time to mature.

Actual benchmarking
I tried to use the famous Phoronix Test Suite to benchmark it, but I find that software to be rather cumbersome and annoying to use. I can't seem to get the Dota 2 benchmark to even run. I edited the script to actually point to my Dota 2 install (the PTS test relies on the default install location) but it doesn't find Steam). See my forum post on Phoronix here about it, maybe someone can shed some light as I've never really used PTS before. If I can get it to work, I will do some proper tests.

See the news post on the official Dota 2 website here.

File any bugs you find on github here. Article taken from GamingOnLinux.com.
Tags: Beta, Steam, Vulkan
0 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
18 comments

Keyrock May 24, 2016
I tried to use the famous Phoronix Test Suite to benchmark it, but I find that software to be rather cumbersome and annoying to use. I can't seem to get the Dota 2 benchmark to even run. I edited the script to actually point to my Dota 2 install (the PTS test relies on the default install location) but it doesn't find Steam). See my forum post on Phoronix here about it, maybe someone can shed some light as I've never really used PTS before. If I can get it to work, I will do some proper tests.

The GoL/Phoronix Blood Feud continues... :D
Liam Dawe May 24, 2016
I tried to use the famous Phoronix Test Suite to benchmark it, but I find that software to be rather cumbersome and annoying to use. I can't seem to get the Dota 2 benchmark to even run. I edited the script to actually point to my Dota 2 install (the PTS test relies on the default install location) but it doesn't find Steam). See my forum post on Phoronix here about it, maybe someone can shed some light as I've never really used PTS before. If I can get it to work, I will do some proper tests.

The GoL/Phoronix Blood Feud continues... :D
Not at all, I have great respect for his work despite my comments now and then (Read Phoronix for years), but PTS could use some quality of life updates to make it simpler to use. A UI wouldn't be a bad idea either.
Keyrock May 24, 2016
Not at all, I have great respect for his work despite my comments now and then (Read Phoronix for years), but PTS could use some quality of life updates to make it simpler to use. A UI wouldn't be a bad idea either.
Yeah, I'm just having a spot of tongue in cheek fun.

On topic: I suspect we won't be seeing gains immediately, as with Talos, as it's probably either just a wrapper or a very basic/barebones implementation right now.
neowiz73 May 24, 2016
while in development doing a benchmark won't do any good because with the development layers in place Vulkan operates much like OpenGL does on a normal basis. you may see some increases once it's more optimized. you won't see full potential until the development layers are removed from the Vulkan development build, which is when it will be officially released.
minj May 24, 2016
while in development doing a benchmark won't do any good because with the development layers in place Vulkan operates much like OpenGL does on a normal basis. you may see some increases once it's more optimized. you won't see full potential until the development layers are removed from the Vulkan development build, which is when it will be officially released.

Where did you get the idea that they actually ship with those layers on? I would think it would be common sense to disable them even if it's a beta. I'd wager you wouldn't get 20FPS out of it if that was the case.
Jajcus May 24, 2016
while in development doing a benchmark won't do any good because with the development layers in place

Development layers can easily be enabled/disabled on runtime using environment variables. Or even when they are configured via game settings, they can be easily disabled and then they cause _no_ overhead. Vulkan validation and debug layers is not a thing that you recompile your whole project with. Just enable it, or not, when loading the Vulkan driver.

There might be some other development / debugging code enabled there, though.


Last edited by Jajcus on 24 May 2016 at 12:56 pm UTC
STiAT May 24, 2016
Nice. Having Dota2 on Vulkan means that Valve now is going to do the same as Croteam: Testing, optimizing and helping driver developers test performance to improve the drivers.
dubigrasu May 24, 2016
I tried to use the famous Phoronix Test Suite to benchmark it, but I find that software to be rather cumbersome and annoying to use. I can't seem to get the Dota 2 benchmark to even run. I edited the script to actually point to my Dota 2 install (the PTS test relies on the default install location) but it doesn't find Steam). See my forum post on Phoronix here about it, maybe someone can shed some light as I've never really used PTS before. If I can get it to work, I will do some proper tests.

The GoL/Phoronix Blood Feud continues... :D
Not at all, I have great respect for his work despite my comments now and then (Read Phoronix for years), but PTS could use some quality of life updates to make it simpler to use. A UI wouldn't be a bad idea either.
Michael should indeed update some scripts from the suite (he has this habit of leaving less used scripts to rot), but not sure what you mean by "cumbersome and annoying to use", its graphical interface is already dead simple.
View video on youtube.com


Last edited by dubigrasu on 24 May 2016 at 2:00 pm UTC
Liam Dawe May 24, 2016
The official site has no link to any kind of manual I could find. Unless I am blind, only found it by googling for it: http://www.phoronix-test-suite.com/documentation/phoronix-test-suite.html

As for the GUI, it seems it does include some kind of HTML5 UI, but even that won't load without first configuring by a text file. It doesn't tell you what to configure either, just tells you to do it.
dubigrasu May 24, 2016
The official site has no link to any kind of manual I could find. Unless I am blind, only found it by googling for it: http://www.phoronix-test-suite.com/documentation/phoronix-test-suite.html

As for the GUI, it seems it does include some kind of HTML5 UI, but even that won't load without first configuring by a text file. It doesn't tell you what to configure either, just tells you to do it.

You don't have to configure anything, just start with "phoronix-test-suite gui" and agree to User Agreement.
stss May 24, 2016
Just tried it out in a full game. Crashed twice, and seemed to have a short period when first loading the game each time where the textures would flicker a bit. But it would stop after a minute or two.
Performance is still lower than OpenGL as the article said, but still very much playable.

I look forward to seeing how much it improves.


Last edited by stss on 24 May 2016 at 2:38 pm UTC
neowiz73 May 24, 2016
while in development doing a benchmark won't do any good because with the development layers in place Vulkan operates much like OpenGL does on a normal basis. you may see some increases once it's more optimized. you won't see full potential until the development layers are removed from the Vulkan development build, which is when it will be officially released.

Where did you get the idea that they actually ship with those layers on? I would think it would be common sense to disable them even if it's a beta. I'd wager you wouldn't get 20FPS out of it if that was the case.

this has been mentioned in the various talks and presentations by the Khronos Group and certain developers that have already had some experience with the API.

BTW the game has not "shipped" it is in BETA.


Last edited by neowiz73 on 24 May 2016 at 4:53 pm UTC
neowiz73 May 24, 2016
while in development doing a benchmark won't do any good because with the development layers in place

Development layers can easily be enabled/disabled on runtime using environment variables. Or even when they are configured via game settings, they can be easily disabled and then they cause _no_ overhead. Vulkan validation and debug layers is not a thing that you recompile your whole project with. Just enable it, or not, when loading the Vulkan driver.

There might be some other development / debugging code enabled there, though.

without the dev layers in place then the whole game would crash much easier, it doesn't have the same built in support that openGL has from my understanding. with the dev layers in place it gives a lot of error feedback as well as other analysis. this is much of the reason why it's slower than that of openGL when in development.


Last edited by neowiz73 on 24 May 2016 at 5:03 pm UTC
minj May 24, 2016
while in development doing a benchmark won't do any good because with the development layers in place Vulkan operates much like OpenGL does on a normal basis. you may see some increases once it's more optimized. you won't see full potential until the development layers are removed from the Vulkan development build, which is when it will be officially released.

Where did you get the idea that they actually ship with those layers on? I would think it would be common sense to disable them even if it's a beta. I'd wager you wouldn't get 20FPS out of it if that was the case.

this has been mentioned in the various talks and presentations by the Khronos Group and certain developers that have already had some experience with the API.

BTW the game has not "shipped" it is in BETA.

How about a source?
natewardawg May 24, 2016
BTW the game has not "shipped" it is in BETA.

How about a source?

I agree, if it were officially released you shouldn't have to add the "-vulkan" flag when you launch the game, it should be a menu option in the graphics settings. Also if it's official then having Vulkan support as DLC also seems a bit clumsy.
mrdeathjr May 25, 2016
This is some dota 2 opengl and vulkan tests

System Specs Used in Both Tests

Nvidia Drivers 367.18 (run package from nvidia homepage)

Xubuntu 16.04 64Bit - Kernel 4.4.0-23 generic (ubuntu mainline) - CPUFreq: Performance

CPU: INTEL Pentium G3258 (Haswell 22nm) 4.1Ghz + Artic Cooling Alpine 11 Plus

MEM: 8GB DDR3 1333 (2x4) Patriot value (dual channel: 21.3 gb/s)

GPU: Zotac Nvidia Geforce GT630 (GK208 28nm: 384 Shaders / 8 ROPS) Zone Edition Passive Cooling 2GB DDR3 1800Mhz 64Bit (14.4Gb/s)

MAINBOARD: MSI H81M E33


OpenGL

View video on youtube.com


Vulkan

View video on youtube.com


Concluded test can say this: opengl client dont use gpu at max but leave enough gpu for dont give troubles when nvenc stay recording at 48fps

But on vulkan side gpu shows more higher values 99 and 100% in some time periods and this dont allow use nvenc for recording at 48fps, only possible use 30fps without problems*

*If gpu have 99 or 100% of use nvenc down use and if this situation appears video recording is damaged because nvenc skip fps

Respect performance as others said performance is similar in some situations less or more: with much objects in scene is more notorious or with some explosions

Without forget vulkan stay stable on test (no crash) and 48fps nvenc recording reduce performance around 10 to 15fps depending scene

^_^


Last edited by mrdeathjr on 25 May 2016 at 2:45 am UTC
Belarrius May 25, 2016
But, you have just an DualCore CPU.

Vulkan is usefull with a lot of CPU Core, like 4 cores, 6 cores, 8 cores :3

I want to see the difference between OpenGL and Vulkan with a 6-8 cores for exemple :p
tuubi May 25, 2016
View PC info
  • Supporter Plus
I want to see the difference between OpenGL and Vulkan with a 6-8 cores for exemple :p
At this point Dota 2 can't show you that difference. Just the difference between one finished and optimized backend (OpenGL) and one that's still in beta. You'll have to wait for a proper benchmark.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring 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!
The comments on this article are closed.