Section: Misc. Reference Manual Pages (1)
Updated: August 2017
Page Index


vkmark - Vulkan benchmark suite  


vkmark [options]  


vkmark is an extensible Vulkan benchmarking suite with targeted, configurable scenes.  


-b, --benchmark BENCH
A benchmark to run: 'scene(:opt1=val1)*' (the option can be used multiple times)
-s, --size WxH
Size of the output window (default: 800x600)
Run in fullscreen mode (equivalent to --size -1x-1)
-p, --present-mode PM
Vulkan present mode (default: mailbox) [immediate, mailbox, fifo, fiforelaxed]
--pixel-format PF
Vulkan pixel format (default: choose best)
-l, --list-scenes
Display information about the available scenes and their options
Show all scene option values used for benchmarks (only explicitly set options are shown by default)
--winsys-dir DIR
Directory to search in for window system plugins
--data-dir DIR
Directory to search in for scene data files
--winsys WS
Window system plugin to use (default: choose best) [xcb, wayland, kms]
--winsys-options OPTS
Window system options as 'opt1=val1(:opt2=val2)*'
Run indefinitely, looping from the last benchmark back to the first
-d, --debug
Display debug messages
-h, --help
Display help


vkmark offers a suite of scenes that can be used to measure various aspects of Vulkan performance. The way in which each scene is rendered is configurable through a set of options. To get the available scenes and their acceptable options you can use the -l, --list-scenes command line option.

In vkmark, a benchmark is defined as a scene plus a set of option values. You can specify the list and order of the benchmarks to run by using the -b, --benchmark command line option (possibly multiple times). If no benchmarks are specified, a default set of benchmarks is used. If a benchmark option is not specified it assumes its default value (listed with -l, --list-scenes).

As a special case, a benchmark description string is allowed to not contain a scene name (i.e. to start with ':'). In this case, any specified option values are used as the default values for benchmarks following this description string.



To run the default benchmarks:


To run a benchmark using scene 'vertex' with a 'duration' of '5.0' seconds and 'interleave' set to 'false':

vkmark -b vertex:duration=5.0:interleave=false

To run a series of benchmarks use the -b, --benchmark command line option multiple times:

vkmark -b vertex:duration=5.0 -b clear:color=1.0,0.5,0 -b cube

To set default option values for benchmarks and run them:

vkmark -b :duration=2.0 -b vertex -b clear -b :duration=5.0 -b cube

To set default option values for the default benchmarks and run them:

vkmark -b :duration=2.0



vkmark was written by Alexandros Frantzis