GLMARK2-DRM(1)
glmark2-drm π the OpenGL (ES) 2.0 benchmark suite, bestie edition
okay so. this is the manual for glmark2-drm, which lives in section 1 of the General Commands Manual. it's a whole vibe. let's get into it β¨
β¨ NAME β¨
glmark2-drm β the OpenGL (ES) 2.0 benchmark suite π
π¦ SYNOPSIS π¦
glmark2-drm [options]
that's it. that's the whole invocation. she's simple like that π
πΈ DESCRIPTION πΈ
so glmark2-drm is a benchmark for OpenGL (ES) 2.0, no cap. the important part: it only uses the subset of the OpenGL 2.0 API that's compatible with OpenGL ES 2.0. that's the whole point of her. she's not out here flexing extra API surface, she's strictly on that ES 2.0-compatible energy π₯
π OPTIONS π
here's the full menu, bestie. every single one. i'm not skipping a thing, periodt.
-b,--benchmark BENCHβ the benchmark you wanna run, written as'scene(:opt1=val1)*'. and yes you can pass this option multiple times, stack those benchmarks up π«Ά-f,--benchmark-file FILEβ load your benchmarks from a file instead. the file has a list of benchmark descriptions, one per line. also repeatable, use it multiple times if you want multiple files π--validateβ skip the actual benchmarks and just run a quick output validation test instead. like a vibe check but for rendering output β¨--data-path PATHβ the path to where the glmark2 models, shaders and textures are chillin'--frame-end METHODβ how to end a frame. your choices:[default,none,swap,finish,readpixels]--swap-mode MODEβ how to swap a frame. heads up: all modes are only supported in the DRM flavor, except'fifo', which is available in all flavors and forces vsync. options:[default,immediate,mailbox,fifo]--off-screenβ render to an off-screen surface instead. main character but offstage π--visual-configβ the visual configuration to use for the rendering target, written like this:
'id=ID:red=R:green=G:blue=B:alpha=A:buffer=BUF:stencil=STENCIL:samples=SAMPLES'
you can put the parameters in any order, and if you leave any out they assume a default value of '0' (for id, samples), -1 (for stencil) or '1' (for red, green, blue, alpha, buffer). also: if 'id' is set to a non-zero value, all the other parameters get ignored, so don't bother, bestie π
--good-configβ require a config that meets all the requested component requirements (go look at--visual-configabove, iykyk)--reuse-contextβ use a single context for all scenes. by default, each scene gets its own context, so this is the sharing-is-caring setting π«Ά-s,--size WxHβ size of the output window (default:800x600)--fullscreenβ run in fullscreen mode. it's equivalent to--size -1x-1, iconic π--results RESULTSβ the types of results to report for each benchmark, as a':'separated list. options:[fps,cpu,shader]--results-file RESULTS-FILEβ the file to save the results to. the format is determined by the file extension, and your options are[csv,xml]--winsys-options OPTSβ a list of'opt=value'pairs for window system specific options, separated by':'-l,--list-scenesβ display all the info about the available scenes and their options. honestly run this first, it's giving helpful π¦--show-all-optionsβ show all the scene option values used for benchmarks. by default only the explicitly set options get shown, so this is the full transparency mode π--run-foreverβ run indefinitely, looping from the last benchmark back to the first. infinite loop, no thoughts, just benchmarks π--annotateβ annotate the benchmarks with on-screen information. this is the same as-b :show-fps=true:title=#info#β¨-d,--debugβ display debug messages--versionβ display the program version-h,--helpβ display help. when in doubt, bestie π
π BENCHMARKS π
so glmark2-drm offers a whole suite of scenes that you can use to measure many aspects of OpenGL (ES) 2.0 performance. and the way each scene renders? fully configurable through a set of options. if you wanna see the available scenes and which options they accept, just hit the -l, --list-scenes command line option π
in glmark2-drm, a benchmark is defined as a scene plus a set of option values. you tell her which benchmarks to run and in what order using the -b, --benchmark command line option β and you can pass that thing multiple times, go off. if you don't specify any benchmarks at all, a default set of benchmarks gets used instead. and if you don't specify a particular benchmark option, it assumes its default value (which is listed with -l, --list-scenes, see, told you to run it) πΈ
now here's the special-case tea β: a benchmark description string is allowed to not contain a scene name at all β meaning it starts with ':'. when that happens, any option values you specified get used as the default values for the benchmarks following that description string. it's giving setting the vibe for everything after it β¨
π EXAMPLES π
run the default benchmarks
glmark2-drm
one scene, custom options
to run a benchmark using scene 'shading' with a 'duration' of '5.0' seconds and 'shading' of type 'phong':
glmark2-drm -b shading:duration=5.0:shading=phong
a whole series of benchmarks
to run a series of benchmarks, use the -b, --benchmark command line option multiple times:
glmark2-drm -b shading:duration=5.0 -b build:use-vbo=false -b texture
setting default option values for benchmarks
glmark2-drm -b :duration=2.0 -b shading -b build -b :duration=5.0 -b texture
see how the :duration=... ones have no scene name? that's the special case from BENCHMARKS, bestie. she's setting defaults as she goes π«Ά
π AUTHOR π
glmark2-drm was written by Alexandros Frantzis and Jesse Barker, based on the original glmark by Ben Smith. absolute legends, we love them π
ngl that's the whole page. go forth and benchmark, babe π
this has been glmark2-drm version 2023.01, dated January 2023. mwah, take care of her πβ¨
π¦ where this page comes from
- fedora 43: glmark2 2023.01^20250221gitcebbb63-2.fc43 Β· GPL-3.0-or-later AND MIT
- fedora 44: glmark2 2023.01^20250221gitcebbb63-3.fc44 Β· GPL-3.0-or-later AND MIT
- opensuse-leap 16.0: glmark2 20250212-bp160.1.10 Β· GPL-3.0-only
- opensuse-leap 16.0: glmark2 20250212-bp160.1.10 Β· GPL-3.0-only
- opensuse-leap 16.0: glmark2 20250212-bp160.1.10 Β· GPL-3.0-only
- opensuse-leap 16.0: glmark2 20250212-bp160.1.10 Β· GPL-3.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms