Skip to content

Releases: polychromatic/polychromatic

v0.9.0 - Port to Qt 6

24 Apr 07:56
d006b85
Compare
Choose a tag to compare

Qt 6 "Controller" Port

PyQt is the underlying framework powering the main graphical interface of Polychromatic. This release ports the codebase from PyQt5 to PyQt6 to ensure future readiness and to support distributions that may be moving away from PyQt5 (#508). As a result, Python 3.7 or later is required.

In terms of differences, it's a bit boring — visually, it's 98% the same.

This version will be rolled out to distributions providing PyQt6. If yours doesn't, today will also be releasing v0.8.4, a minor update.

Changes since v0.8.4

  • Code improvements to tidy up or fix issues after porting to PyQt6.
  • Remove some unused code.
  • Fix effect restoration when closing 'Inspect Matrix' via ESC key.

📣 We'd like your feedback!

We're collecting feedback to spark inspiration and find out what our users like. Take a few moments to answer some questions for the developer:

v0.8.4

24 Apr 07:56
v0.8.4
2f9fc00
Compare
Choose a tag to compare

What's New?

Changes

Fixes

  • Fix "Remember last position and size" preference being stuck.
  • Improve button state when using DPI slider.

v0.8.3

19 Nov 16:11
f26e3a9
Compare
Choose a tag to compare

What's New?

  • Add device map for Razer BlackWidow V4 Pro (#499, @nilo-puglisi)
  • Add device map for Razer Cynosa V2 (US) (#500, @bbacskay)
  • Add support for wheel effect (for compatible OpenRazer hardware)

Changes

  • Add 🇬🇪 Georgian translation (#496, @NorwayFun)
  • Add DPI defaults for Naga V2 HyperSpeed.
  • Troubleshooter: Check for old copies of OpenRazer's Python library.

Fixes

  • Fix SVG structure to prevent Qt warning (#501, @bbacskay)
  • Use consistent volume icons across device graphics.

v0.8.2

08 Oct 12:29
778a24a
Compare
Choose a tag to compare

What's New?

Changes

For a future OpenRazer release

Upcoming changes in OpenRazer will improve support for older (pre-2015) Razer hardware.

  • Add missing "Breath Random" effect (e.g. Razer DeathAdder 2013)
  • Introduce "On" effect (for devices that have toggleable lighting zones)
    Screenshot of a device with an on and off option
    (#482, #486, @z3ntu)

Fixes

  • Fix missing Blinking effect
  • Fix missing colour input for Reactive effect
  • Fix crash when multiple non-RGB devices present (#483, @Iglu47)
  • Fix crash with entering invalid values in DPI custom stages dialog.
  • Ignore Razer Phone 2 from device list as it has no RGB features.

v0.8.1

01 May 18:16
173b71a
Compare
Choose a tag to compare

What's New

  • Add device map for Huntsman Tournament Edition (US) (#453, @iskigow)
  • Add device map for Ornata V2 (US) (#463, @AtlasC0R3)
  • Add option to configure keyswitch optimisation
    • For compatible optical keyboards, like Razer Huntsman V2.

Changes

  • Improve messaging for unrecognised OpenRazer devices
    • The software will more accurately inform whether a device is unsupported or if it's simply a problem with the OpenRazer installation.
  • Update translations

Fixes

  • Fix error caused by unreliable internet connection when downloading device image
  • Fix placeholder text colour in metadata dialog
  • Fix XDG_CONFIG_HOME path for OpenRazer (#470, @rowdyw)
  • Fix missing translations for spinbox tooltips
  • Fix tab loading error when OpenRazer daemon becomes faulty

v0.8.0

04 Dec 16:56
v0.8.0
0c982a2
Compare
Choose a tag to compare

What's New

Controller

New DPI stage editor: Including the ability to sync to hardware DPI buttons (if supported by mouse).

Screenshot of DPI stages window

If you previously saved your own DPI stages via Preferences, you'll need to re-enter them, as they are now saved per-device.

OpenRazer

  • Add scroll options for Razer Basilisk V3.
    • Scroll Mode (tactile, free spin)
    • Scroll Acceleration
    • Smart Reel
  • Add device map for Razer Cynosa V2 (Nordic).
  • Add device map for Base Station V2 Chroma.
  • Overhauled implementation with OpenRazer's Python library.
  • Some devices may now show options for configuring sleep time and low power mode.

Changes

  • Rework application architecture ("refactor").
  • Improve "Apply to All" by showing all capable options for connected devices.
  • Improve error handling.
  • Controller: Show button to open input-remapper if installed.
    • Messages hinting that Polychromatic may implement its own key mapping have been removed.
  • Controller: Removed "Backends" tab in Preferences.
    • This is now under Tools → OpenRazer via the menu bar.
  • Controller: Move "Download device images" check box to main preferences.
  • Controller: Update configuration preferences for OpenRazer.
    • Add option to set battery notifications [introduced in 3.3.0]
  • Tray applet: Show a dialog box when actions fail.
  • CLI: Add current battery status (under -k --list-options)
  • New 🇵🇱 Polish translation and update for 🇫🇷 French.

Command Line Parameters Changed

If you use polychromatic-cli, the parameters have changed to only accept numeric parameters in some cases.

Example of Old Becomes
-o wave -p left -o wave -p 2
-o wave -p right -o wave -p 1
-o reactive -p vslow -o reactive -p 1
-o reactive -p slow -o reactive -p 2
-o reactive -p medium -o reactive -p 3
-o reactive -p fast -o reactive -p 4

Use polychromatic-cli --list-options to see all available options.

Fixes

  • Fix a problem with poll rates that affected Razer Huntsman V2.
  • Fix default DPI stages for Viper Mini.
  • Fix VID:PID showing in reverse in Device Info.
  • Fix opening of razer.log when home folder isn't at /home
  • Fix crash when running a development version of the application from an "untrusted" Git repository location, like a network share.
  • Fix translations for system-wide installations.
  • Fix a typo in man page.
  • Fix an erroneous "failed" troubleshoot when device has multiple PIDs.

PPA Testers

If you were using ppa:polychromatic/testing or the ppa:polychromatic/edge on Ubuntu (or Debian), these have been deprecated and replaced by ppa:polychromatic/preview to simplify choice. Please go to Software & Updates → Other Software and update this to preview.

v0.7.3

23 Dec 19:53
5160f56
Compare
Choose a tag to compare

What's New

  • Add device map for Razer Blade 2021 Advanced (#377)
  • Add device map for Razer Basilisk V3 (#390)
  • Add support for polling rates up to 8000 Hz (#360)

Fixes

  • Fix crash when tray applet is not installed (#367)

Changes

  • Improve OpenRazer troubleshooter for Python and DKMS checks.
  • Update battery charging icon.
  • Exclude Razer Seiren X as an unknown device.

Known Issues: OpenRazer

  • Switching from Ripple to a custom effect causes flicker - #372
    • Workaround is to switch to a non-Ripple hardware effect first, then play the effect.
  • About 45 devices have some inconsistencies.
    • ❓ Many devices could be capable of more hardware effects.
    • ⚠️ 9 devices report a capability for an effect that does not exist in the driver, which will throw an error in Polychromatic.
    • If you're affected, would like to help or check your device, see openrazer/openrazer#1673

v0.7.2

17 Oct 15:27
07bc586
Compare
Choose a tag to compare

A trivial update to address some compatibility issues with Python 3.10. This mainly concerns rolling release and cutting edge development series of Linux distributions.

Changes

  • Fix exceptions when ran under Python 3.10 (#364)

Controller

  • Update error message when a tab fails to load.
  • When OpenRazer is not installed, enable the "Troubleshoot" button in Preferences.
    • Up to now, it was only selectable via the menu bar.

For the last update that was released a few days earlier: v0.7.1

v0.7.1

13 Oct 20:41
5221b01
Compare
Choose a tag to compare

This release focuses on fixing bugs, correcting inconsistencies and improving device compatibility with OpenRazer.

Changes

  • The keyboard shortcuts in the editor for changing the brush's hue, saturation or lightness (HSL) has changed.

    Before After
    Screenshot_20211013_212447
    Changing them without the mouse was painful for fingers - your hand was thrown all over the place! Now that's a shortcut - they're physically grouped together for quick presses.
  • For mice, the scroll wheel settings are now shown first, and then the logo, so it's logically the correct way round (#363)

Fixes

Controller

  • Fix crash on Python 3.10 (#361)
  • Fix crash when styles were missing (#341)
  • Fix controls that were supposed to be in a disabled state.
  • Fix retrieval of versions in About dialogs.
  • Add support for future setting changes in OpenRazer Preferences (openrazer/openrazer@6900641)
  • Improvements to OpenRazer troubleshooter.

General

  • Fix crash if there was a "data" Python module (#341)
  • Fix error setting sleep time and low power mode.
  • Fix error setting Pulsate/Static for BlackWidow 2013-era keyboards (#345)
  • Fix graphics for charging zones.
  • Add StartupWMClass to launcher (#359)

Tray Applet

  • Add support for Ayatana Indicators.
    • Improves compatibility with Debian 11.
    • Ubuntu & Debian packages now depend on this package.

CLI

v0.7.0 - Design Update

08 Aug 15:14
2b2206a
Compare
Choose a tag to compare

It's here! 🎉 A new stable release after 3 years! 🥳 Just about everything has changed, overhauling the UI experience from v0.3.12 and vastly improving support for newer OpenRazer hardware.

What's New?

Controller

The main application is now based on PyQt5, dropping WebKitGTK. Essentially, this means it's no longer a hybrid web app and now functions as a traditional desktop application. Still featuring the familiar look & feel, but redesigned to be neat and tidy.

4K screenshot of Polychromatic's controller interface

  • New tab & sidebar interface.
  • New preferences dialog.
  • New colour picker dialog and saved colour management.
  • New "Apply to All" section to quickly set an effect, brightness or colour to all capable devices.
  • New "Device Info" dialog.
    • New "Inspect Matrix" for testing LEDs and co-ordinates (for compatible hardware)
  • 🖱️ New DPI controls, allowing independent X/Y axis.
  • 🖱️ Add ability to set custom DPI stages.
  • Ability to use "native" system theme (distro-dependent)

Some slightly more trivial things:

  • Ability to hide the new menu bar, pressing Alt to reveal.
  • Add links to Help menu, and show dependency versions in About dialog.
  • Warn when configuration was saved in a newer version of the program.
  • Configure the window placement behaviour and toolbar preferences.
  • Press F5 to refresh the tab list (or CTRL+F5 to fully reload)
  • Drop --print-device-info parameter (this is replaced by "Device Info" and "Inspect Matrix")

Effect Editor

Create your own static and animated effects! This is available for any device capable of individually addressable LEDs (also known as a matrix). Click & drag with your pointer to draw on a graphic representing your devices, or use a grid.

4K screenshot of effect editor

  • Effects will replay at login if they were playing previously.
  • Key labels can be hidden for keyboards for a minimalist look.
  • Added keyboard shortcuts.
  • Add options to change the brush's hue, saturation and lightness, as well as shifting all LEDs up, down, left or down.
  • Give your effect a description and an icon from a choice of emblems, a low-res one from your Steam library (if installed) or your own.

Device graphics are available for the following devices:

  • ⌨️ Razer BlackWidow Chroma [ 🇺🇸 🇬🇧 ]
  • ⌨️ Razer BlackWidow Elite [ 🇺🇸 ] -- thanks @beranat and @antarean!
  • ⌨️ Razer DeathStalker Chroma -- thanks @rem3-1415926!
  • ⌨️ Razer Huntsman Elite [ 🇩🇪 ] -- thanks @leifhelm!
  • 🖱️ Razer Mamba Elite -- thanks @beranat!
  • 🖱️ Razer Mamba Tournament Edition
  • 💻 Razer Blade Stealth (2016) [ 🇺🇸 🇬🇧 ]
  • 💻 Razer Blade (2018) [ 🇺🇸 🇬🇧 ]
  • 💻 Razer Blade Pro (2019) [🇩🇪 ] -- thanks @Baiyah7o!
  • Razer Firefly
  • Razer Base Station Chroma

If your device isn't listed, the grid is always available. If you're lucky, there might be a graphic identical to your device already. Learn how to contribute device graphics.

Device Support

Polychromatic has a new objective to be vendor agnostic with a goal to have seamless integration between RGB brands. For now, this software continues to be compatible with OpenRazer:

  • OpenRazer is no longer a hard dependency.
    • This software can run without OpenRazer installed, but will be limited.
  • Add support for multizoned hardware
    • Including the logo, scroll wheel, and battery charging states.
  • 🖱️🔋 Add support for battery status, sleep and low power modes.
  • Support custom effects for all compatible hardware.
  • Add shortcut to open mouse preferences for acceleration settings.
  • Button to sync DPI ranges to compatible hardware.
    • Only a couple of devices support this in the firmware. For most mice, this option isn't available.
  • Add information about macros and key remapping.

To improve your experience with OpenRazer, there is now:

  • New troubleshooter for identifying installation problems.
  • New configuration editor for editing ~/.config/openrazer/razer.conf, for options provided by the OpenRazer daemon, like:
    • Turning off the brightness when the screen is locked.
    • Sending battery status notifications.
    • Turning off persistence introduced in OpenRazer 3.0.

Tray Applet

Screenshot of Polychromatic's tray applet under a KDE panel at the top

  • Overhauled with a new menu.
    • Implemented in a way that does not "crash" like v0.3.12's did on some distros.
  • Custom effects and "Apply to All" can be set.
  • Adds support for GTK Status Icon (legacy).
  • New option to delay autostart.
    • For speedy systems, sometimes the menu or icon doesn't initialise as expected due to race conditions. Adding a delay for a few seconds can fix this.

New: Command Line

Are you a terminal warrior? Scripting kiddie? Introducing polychromatic-cli. You can set options (-o), parameters (-p), colours (-c) and more (-k) for all devices or just specific ones (-d, -s, -n).

polychromatic-cli --help

Other Changes

  • There is now just one desktop launcher, which opens the Controller.
    • If your desktop supports it, right click for desktop actions, like tray applet and opening specific tabs.
  • polychromatic-helper spawns for each device to run custom effects.
  • polychromatic-helper --autostart takes care of autostarting the tray applet (enabled by default)
  • New and updated icons.
  • Font rendering has improved.
  • New (partial) translations: 🇧🇷 pt_BR, 🇫🇷 fr_FR, 🇫🇮 fi_FI, 🇷🇺 ru, 🇳🇱 nl, 🇨🇳 zh_CN
  • Change shebang to #!/usr/bin/python3
    • Prevents custom Python installations from interfering in some situations.
  • For packagers:
    • Updated dependencies and scripts to reflect new code.
    • Change build system to meson/ninja.
    • Switch from lessc to sassc

Debian Packages

The application is now packaged modularly on Debian-based systems.

  • If desired, you can just install a component exclusively, like polychromatic-tray-applet.
  • polychromatic is a metapackage to install the complete set.

Known Issues

OpenRazer

At least 3.0.1 is recommended due to older bugs that may affect the operation of this software.

  • There is an unused Gdk dependency in older versions of OpenRazer that may lock up this software up on some distributions.

Bugs in OpenRazer that will be fixed in 3.1.0:

If this affects you, consider using the -git or daily package of OpenRazer until the next release.

There are some unresolved problems for some hardware:


If you haven't visited in a long while, Polychromatic can be found at https://polychromatic.app - also recently updated!

We also have documentation if you're looking to get involved or learn more about the project as well as OpenRazer.

🐦 We're on Twitter too: @polychromic_app