GLMARK2-EGL(1)

πŸ“¦ version 2023.01, in arch rolling, nixos 26.05, nixpkgs unstable

πŸ’… 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