Installation instructions

Table of Contents

Using a PPA: Ubuntu 14.04 or newer (amd64)

To install GLXOSD with multiarch support, simply copy and paste the following lines into the terminal:

sudo apt-add-repository -y ppa:nickguletskii200/glxosd \
&& sudo apt-get update \
&& sudo apt-get install -y glxosd glxosd-libs-amd64 glxosd-libs-i386:i386

To install GLXOSD without multiarch support, simply copy and paste the following lines into the terminal instead:

sudo apt-add-repository -y ppa:nickguletskii200/glxosd \
&& sudo apt-get update \
&& sudo apt-get install -y glxosd glxosd-libs-amd64

Using a PPA: Ubuntu 14.04 or newer (i386)

To install GLXOSD, simply copy and paste the following lines into the terminal:

sudo apt-add-repository -y ppa:nickguletskii200/glxosd \
&& sudo apt-get update \
&& sudo apt-get install -y glxosd glxosd-libs-i386

Using the Debian repo: Debian jessie, stretch or sid (amd64)

To install GLXOSD with multiarch support, simply copy and paste the following lines into a priviliged shell:

apt-get update \
&& apt-get install -y software-properties-common apt-transport-https \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6F547B7B \
&& apt-add-repository "deb https://glxosd.nickguletskii.com/repos/debian/ $(lsb_release -c -s) main" \
&& apt-get update \
&& apt-get install -y glxosd glxosd-libs-amd64 glxosd-libs-i386:i386

To install GLXOSD without multiarch support, simply copy and paste the following lines into a priviliged shell instead:

apt-get update \
&& apt-get install -y software-properties-common apt-transport-https \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6F547B7B \
&& apt-add-repository "deb https://glxosd.nickguletskii.com/repos/debian/ $(lsb_release -c -s) main" \
&& apt-get update \
&& apt-get install -y glxosd glxosd-libs-amd64

Using the Debian repo: Debian jessie, stretch or sid (i386)

To install GLXOSD, simply copy and paste the following lines into a priviliged shell:

apt-get update \
&& apt-get install -y software-properties-common apt-transport-https \
&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6F547B7B \
&& apt-add-repository "deb https://glxosd.nickguletskii.com/repos/debian/ $(lsb_release -c -s) main" \
&& apt-get update \
&& apt-get install -y glxosd glxosd-libs-i386

Using the Debian repo: other Debian-based distributions

To install GLXOSD on a Debian distribution that doesn't report itself as jessie, stretch or sid, you should follow the following general steps:

  1. Install apt-transport-https, otherwise you won't be able to run apt-get update.

  2. Import the public key by executing apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6F547B7B.

  3. Add deb https://glxosd.nickguletskii.com/repos/debian/ $RELEASE main to /etc/apt/sources.list, substituting $RELEASE for the closest Debian/Ubuntu release to your distribution (currently available: jessie, stretch, sid, trusty, vivid, wily, xenial, yakkety).

  4. Update the APT package lists by executing apt-get update.

  5. Install the GLXOSD packages by running apt-get install glxosd. If you have a multiarch system, you should also install glxosd-libs-i386 by running apt-get install glxosd-libs-i386.

Using Fedora Copr

There is an unofficial Fedora Copr repository for GLXOSD maintained by Kamil Páral.

Please note that since this is an unofficial repository, it may not have the latest version GLXOSD. Before submitting a bug report in the main GLXOSD issue tracker, please check whether the issue has already been fixed.

Other distributions

At the moment, there are no officially approved packages for other distributions. If you would like to maintain GLXOSD packages for your favourite distribution, please consult the documentation and the documentation for installing from source.

Compile from source

Before compiling, please make sure the following libraries are installed and are available to CMake: FontConfig, Freetype, GLU, GLEW.

You should also have git, CMake, and GCC installed.

It is recommended that you use chroots to build GLXOSD. It is also recommended that you build both amd64 and i386 binaries because a lot of games are 32 bit applications. Since the instructions are distro-specific, the instructions for doing so can't be provided.

Since CMake is only aware of the paths for the architecture it is building binaries for, you will have to adjust the following CMake variables:

VariableValue
INSTALLATION_SUFFIX_32

A path to the directory where the i386 version of glxosd/libglxosd-glinject.so will be installed, relative to CMAKE_INSTALL_PREFIX.

For instance, if you are building on an i386 system, CMAKE_INSTALL_PREFIX is set to /usr/local/, and CMAKE_INSTALL_LIBDIR is set to lib, then the i386 shared library will be installed into /usr/local/lib/glxosd/libglxosd-glinject.so, and the appropriate INSTALLATION_SUFFIX_32 is lib.

To demonstrate why INSTALLATION_SUFFIX_32 is not always equal to CMAKE_INSTALL_LIBDIR, let us consider a multiarch system which installs i386 libraries into lib and amd64 libraries into lib64. Lets assume the i386 binaries needed for multiarch are already installed under lib/glxosd/. Then INSTALLATION_SUFFIX_32 should be equal to lib, but INSTALLATION_SUFFIX_64 and CMAKE_INSTALL_LIBDIR should be equal to lib64. This way, once the launcher is installed, it will be able to locate both i386 and amd64 binaries, allowing GLXOSD to be injected into both i386 and amd64 applications.

Default values: /lib/i386-linux-gnu/ for Debian-based distributions, /lib/ for other distributions.

INSTALLATION_SUFFIX_64

A path to the directory where the amd64 version of glxosd/libglxosd-glinject.so will be installed, relative to CMAKE_INSTALL_PREFIX.

For more information, please see the description of INSTALLATION_SUFFIX_32.

Default values: /lib/x86_64-linux-gnu/ for Debian-based distributions, /lib64/ for other distributions.

Here is a reference script for downloading and installing GLXOSD.

mkdir GLXOSD
cd GLXOSD
git clone --recursive https://github.com/nickguletskii/GLXOSD source
mkdir build
cd build
cmake -G "Unix Makefiles" ../source -DINSTALLATION_SUFFIX_32=/lib/ -DINSTALLATION_SUFFIX_64=/lib64/
make all
make install

Disclaimer

THE 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.