From LinuxReviews
Jump to navigationJump to search

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.

glmark2 is best started from a terminal because that's where it outputs the results. It will by default render to a 800x600 window. You may want to use the -s argument to change that to something like glmark2 -s 1920x1050

glmark2 will, after drawing simple animations on the screen while never loading a GPU like the RX570 more than 25% at 1920x1080, have filled the terminal with some results which do not really tell you anything. The frames-per-seconds numbers will be in the many hundreds. glmark2 does produce a "glmark2 Score" but this will also not tell you much. For example, a RX 570 at 1920x1050 scores 528 and a Intel HD 5500 integrated GPU scores 427. While somewhat apart they are much closer than they are in more meaningful benchmarks.

The reason glmark2's scores for low-end and high-end GPUs are relatively close has to do with how much, or little, stress it places on the GPU. A Intel iGPU at 90% load does not perform all that differently from a RX 570 at 25% of it's capacity. There appears to be a limitation in either glmark2 or Mesa which limits GPU utilization above a certain FPS.

Other variants

There is a variant of glmark2 called vkmark2. 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 run real games with a FPS and frame-time overlay. There's also closed-source gratis graphics benchmarks like Unigine's Heaven, Valley and Superposition benchmarks. These do more advanced tests and the results they produce have some meaning. glmark2's simply don't.

Example results


    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.

Intel(R) HD Graphics 5500 (Broadwell GT2)

    glmark2 2017.07                                                                                                                    
    OpenGL Information                                                                                                                 
    GL_VENDOR:     Intel Open Source Technology Center                                                                                 
    GL_RENDERER:   Mesa DRI Intel(R) HD Graphics 5500 (Broadwell GT2)                                                                  
    GL_VERSION:    3.0 Mesa 19.0.3                                                                                                     
[build] use-vbo=false: FPS: 542 FrameTime: 1.845 ms                                                                                    
[build] use-vbo=true: FPS: 550 FrameTime: 1.818 ms                                                                                     
[texture] texture-filter=nearest: FPS: 541 FrameTime: 1.848 ms
[texture] texture-filter=linear: FPS: 541 FrameTime: 1.848 ms
[texture] texture-filter=mipmap: FPS: 544 FrameTime: 1.838 ms
[shading] shading=gouraud: FPS: 487 FrameTime: 2.053 ms
[shading] shading=blinn-phong-inf: FPS: 486 FrameTime: 2.058 ms
[shading] shading=phong: FPS: 488 FrameTime: 2.049 ms
[shading] shading=cel: FPS: 476 FrameTime: 2.101 ms
[bump] bump-render=high-poly: FPS: 483 FrameTime: 2.070 ms
[bump] bump-render=normals: FPS: 544 FrameTime: 1.838 ms
[bump] bump-render=height: FPS: 539 FrameTime: 1.855 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 440 FrameTime: 2.273 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 219 FrameTime: 4.566 ms
[pulsar] light=false:quads=5:texture=false: FPS: 484 FrameTime: 2.066 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 228 FrameTime: 4.386 ms
[desktop] effect=shadow:windows=4: FPS: 318 FrameTime: 3.145 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 355 FrameTime: 2.817 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 322 FrameTime: 3.106 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 386 FrameTime: 2.591 ms
[ideas] speed=duration: FPS: 478 FrameTime: 2.092 ms
[jellyfish] <default>: FPS: 391 FrameTime: 2.558 ms
[terrain] <default>: FPS: 60 FrameTime: 16.667 ms
[shadow] <default>: FPS: 195 FrameTime: 5.128 ms
[refract] <default>: FPS: 94 FrameTime: 10.638 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 499 FrameTime: 2.004 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 489 FrameTime: 2.045 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 489 FrameTime: 2.045 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 491 FrameTime: 2.037 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 490 FrameTime: 2.041 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 491 FrameTime: 2.037 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 490 FrameTime: 2.041 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 490 FrameTime: 2.041 ms
                                  glmark2 Score: 427