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.

Want to benchmark Dota 2 on Linux? Here's how to do it

By - | Views: 44,734
Note: This guide will continue to be updated based on feedback from everyone. This isn't an attempt to better anyone else's method, but simply give a step-by-step guide for anyone interested.

Last updated: 16/06/2016 17:44 UTC.

For those of you who aren't sure how to benchmark Dota 2 on Linux, here's a small guide. It frustrated me there wasn't one, so after getting help I'm sharing it with you all. One thing a lot of websites miss when doing benchmarks, is easily detailing how others can do their own.

With thanks to people in the GOL IRC and @PimpmuckL on twitter and everyone commenting with improvements.

Benchmarking isn't usually my thing and after doing more I will totally back Phoronix here, it is very time consuming. Hopefully with this guide not only will I remember and have less headaches, but so will you.

Note: Remember every demo file will give you different scores. Even with the same hardware your scores can still differ from someone else. No single demo file is "the best" to use.

You can do it three possible ways, you can run it inside Dota 2 directly, you can use the Steam Launch options or use a simple benchmarking script. A fourth way is to run it in terminal using the full launch command, but it's better to use a script than do that.

Important: Graphical settings can change between API and Resolution adjustments, make sure they are 100% the same. Pay close attention to the advanced options in Dota 2. The "-autoconfig_level 3" setting is to ensure it runs at the Best Looking setting each time.

You can find a full list of Dota 2 commands here. You can also find other launch options here.

I decided to leave the sound on, since it's part of the game it will give a more accurate score overall rather than turning it off. You play games with sound on (usually right?) so why benchmark without sound. I understand there could be audio pipeline issues, but I feel having the sound on makes it more accurate for what you can actually expect to achieve in-game yourself. If you do want to remove the sound, you can use "-nosound".

Getting a demo file
If you want to benchmark against what Phoronix uses, then you need this demo file.

Download it and move it into the Dota 2 content folder. Find where Dota 2 is installed and place it in the main data folder (this should be the default location):
/.local/share/Steam/steamapps/common/dota 2 beta/game/dota

There are others you can use, like the ones Valve suggested Phoronix to use to re-do his initial benchmarks which were incorrect. Otherwise, you can use this file.

Testing inside Dota 2 directly
First you need to enable the in-game console and pick a graphics API. You do this by setting launch options for Dota 2. Right click on Dota 2 in Steam, click properties, set launch options to get a screen like this:
image

For Vulkan:
+con_enable 1 -vulkan +fps_max 0 -autoconfig_level 3 -high
Note: "-console" also works in place of "+con_enable 1". They just behave differently, but it won't affect scores.

For OpenGL
+con_enable 1 -gl +fps_max 0 -autoconfig_level 3 -high

Note: If you want to compare against Phoronix scores, you need to add in "+timedemo_start 50000 +timedemo_end 51000"

Then you can load Dota 2, press the "\" key to get the console open and run a command like this:
timedemo *demo-file-name*

Run the test directly from Dota 2 launch options
You can also run the entire test directly from the launch options (like above) using a command like the below. I find this way to be slower, but it's here for referencing if needed. This will then run the demo as soon as you play Dota 2.

Note: If you want to compare against Phoronix scores, you need to add in "+timedemo_start 50000 +timedemo_end 51000"

For Vulkan
-vulkan +timedemo *demo-file-name* +fps_max 0 -novconsole -autoconfig_level 3 -high

For OpenGL:
-gl +timedemo *demo-file-name* +fps_max 0 -novconsole -autoconfig_level 3 -high

Using a benchmark script
You can save this to a text file, make it executable and run it to do a benchmark.

Note: If you want to compare against Phoronix scores, you need to add in "+timedemo_start 50000 +timedemo_end 51000"

#!/bin/sh

DEMOFILE=*demo-file-name*

WIDTH=1920
HEIGHT=1080

# -vulkan or -gl
API="-vulkan"

# this should be the default install folder, change it if yours is different (only needed to renaming the benchmark file)
DOTA2="$HOME/.local/share/Steam/steamapps/common/dota 2 beta/game"

# rename any existing benchmark scores
cd "$DOTA2"
mv -f "$DOTA2/dota/Source2Bench.csv" "$DOTA2/dota/Source2Bench.csv.1"

# launch steam and dota2 with benchmark mode and the "benchvulkan2" demo file
steam -applaunch 570 $API +timedemo $DEMOFILE +demo_quitafterplayback 1 +fps_max 0 -autoconfig_level 3 -h $HEIGHT -w $WIDTH -fullscreen -high

Ideally I want to get this to run x amount of times based on a setting, but haven't figured that part out yet.

The results file
The results will be stored in "Source2Bench.csv" inside the main Dota 2 folder. If you run it multiple times, it will keep adding into this file. I suggest you cut the file and paste it somewhere else after testing each API and again for resolutions. Using a fresh file for each so you don't mix any results up (which is very important of course).

The results file will resemble this:
image
FPS = average
FPS minus FPS Variability = Minimum FPS

On the right of the document, you will also see a jumble of different tests together like this:
Quotebenchvulkan2.dem,UNKNOWN, 71.7, 4.2

First number is the average FPS, second is the variance to do the minimum FPS calculation.

Hopefully you found this all helpful.

If you would like to see more guides, tell me what and I will see what I can figure out for you. Article taken from GamingOnLinux.com.
Tags: Benchmark, HOWTO
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 came back to check 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. Find me on Mastodon.
See more from me
The comments on this article are closed.
35 comments
Page: «3/4»
  Go to:

dubigrasu Jun 16, 2016
Thank you.
Off topic: I'm having difficulties connecting to this site lately at random times, sometimes for few minutes, sometimes for almost an hour, are you working on it or something?
coruun Jun 16, 2016
Finally, I got it running and the results like very nice. I'm running kernel 4.6.2 with nvidia 367.27 on a GTX970 and I used the Phoronix demo file (including the timespan 50000-51000). All other options were taken from Liam's script.

My results from steam -applaunch 570 [API] +timedemo dota2-pts-1971360796.dem +timedemo_start 50000 +timedemo_end 51000 +demo_quitafterplayback 1 +fps_max 0 -autoconfig_level 3 -h 1080 -w 1920 -fullscreen -high
are:
GL:     118.2
Vulkan: 136.8


BTW, I had to put the file in the folder .../steamapps/common/dota 2 beta/game/dota and the game doesn't quit automatically.


Last edited by coruun on 16 June 2016 at 3:25 pm UTC
Konqi Jun 16, 2016
FX-6300
750 TI
Summary:
#CPU at stock 3.5Ghz
OpenGL Average 60-62 FPS
Vulkan Average 59-60 FPS

#CPU OC at 4.6Ghz
OpenGL Average 70-72 FPS
Vulkan Average 60-61 FPS

Full info -> http://www42.zippyshare.com/v/EfodOFaX/file.html


Last edited by Konqi on 16 June 2016 at 10:27 pm UTC
coruun Jun 16, 2016
Quoting: KonqiUsing the script.
http://www42.zippyshare.com/v/EfodOFaX/file.html

No offence, but I won't download a zip from an untrusted source. Maybe, you should post it on pastebin, github or the like.
Liam Dawe Jun 16, 2016
Quoting: dubigrasuThank you.
Off topic: I'm having difficulties connecting to this site lately at random times, sometimes for few minutes, sometimes for almost an hour, are you working on it or something?
I've pointed this out to Levi the awesome dude who keeps the server gremlins fed thanks dude.
Grinder Jun 16, 2016
Thanks for sharing, i love it :-)

Here my results using benchvulkan2.dem:
i5 4670k @ 4.4ghz - 8gb ram ddr3 2100 @ 2400 - GTX970 G1 Gaming - Asus Z97-Pro
Slackware64 Current - Kernel 4.6.2

Vulkan - 124 FPS
OpenGL - 126 FPS

But minimum FPS Vulkan is a lot better and max FPS OpenGL is better.

I will keep with vulkan

Edit: I was using in video options "Ultra Shadow Quality"
Now with HIGH Settings

Vulkan - 129 FPS
OpenGL - 130.7 FPS

Edit2: Now benchmark using Windows 10 Pro x64
DX9 - 139.8 FPS
DX11 - 117.3 FPS
Vulkan - 150.3 FPS


Last edited by Grinder on 16 June 2016 at 5:20 pm UTC
Xpander Jun 16, 2016
i just cant make the benchmark work.. using the script, no errors in terminal, all launches fine but game is just waiting in the main menu and doing nothing.

adding all this crap into launch options - game is waiting in the main menu doing nothing

adding -console or +con_enable 1 - makes the game go to main menu but i cant find the key to bring up the console, tried like all the keys on my keyboard
Grinder Jun 16, 2016
Quoting: Xpanderi just cant make the benchmark work.. using the script, no errors in terminal, all launches fine but game is just waiting in the main menu and doing nothing.

adding all this crap into launch options - game is waiting in the main menu doing nothing

adding -console or +con_enable 1 - makes the game go to main menu but i cant find the key to bring up the console, tried like all the keys on my keyboard

You can add one key bind for console in Dota2 Options, just select Advanced Options in bottom screen.
Liam Dawe Jun 16, 2016
Quoting: Xpanderi just cant make the benchmark work.. using the script, no errors in terminal, all launches fine but game is just waiting in the main menu and doing nothing.

adding all this crap into launch options - game is waiting in the main menu doing nothing

adding -console or +con_enable 1 - makes the game go to main menu but i cant find the key to bring up the console, tried like all the keys on my keyboard

What exact folder is your demo file in?

What keyboard layout do you have?
Xpander Jun 16, 2016
Quoting: liamdawe
Quoting: Xpanderi just cant make the benchmark work.. using the script, no errors in terminal, all launches fine but game is just waiting in the main menu and doing nothing.

adding all this crap into launch options - game is waiting in the main menu doing nothing

adding -console or +con_enable 1 - makes the game go to main menu but i cant find the key to bring up the console, tried like all the keys on my keyboard

What exact folder is your demo file in?

What keyboard layout do you have?

ok the benchmark.dem file had to be in

/.local/share/Steam/steamapps/common/dota 2 beta/game/dota

not in

/.local/share/Steam/steamapps/common/dota 2 beta/game
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.