---
name: "vkmark"
section: "1"
platform: "linux"
package: "vkmark"
version: "1:2025.01-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/vkmark"
---

# vkmark(1)

Vulkan benchmark suite

## NAME

vkmark - Vulkan benchmark suite

## SYNOPSIS

**vkmark \[options\]**

## DESCRIPTION

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

## OPTIONS

- **-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)

- **--fullscreen**

  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-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-forever**

  Run indefinitely, looping from the last benchmark back to the first

- **-d**, **--debug**

  Display debug messages

- **-D**, **--use-device**

  Use Vulkan device with specified UUID

- **-L**, **--list-devices**

  List Vulkan devices

- **-h**, **--help**

  Display help

## BENCHMARKS

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.

## EXAMPLES

To run the default benchmarks:

**vkmark**

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**

## AUTHOR

vkmark was written by Alexandros Frantzis
