GLXOSD, an OSD and benchmarking tool for Linux

GLXOSD v3 has arrived!

GLXOSD is an extensible on-screen display (OSD)/overlay for OpenGL applications running on Linux with X11 which aims to provide similar functionality to MSI Afterburner/RivaTuner OSD. It can show FPS, frame timings, temperatures and more in OpenGL games and applications. It can also be used to benchmark games, much like voglperf.

Monitor performance and hardware status

The list of values that GLXOSD includes (but isn't limited to):

  • Average Frames Per Second (FPS) over the last few seconds.
  • Average Frame Duration (AFD) over the last few seconds.

With the help of lm-sensors (libsensors):

  • CPU temperatures and other temperatures available through lm-sensors.

With NVIDIA's proprietary drivers, GLXOSD can also display the following:

  • Graphics card temperatures
  • GPU utilisation
  • Memory utilisation
  • Clocks

Moreover, GLXOSD can be easily extended to show other characteristics.

Benchmark

GLXOSD can log precisely when an application draws something onto the screen. This information is useful for benchmarking because it allows you to graph the framerate, delays between frames, etc...

These logs are called frame timing logs, or time recordings. Each new line represents the number of milliseconds that have passed since the previous frame was rendered.

Note: the format has changed in GLXOSD v3. In previous versions of GLXOSD, each line contained two comma-separated values: the ID of the X drawable and the number of nanoseconds since the logging started.

Analyse

Because GLXOSD frame timing logs are CSVs, you will have no trouble processing them with your tool of choice.

There is also a little web tool that can calculate FPS, frame frequency, delays between frames and plot them.

Customise and extend

GLXOSD v3 is highly customisable. You can customise what information is displayed, how it is displayed, where it is displayed and how it is formatted.

You can also write your own formatting functions to add statistics or change how they are highlighted.

It is also possible to extend GLXOSD by writing plugins in Lua. GLXOSD v3 is mostly written in Lua using LuaJIT, which makes it easy to test your plugins and data providers without having to compile anything or having to directly deal with low-level languages languages.

Safety

While its very unlikely that you will get banned from games for using GLXOSD, you should understand that there is a risk of that happening. Please read the documentation of the anti-cheat software that you are running.

For example, VAC (Valve Anti-Cheat) seems to operate on a blacklist rather than a whitelist and doesn’t seem to ban people who use applications that function similarly to GLXOSD (for example: Mumble Overlay and RivaTuner OSD).

Disclaimer

SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.