/polychromatic

Graphical front end and tray applet for configuring Razer peripherals on GNU/Linux.

Primary LanguagePythonGNU General Public License v3.0GPL-3.0

Polychromatic

A front-end for customising the functionality of your Razer perpherials under GNU/Linux.

GitHub Release License Python Version

Features

Controller

Screenshot Features
Controller v0-3-8
  • Set effects, brightness, colours, DPI and modes supported by the device.
  • Create application profiles.
  • Set up colours for quick access.
  • View all connected devices and configure the daemon-specific settings.

Tray Applet

Screenshot Features
Tray Effects Menu
  • Quickly change the Chroma effects of your device from this tray applet.
  • Set colours and application profiles on-the-fly.

View all screenshots

GNOME Shell 3.xx (in some distributions) may also need to install an AppIndicator extension in order to see the tray applet.


Device Support

See the daemon's device support table to check whether your device is supported by the daemon. Once it works with the daemon, it's likely to work in Polychromatic too.

However, not all newly supported devices will work straight away. These devices have known issues:

Keyboard Mouse Mousemat Keypad Headset
Keyboard Mouse Mousemat Keypad Headset

Known Issues

  • Mice and mousemats
    • Profile support will come in a future release.

With developments being made to the daemon, it will eventually be possible to:

  • Manage macros for keyboards and keypads.
  • Create and run "custom effects".

There are some limitations:

  • Profile support is not possible for keypads as the daemon does not support matrixes.

Driver Installation

Chroma Drivers OpenRazer

If you haven't already, you will need to install the OpenRazer driver and daemon.

Ubuntu and Linux Mint users can install this via this PPA:

sudo add-apt-repository ppa:openrazer/stable
sudo apt update
sudo apt install openrazer-meta

Please see the project website for instructions for your distribution.

Polychromatic Installation

Ubuntu Ubuntu 16.04+ / Linux Mint 18+

Stable Builds

Polychromatic can be installed via this PPA:

sudo add-apt-repository ppa:polychromatic/stable
sudo apt update
sudo apt install polychromatic

The PPA is recommended as it keeps the application up-to-date.

Development Builds

These builds deliver the newest features and improvements quicker, but are not well tested and may be buggy at times.

sudo add-apt-repository ppa:polychromatic/daily
sudo apt update
sudo apt install polychromatic

If you later decide to revert back to the stable builds:

sudo apt remove polychromatic
sudo rm /etc/apt/sources.list.d/polychromatic-ubuntu-daily.list*
sudo add-apt-repository ppa:polychromatic/daily
sudo apt update
sudo apt install polychromatic

The previous lah7/polychromatic and lah7/polychromatic-daily PPAs have been deprecated, while they'll still be updated during this transition, in future versions you'll be advised to switch.

Debian Debian

Packages built for Ubuntu are also compatible with Debian. You can add the repository and signing key as follows:

echo "deb http://ppa.launchpad.net/polychromatic/stable/ubuntu xenial main" | sudo tee -a /etc/apt/sources.list.d/polychromatic.list
sudo apt-key adv --recv-key --keyserver keyserver.ubuntu.com 96B9CD7C22E2C8C5
sudo apt update
sudo apt install polychromatic

(Or daily instead of stable for development builds)

Standalone packages are available from the releases page, or by following a manual installation below.

Arch Arch Linux

Packages for Arch are maintained by z3ntu. You can install using an AUR wrapper, like as follows:

yaourt -S polychromatic
pacaur -S polychromatic

There are two packages:

Fedora Fedora and openSUSE openSUSE

You can add a repository and obtain packages for these distributions via OpenSUSE's Build System. Thank you to z3ntu for setting this up.

Gentoo Gentoo

Rudimentary ebuilds for Gentoo are maintained by vifino in his personal overlay. These can be installed with these commands:

sudo layman -a vifino-overlay
emerge polychromatic

Other Distributions Other Distributions / Manual Installation

See further below for which dependencies you will require to install first.

git clone https://github.com/lah7/polychromatic.git
cd polychromatic
git checkout stable
sudo ./install/install.sh

If you'd like to use the latest development version (but potentially unstable), skip this line: git checkout stable.

You can update your installation by clicking "Check for Updates" in the preferences, or by running:

./install/update.sh

Note for Red Hat or CentOS 7 - OpenRazer does not officially support this at the moment (#399, #408). However moozhub has created packages you can use.

Dependencies

Polychromatic interfaces with the daemon from the OpenRazer project. These packages are required for all distributions:

These packages are required for running the application:

Debian/Ubuntu Arch openSUSE
gir1.2-gtk-3.0 gtk3
gir1.2-appindicator3-0.1 libappindicator-gtk3 typelib-1_0-AppIndicator3-0_1
gir1.2-webkit2-4.0 webkit2gtk typelib-1_0-WebKit2-4_0
python3-gi python-gobject python3-gobject
python3-setproctitle python-setproctitle python3-setproctitle
python3-requests python-requests python3-requests
imagemagick imagemagick imagemagick

These packages are required just for compiling the application:

Debian/Ubuntu Arch openSUSE
node-less nodejs-less

Something not working?

For visual or functional problems with Polychromatic, please raise an issue here instead.

Translations

The software is ready to speak multiple languages! Take a look at this wiki page if you'd like to contribute.

Donations

This software is developed in my spare time without any expection of money in return, but if you're feeling generous, then you are more than welcome to donate to the lead developer of Polychromatic and the people who bring you the driver and daemon. Thank you for your generosity.