/optimus-manager-qt

An interface for Optimus Manager that allows to switch GPUs on Optimus laptops.

Primary LanguageC++GNU General Public License v3.0GPL-3.0

Optimus Manager Qt

GitHub (pre-)release Codacy grade

Optimus Manager Qt is an interface for Optimus Manager that allows to configure and switch GPUs on Optimus laptops using the tray menu.

Note: Please send all non-interface related issues to Optimus Manager repository.

Content

Screenshots

Tray screenshot Tray menu screenshot

General settings screenshot Optimus settings screenshot

Features

  • Display the current video card in the system tray
  • Graphic menu for Optimus Manager configuration
  • Switching video cards using the context menu
  • Customizable tray icon
  • Optional extended Plasma support (you can compile it with or without Plasma dependencies, see below)

Third-party

Libraries

This project uses SingleApplication.

Therefore, if you want to clone this project, you need to use the --recursive option:

git clone --recursive git@github.com:Shatur95/optimus-manager-qt.git

or you can initialize these modules later:

git clone git@github.com:Shatur95/optimus-manager-qt.git
git submodule init
git submodule update

Icons

FlagKit icons are used for languages flags.

Masalla icon theme are used for default GPU icons.

Installation

Arch Linux and derivatives

You can install optimus-manager-qt or optimus-manager-qt-git from AUR.

Note: If you are using Plasma, it is recommended to replace in the PKGBUILD _plasma=false with _plasma=true to use additional KDE API feautures (this also adds additional dependencies).

Manual building

You can build Optimus Manager Qt by using the following commands:

qmake
make
make clean

If you want to build with extended Plasma support you need to define PLASMA (the same as _plasma=true in the PKGBUILD):

qmake "DEFINES += PLASMA"
make
make clean

You will then get a binary named optimus-manager.

Localization

To help with localization you can use Transifex or translate files in data/translations with Qt Linguist directly. To add a new language, make a request on the Transifex page or copy data/translations/optimus-manager.ts to data/translations/optimus-manager_<ISO 639-1 language code>.ts, translate it and send a pull request.