Scroll to navigation

vkmark(1) General Commands Manual vkmark(1)


vkmark - Vulkan benchmark suite


vkmark [options]


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


A benchmark to run: 'scene(:opt1=val1)*' (the option can be used multiple times)
Size of the output window (default: 800x600)
Run in fullscreen mode (equivalent to --size -1x-1)
Vulkan present mode (default: mailbox) [immediate, mailbox, fifo, fiforelaxed]
Vulkan pixel format (default: choose best)
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)
Directory to search in for window system plugins
Directory to search in for scene data files
Window system plugin to use (default: choose best) [xcb, wayland, kms]
Window system options as 'opt1=val1(:opt2=val2)*'
Run indefinitely, looping from the last benchmark back to the first
Display debug messages
Use Vulkan device with specified UUID
List Vulkan devices
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

August 2017 vkmark 2017.08