GLMARK2-EGL(1)
π GLMARK2-EGL β the OpenGL (ES) 2.0 benchmark suite, bestie edition
okay so real talk, this is glmark2-egl(1) from the General Commands Manual, and it's basically the moment your GPU gets asked "so... can you actually?" π It's a benchmark for OpenGL (ES) 2.0 and it's lowkey iconic.
β¨ SYNOPSIS β¨
that's it. that's the whole vibe. options only, no positional args, periodt. π
---
# π¦ DESCRIPTION π¦
`glmark2-egl` is a benchmark for **OpenGL (ES) 2.0**. and here's the tea: it only uses the subset of the OpenGL 2.0 API that's compatible with **OpenGL ES 2.0**. so it's strictly the good-girl subset, no cap. β¨
---
# πΈ OPTIONS πΈ
bestie, there are a LOT of them, but they're all your besties. let's go. π«Ά
- **`-b`, `--benchmark BENCH`** β a benchmark to run, written as `'scene(:opt1=val1)*'`. and yes, you can use this option **multiple times** (main character energy: stack them). π
- **`-f`, `--benchmark-file FILE`** β load the benchmarks to run from a file that contains a list of benchmark descriptions, **one per line**. also stackable β the option can be used **multiple times**. π
- **`--validate`** β run a quick output validation test *instead of* running the benchmarks. like a lil vibe check for your output. β
- **`--data-path PATH`** β path to the glmark2 **models, shaders and textures**. that's where the fit lives. π
- **`--frame-end METHOD`** β how to end a frame. options: `[default,none,swap,finish,readpixels]` π
- **`--swap-mode MODE`** β how to swap a frame. heads up: **all modes are supported only in the DRM flavor**, and `'fifo'` is available in **all** flavors to force vsync. options: `[default,immediate,mailbox,fifo]` π₯
- **`--off-screen`** β render to an off-screen surface. sneaky rendering, we love to see it. π
- **`--visual-config`** β the visual configuration to use for the rendering target, written as:
the parameters can be defined in any order. anything you leave out assumes a default value of '0' (for id, stencil, samples) or '1' (for red, green, blue, alpha, buffer). β οΈ and if 'id' is set to a non-zero value, all the other parameters are ignored β so don't bother setting them, she won't read them. π
--reuse-contextβ use a single context for all scenes. by default, each scene gets its own context (so this is the "sharing is caring" mode). π-s,--size WxHβ size of the output window. default:800x600β¨--fullscreenβ run in fullscreen mode. equivalent to--size -1x-1. big screen energy. π₯--results RESULTSβ the types of results to report for each benchmark, given 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. options:[csv,xml]ποΈ--winsys-options OPTSβ a list of'opt=value'pairs for window-system-specific options, separated by':'πͺ-l,--list-scenesβ display information about the available scenes and their options. literally the first thing you should run, ngl. π--show-all-optionsβ show all scene option values used for benchmarks. by default only explicitly set options are shown, so this is the "no secrets" mode. π--run-foreverβ run indefinitely, looping from the last benchmark right back to the first. she's in it for the long haul, fr fr. βΎοΈ--annotateβ annotate the benchmarks with on-screen information. same as-b :show-fps=true:title=#info#π·οΈ-d,--debugβ display debug messages. for when you need the lore. π--versionβ display program version π-h,--helpβ display help. the classic. π«Ά
π BENCHMARKS π
glmark2-egl offers a suite of scenes that can be used to measure many aspects of OpenGL (ES) 2.0 performance. β¨ The way each scene is rendered is configurable through a set of options. To get the available scenes and their acceptable options, use the -l, --list-scenes command line option.
In glmark2-egl, 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. And if a benchmark option isn't specified, it assumes its default value β which you can see listed with -l, --list-scenes. π
Now the special-case tea π΅: a benchmark description string is allowed to not contain a scene name β i.e. it starts with ':'. When that happens, any specified option values are used as the default values for benchmarks following this description string. so it's like setting the group chat rules for everyone after you. π
π EXAMPLES π
run the default benchmarks
### run a benchmark using scene `'shading'` with a `'duration'` of `'5.0'` seconds and `'shading'` of type `'phong'`
run a series of benchmarks by using the -b, --benchmark command line option multiple times
### set default option values for benchmarks
see how the :duration= entries just set the defaults for whatever comes after? that's the trick, iykyk. π
β¨
π§ AUTHOR π§
glmark2-egl was written by Alexandros Frantzis and Jesse Barker, based on the original glmark by Ben Smith. absolute legends, we stan. π
ok that's the whole page, bestie β go forth and benchmark responsibly. π«Άπ
π glmark2-egl 2023.01 Β· January 2023 Β· that's a wrap, mwah πβ¨
π¦ where this page comes from
- arch rolling: glmark2 2023.01-2 Β· GPL3 AND custom:SGI
- nixos 26.05: glmark2 2023.01
- nixpkgs unstable: glmark2 2023.01
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms