From LinuxReviews
Jump to navigationJump to search

vkmark is in principle a Vulkan graphics benchmark application for GNU/Linux. It renders a variety of not very advanced scenes and gives you a ball-park idea of how your graphics setup performs when it renders graphical content using the Vulkan API. It is not that useful.

The Benchmarks

One of the vkmark benchmarks draws rotating hourse.

vkmark is a Vulkan port of the somewhat old glmark2 benchmark. It renders a small amount of scenes which tests a number of areas like vertex, texture and shading performance. None of the tests take advantage of more than a handful of Vulkan extensions. There results are, therefore, not very reflective of real-world games and applications.

vkmark will by default open and run its benchmarks in a very small windows. The -s switch can be used to enlarge it. vkmark -s 1920x1050 will open a almost full-screen window (assuming you use window title bars) on a 1080p monitor.

vkmark will not show any results or information in the one window it opens to run benchmarks. You will have to run it from a terminal to see the results.

vkmark will list a frames per second number after each test and a "score" once all the tests are done. These numbers will not tell you that much about anything because the tests vkmark draws are too simple for modern hardware. A typical game could run at 50 or 100 fps. The tests in vkmark will produce FPS numbers between 5000 and 10000 on a mid-range GPU like the RX 570. The "score" appears to an average of these FPS numbers.

How many FPS you get will obviously vary with the window size so make sure you are using the same resolution (or the default size) if you want to use vkmark to compare two graphics cards.

vkmark will, by default, benchmark all the scenes it has available. You can make it only benchmark one scene if you want a quick benchmark result for comparison. You can list the available scenes with vkmark -l|grep Scene

They are:

  • vertex
  • texture
  • shading
  • effect2d
  • desktop
  • cube
  • clear

Scenes are chosen with the -b option. Running the texture benchmark in a 1920x1050 window can therefore be done with:

vkmark -b texture -s 1920x1050

You can pipe the results to a file if you would like to store them.

vkmark -s 1920x1050 >> vkmark_1920x1050_results.txt

Other variants

glmark2 is basically the exact same benchmark program. The only difference is that vkmark uses Vulkan while glmark2 uses OpenGL ES 2.0.

Verdict and Conclusion

vkmark can be used to get a very broad ball-park indication of a graphics cards performance. The "benchmarks" are too simple to challenge a modern graphics card and the number of Vulkan extensions actually used is really limited. If one GPU scores 2000 and another 5000 at the same resolution then it is safe to assume the one scoring 5000 is more powerful. vkmark is not very useful for purposes beyond getting a very broad indication of a graphics cards performance. Any proprietary benchmark suite will give you a much better indication of a GPUs actual real-world performance.

Example Results

    vkmark 2017.08
    Vendor ID:      0x1002
    Device ID:      0x67DF
    Device Name:    AMD RADV POLARIS10 (LLVM 9.0.0)
    Driver Version: 79699976
[vertex] device-local=true: FPS: 7638 FrameTime: 0.131 ms
[vertex] device-local=false: FPS: 6119 FrameTime: 0.163 ms
[texture] anisotropy=0: FPS: 7666 FrameTime: 0.130 ms
[texture] anisotropy=16: FPS: 8563 FrameTime: 0.117 ms
[shading] shading=gouraud: FPS: 8611 FrameTime: 0.116 ms
[shading] shading=blinn-phong-inf: FPS: 8856 FrameTime: 0.113 ms
[shading] shading=phong: FPS: 8759 FrameTime: 0.114 ms
[shading] shading=cel: FPS: 9035 FrameTime: 0.111 ms
[effect2d] kernel=edge: FPS: 9711 FrameTime: 0.103 ms
[effect2d] kernel=blur: FPS: 7674 FrameTime: 0.130 ms
[desktop] <default>: FPS: 7639 FrameTime: 0.131 ms
[cube] <default>: FPS: 10053 FrameTime: 0.099 ms
[clear] <default>: FPS: 8602 FrameTime: 0.116 ms
                                   vkmark Score: 8378


vkmark can be installed on most GNU/Linux distributions by installing a package called vkmark


vkmark is developed at github.com/vkmark/vkmark. The only release, from 2017, can be downloaded from github.com/vkmark/vkmark/releases. Your GNU/Linux distribution will have that version if it has vkmark in the repositories.

Add your comment
LinuxReviews welcomes all comments. If you do not want to be anonymous, register or log in. It is free.