Giter Club home page Giter Club logo

dimibyte / glxosd Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nickguletskii/glxosd

1.0 1.0 0.0 7.52 MB

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.

Home Page: https://glxosd.nickguletskii.com

License: MIT License

CMake 5.10% Shell 2.01% C++ 92.89%

glxosd's Introduction

GLXOSD v2

In this fork this is a C++ program, which is using NV-CONTROL (NVCtrl) instead of NVIDIA Management Library (NVML)

GLXOSD is an on-screen display (OSD)/overlay for OpenGL applications running on Linux with X11. It can show FPS, the temperature of your CPU, and if you have an NVIDIA graphics card (with proprietary drivers), it will also show the temperature of the GPU. Also, it can log frame timings, which is useful for benchmarking. This project aims to provide some of the functionality that RivaTuner OSD (which is used by MSI Afterburner) provides under Windows.

Screenshot of glxgears with GLXOSD

Compiling

You should probably have a look at the installation page on GLXOSD's website first!

Before compiling, you need to make sure that you have GCC and CMake installed. On Ubuntu, all you need to do is paste the following line into the terminal:

sudo apt-get install build-essential cmake

We also need to make sure that the required libraries and their headers are installed. This project requires OpenGL, GLU, GLX, FontConfig, Freetype, Boost, and libsensors. To install them on Ubuntu, execute this:

sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev libfontconfig1-dev libfreetype6-dev libsensors4-dev libboost-dev

Then, compile:

cmake -G "Unix Makefiles" ./ -DCMAKE_INSTALL_PREFIX=/usr -DINSTALLATION_SUFFIX_32=/lib32/ -DINSTALLATION_SUFFIX_64=/lib64/
make all

Installing

You should probably have a look at the installation page on GLXOSD's website first!

To install GLXOSD, just execute

sudo make install

Configuring

http://glxosd.nickguletskii.com/faq.html#how-do-i-customise-glxosd

Using

When launching an OpenGL application, prepend glxosd to the command. For example, to launch glxgears with the OSD you would do this:

glxosd glxgears

Known limitations

  • Doesn't read AMD graphics card temperatures.

For developers

CMake is pretty new to me and I am not very comfortable with C++ either, so the code isn't all nice and CMakeLists are a mess. The project lacks customizability and there isn't much error handling. Commits are welcome!

Project structure

The src directory has a subdirectory for each module:

  • elfhacks - a library of various ELF run-time hacks, cloned from https://github.com/nullkey/elfhacks
  • glinject - the module that "injects" the OSD into each frame.
  • glxosd - the OSD itself.

Licensing

The LICENSE file contains the license which applies to everything except:

  • Files located in the following directories:
    • src/elfhacks
  • Binary builds of the files listed above.
  • Files under the fonts/CPMono_v07 directory. Please read the Creative Commons license which can be found inside that directory.

glxosd's People

Contributors

dimibyte avatar nickguletskii avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.