All Projects → vkmark → Vkmark

vkmark / Vkmark

Licence: lgpl-2.1
Vulkan benchmark

Projects that are alternatives of or similar to Vkmark

Glmark2
glmark2 is an OpenGL 2.0 and ES 2.0 benchmark
Stars: ✭ 199 (+148.75%)
Mutual labels:  wayland, benchmark, x11
eseed-window
A minimal cross-platform C++17 window management library for rendering (deprecated)
Stars: ✭ 18 (-77.5%)
Mutual labels:  vulkan, x11
nextshot
A simple tool for taking screenshots on Linux and sharing via Nextcloud
Stars: ✭ 37 (-53.75%)
Mutual labels:  x11, wayland
X11vnc
a VNC server for real X displays
Stars: ✭ 272 (+240%)
Mutual labels:  wayland, x11
Chamferwm
A tiling X11 window manager with Vulkan compositor.
Stars: ✭ 200 (+150%)
Mutual labels:  vulkan, x11
keyboard modifiers status
Gnome-Shell extension that shows keyboard modifiers status. It's useful when sticky keys are active.
Stars: ✭ 15 (-81.25%)
Mutual labels:  x11, wayland
gobble
Rust rewrite of Devour
Stars: ✭ 23 (-71.25%)
Mutual labels:  x11, wayland
Rofimoji
An emoji and character picker for rofi 😁
Stars: ✭ 319 (+298.75%)
Mutual labels:  wayland, x11
Farge
Click on a pixel on your screen and show its color value
Stars: ✭ 307 (+283.75%)
Mutual labels:  wayland, x11
Gromit Mpx
Gromit-MPX is an on-screen annotation tool that works with any Unix desktop environment under X11 as well as Wayland.
Stars: ✭ 287 (+258.75%)
Mutual labels:  wayland, x11
Swvkc
experimental Wayland Vulkan compositor
Stars: ✭ 105 (+31.25%)
Mutual labels:  vulkan, wayland
Ksnip
ksnip the cross-platform screenshot and annotation tool
Stars: ✭ 776 (+870%)
Mutual labels:  wayland, x11
X11docker
Run GUI applications and desktops in docker and podman containers. Focus on security.
Stars: ✭ 3,797 (+4646.25%)
Mutual labels:  wayland, x11
westford
Westford Wayland Compositor
Stars: ✭ 39 (-51.25%)
Mutual labels:  x11, wayland
Kime
Korean IME
Stars: ✭ 208 (+160%)
Mutual labels:  wayland, x11
gnome-gesture-improvements
Touchpad gesture improvements for GNOME on Wayland/X11
Stars: ✭ 53 (-33.75%)
Mutual labels:  x11, wayland
Wayst
A simple terminal emulator
Stars: ✭ 117 (+46.25%)
Mutual labels:  wayland, x11
Wallutils
🌆 Utilities for handling monitors, resolutions, wallpapers and timed wallpapers
Stars: ✭ 145 (+81.25%)
Mutual labels:  wayland, x11
Wine Wayland
Wine-wayland allows playing DX9/DX11 and Vulkan games using pure wayland and Wine/DXVK.
Stars: ✭ 284 (+255%)
Mutual labels:  vulkan, wayland
Imv
Image viewer for X11/Wayland
Stars: ✭ 652 (+715%)
Mutual labels:  wayland, x11

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

Building requirements

To build vkmark you need:

  • the meson build system
  • a C++14 compiler
  • libvulkan and development files
  • libglm development files (header only library)
  • libassimp and development files

for the X11 backend:

  • libxcb and development files
  • libxcb-icccm and development files

for the wayland backend:

  • libwayland-client and development files
  • wayland-protocols >= 1.12

for the KMS backend:

  • libdrm and development files
  • libgbm and development files

On a recent Debian/Ubuntu system you can get all the dependencies with:

$ sudo apt install meson libvulkan-dev libglm-dev libassimp-dev libxcb1-dev libxcb-icccm4-dev libwayland-dev wayland-protocols libdrm-dev libgbm-dev

Building and installing

vkmark uses the meson build system.

To configure vkmark use:

$ meson build

This will create a vkmark build configuration in the build directory.

To see/set the full list of available options use:

$ mesonconf [-Dopt=val] build

To build use:

$ ninja -C build

To install use:

$ [DESTDIR=...] ninja -C build install

Running

After installing you can run vkmark with:

$ vkmark [options...]

You can run vkmark from the project directory without installing with:

$ build/src/vkmark --winsys-dir=build/src --data-dir=data [other-options...]

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 list 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.

Benchmark 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:interleave=true -b vertex:interleave=false -b :duration=5.0 -b cube

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

$ vkmark -b :duration=2.0

Window system selection

vkmark tries to automatically detect the most suitable window system to use. If this fails, or you want to override the automatic detection mechanism, you can use the --winsys command-line option. For example, to force the XCB window system use:

$ vkmark --winsys xcb

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].