Posted on 29/06/2017 by Robert Foss
Debugging graphics performance in a simple and high-level manner is possible for all Gallium based Mesa drivers.
GALLIUM_HUD is a feature that adds performance graphs to applications that describe various aspects like FPS, CPU usage, etc in realtime.
It is enabled using an environment variable, GALLIUM_HUD, that can be set for GL/EGL/etc applications. It only works for Mesa drivers that are Gallium based, which means that the most drivers (with the notable exception of some Intel drivers) support GALLIUM_HUD.
See GALLIUM_HUD options:
export GALLIUM_HUD=help glxgears
If you're building Android, you can supply system-wide environment values by doing an export in the init.rc file of the device you are using, like this.
# Go to android source code checkout cd android # Add export to init.rc (linaro/generic is the device I use) nano device/linaro/generic/init.rc export GALLIUM_HUD cpu,cpu0+cpu1+cpu2+cpu3;pixels-rendered,fps,primitives-generated
If you're using one of the usual Linux distros, GALLIUM_HUD can be enabled by setting the environtment variable in a place that it loaded early.
# Add export to /etc/environment nano /etc/environment export GALLIUM_HUD cpu,cpu0+cpu1+cpu2+cpu3;pixels-rendered,fps,primitives-generated
This post has been a part of work undertaken by my employer Collabora.
Earlier this month, Olivier Crête, Nicolas Dufresne, George Kiagiadakis & I attended the GStreamer Spring Hackfest in Lund, Sweden. Hosted…
A few months ago, Robert Foss wrote a blog post about virtualizing GPU Access. Here's a look at some of the major improvements that have…
Generously hosted by Axis in the beautiful Lund, Sweden, the annual spring hackfest is an occasion for the community to get together to…
The i.MX 6 platform has for the past few years enjoyed a large effort to add upstream support to Linux and surrounding projects. The newly…
Following on from part 1 in the series, part 2 covers more developments in low-level graphics, including support for buffer modifiers in…
The latest enhancements to the DRM subsystem have made mainline Linux much more attractive, making drivers easier to write, applications…