From LinuxReviews
Jump to navigationJump to search
Benchmark icon.png

glmark2 is a rather simple free OpenGL ES 2.0 graphics performance benchmark tool for GNU/Linux. It has a variety of "scenes" it renders in order to give you a broad ball-park idea of your graphics performance. It really does not tell you very much at all on modern computers.

Getting and running glmark2

You can install it with dnf -y install glmark2 on Fedora and by clicking here to install on Ubuntu. It is not available on Gentoo Linux, so Gentoo users will have to compile it themselves.

It is recommended that you run glmark2 via terminal, as it outputs info only to the terminal. You will not get any graphical window with results or other feedback from glmark2 once the benchmark is done if you run glmark2 using your desktop environment's app menu or other GUI-based methods.

glmark2 version 2021-02 executed with glmark2 -s 1920x1000 -f refract

glmark2 will by default render in a tiny 800x600 window. You may want to use the -s argument to change that to something like glmark2 -s 1920x1050however, do keep in mind that the benchmark results will vary greatly depending on the resolution you run it at (800x600 will produce a much higher score than 1920x1050 will).

glmark2, after drawing simple animations on the screen — while never loading a GPU like the RX570 more than 25% at 1920x1080 — will have filled the terminal with some results which do not really tell you much. The frames-per-second numbers will be in the many hundreds if you have a relatively modern graphics card/chip. glmark2 does produce a glmark2 Score, but being apparently only FPS-based, this score will also not tell you much. For example, an AMD Radeon™ RX 570 at 1920x1050 resolution scores 528, while an Intel HD 5500 integrated GPU scores 427. Although somewhat apart, they are much closer than they would be in more fully-featured benchmarks.

The reason glmark2's scores for low-end and high-end GPUs are so close has to do with the amount of stress it places on the GPU. An Intel iGPU at 90% load does not perform all that differently from an RX 570 at 25% of its capacity. There appears to be a limitation in either glmark2 or Mesa which limits GPU utilization above a certain framerate (meaning it doesn't even try to achieve higher FPS).

Other variants

There is a variant of glmark2 called vkmark. It is a Vulkan implementation of the exact same benchmark. It has the exact same tests and limitations as glmark2.

Review and conclusion

Overall, it's a pretty useless benchmark tool. A better way to do benchmarks would be to HOWTO See A Games Frames Per Second And Other Data In A HUD Overlay.

There are, sadly, no good free software alternatives but there are some way more advanced proprietary freeware alternatives like UNIGINE Superposition and Basemark GPU which run on GNU/Linux. Tests like that those produce useful and comparable and meaningful results. glmark2 simply doesn't.

glmark2 results

Example output from a MSI/AMD RX 570

The output of a typical run, here glmark2 -s 1920x1050, will look like this:

    glmark2 2017.07
    OpenGL Information
    GL_VENDOR:     X.Org
    GL_RENDERER:   Radeon RX 570 Series (POLARIS10, DRM 3.27.0, 5.0.9-Jinsol, LLVM 8.0.0)
    GL_VERSION:    4.5 (Compatibility Profile) Mesa 19.0.3
[build] use-vbo=false: FPS: 509 FrameTime: 1.965 ms
[build] use-vbo=true: FPS: 560 FrameTime: 1.786 ms
[texture] texture-filter=nearest: FPS: 551 FrameTime: 1.815 ms
[texture] texture-filter=linear: FPS: 549 FrameTime: 1.821 ms
[texture] texture-filter=mipmap: FPS: 578 FrameTime: 1.730 ms
[shading] shading=gouraud: FPS: 543 FrameTime: 1.842 ms
[shading] shading=blinn-phong-inf: FPS: 593 FrameTime: 1.686 ms
[shading] shading=phong: FPS: 589 FrameTime: 1.698 ms
[shading] shading=cel: FPS: 594 FrameTime: 1.684 ms
[bump] bump-render=high-poly: FPS: 573 FrameTime: 1.745 ms
[bump] bump-render=normals: FPS: 576 FrameTime: 1.736 ms
[bump] bump-render=height: FPS: 539 FrameTime: 1.855 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 556 FrameTime: 1.799 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 564 FrameTime: 1.773 ms
[pulsar] light=false:quads=5:texture=false: FPS: 520 FrameTime: 1.923 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 537 FrameTime: 1.862 ms
[desktop] effect=shadow:windows=4: FPS: 561 FrameTime: 1.783 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 407 FrameTime: 2.457 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 463 FrameTime: 2.160 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 409 FrameTime: 2.445 ms
[ideas] speed=duration: FPS: 505 FrameTime: 1.980 ms
[jellyfish] <default>: FPS: 561 FrameTime: 1.783 ms
[terrain] <default>: FPS: 464 FrameTime: 2.155 ms
[shadow] <default>: FPS: 602 FrameTime: 1.661 ms
[refract] <default>: FPS: 584 FrameTime: 1.712 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 613 FrameTime: 1.631 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 607 FrameTime: 1.647 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 588 FrameTime: 1.701 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 560 FrameTime: 1.786 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 579 FrameTime: 1.727 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 525 FrameTime: 1.905 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 565 FrameTime: 1.770 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 567 FrameTime: 1.764 ms
                                  glmark2 Score: 548 

What, if anything, these numbers mean in terms of performance is unclear.

The "glmark2 Score" may mean something and since our kind readers keep dumping results of their glmark2 runs in the comment section.

User-Submitted glmark2 Results, Default (800x600)

Please click the "edit" button on the headline right above this text to share results. You will likely be able to understand what kind of {"t": "Card", "v": "123"}, line you should add below. Just leave a comment below if it's way beyond your skill-set.

Kemonomimi rabbit.svg
Note: glmark2 scores will vary dramatically depending on what window size you use. -s 1920x1080 will obviously produce scores that are much lower than -s 640x480 will produce. The following results are with the default -s 800x600 resolution. Make sure you don't add results from runs with non-default resolutions below.
"glmark2 Score", default resolution (800x600)

That GTX 1060 result doesn't make any sense vs the RTX 3090 result, who knows that is going on there.

Please run glmark2 with no arguments if you want to contribute results to the above graph in order to make the results comparable (we should perhaps add a separate section for -s 1920x1080? Let us know what you think in the comments below).

We have removed all the cut-and-paste results added as comments and added them to the above graph instead.



The glmark2 git repository is at


Anonymous (aa8fca344a)

2 days ago
Score 0

glmark2 2014.03+git20150611.fa71af2d


OpenGL Information GL_VENDOR: NVIDIA Corporation GL_RENDERER: NVIDIA GeForce RTX 2060/PCIe/SSE2 GL_VERSION: 4.6.0 NVIDIA 470.57.02


[build] use-vbo=false: FPS: 6425 FrameTime: 0.156 ms [build] use-vbo=true: FPS: 14000 FrameTime: 0.071 ms [texture] texture-filter=nearest: FPS: 13089 FrameTime: 0.076 ms [texture] texture-filter=linear: FPS: 13231 FrameTime: 0.076 ms [texture] texture-filter=mipmap: FPS: 14240 FrameTime: 0.070 ms [shading] shading=gouraud: FPS: 13546 FrameTime: 0.074 ms [shading] shading=blinn-phong-inf: FPS: 13497 FrameTime: 0.074 ms [shading] shading=phong: FPS: 13306 FrameTime: 0.075 ms [shading] shading=cel: FPS: 13392 FrameTime: 0.075 ms [bump] bump-render=high-poly: FPS: 11743 FrameTime: 0.085 ms [bump] bump-render=normals: FPS: 14527 FrameTime: 0.069 ms [bump] bump-render=height: FPS: 13878 FrameTime: 0.072 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 11549 FrameTime: 0.087 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 9677 FrameTime: 0.103 ms [pulsar] light=false:quads=5:texture=false: FPS: 14125 FrameTime: 0.071 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 6174 FrameTime: 0.162 ms [desktop] effect=shadow:windows=4: FPS: 7073 FrameTime: 0.141 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1782 FrameTime: 0.561 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 2445 FrameTime: 0.409 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1848 FrameTime: 0.541 ms [ideas] speed=duration: FPS: 12039 FrameTime: 0.083 ms [jellyfish] <default>: FPS: 11743 FrameTime: 0.085 ms [terrain] <default>: FPS: 1450 FrameTime: 0.690 ms [shadow] <default>: FPS: 9500 FrameTime: 0.105 ms [refract] <default>: FPS: 4515 FrameTime: 0.221 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 12861 FrameTime: 0.078 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 12244 FrameTime: 0.082 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 13232 FrameTime: 0.076 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 13300 FrameTime: 0.075 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 13309 FrameTime: 0.075 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 12592 FrameTime: 0.079 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 13579 FrameTime: 0.074 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 13596 FrameTime: 0.074 ms


glmark2 Score: 10712

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