Razer device configuration tool

This is the next generation Razer device configuration tool bringing the Razer gaming experience to the free OpenSource world.

Image preview of qrazercfg.png

The tool architecture is based on "razerd", which is a background daemon doing all of the lowlevel privileged hardware accesses. The user interface tools are "razercfg", a commandline tool; and "qrazercfg", a QT4 based graphical device configuration tool (see screenshot below).

Device name Support status
Razer Boomslang CE mouse Stable, but missing minor features.
Razer Copperhead mouse Stable, but missing minor features.
Razer DeathAdder Classic mouse Stable
Razer DeathAdder 3500 DPI mouse Stable
Razer DeathAdder Black Edition mouse Stable
Razer DeathAdder 2013 mouse Stable
Razer Imperator Classic and 2012 mice Driver exists, but is currently broken
Razer Krait mouse Stable
Razer Lachesis Classic mouse Stable, but missing minor features.
Razer Lachesis 5600 DPI mouse Driver exists, but is currently broken
Razer Naga Classic mouse Stable
Razer Naga 2012 mouse Stable
Razer Naga 2014 mouse Stable
Razer Naga Hex mouse Stable
Razer Taipan mouse Stable
Any other wired, wireless or hybrid wired/wireless Razer mouse not listed here Currently unsupported

Razercfg does only offer options for features supported by the actual hardware of the mouse. So if the hardware does not support button remapping for example, razercfg will not offer button options, even if the windows driver does. Button remapping on these devices has to be done by xmodmap, xinput or other X11 tools. One exception is profiles, though. If the mouse does not support profiles in hardware, razercfg will emulate 20 profiles in software.

Device name Supported features
Razer Boomslang CE mouse hP, B*, F, D, L
Razer Copperhead mouse hP, B*, F, D, L
Razer DeathAdder Classic mouse eP, F, D, L
Razer DeathAdder 3500 DPI mouse eP, F, D, L
Razer DeathAdder Black Edition mouse eP, F, D
Razer DeathAdder 2013 mouse eP, F, D, L
Razer Imperator Classic and 2012 mice hP, B*, F, D, L
Razer Krait mouse eP, D
Razer Lachesis Classic mouse hP, B*, F, D, L
Razer Lachesis 5600 DPI mouse hP, B*, F, D, L
Razer Naga Classic mouse (wired) eP, F, D, L
Razer Naga 2012 mouse eP, F, D, L
Razer Naga 2014 mouse eP, F, D, L
Razer Naga Hex mouse eP, F, D, L
Razer Taipan mouse eP, F, D, L
eP = Emulated profiles
hP = Hardware profiles
F = Frequency switching
B = Button remapping
D = DPI switching
L = LEDs switching
* = Not fully supported

The following prerequisites are required to start working on a driver for a new device.
You need

If you lack one of these prerequisites, please get it before trying to contact me.

Modern mice most likely implement the "Synapse 2.0" wire protocol or (even more likely) a derivative thereof. That protocol is implemented in librazer/synapse.c. Drivers for mice with synapse protocol are supposed to use that generic code and tell it with feature-flags (enum razer_synapse_features) about slight variations in the wire protocol. See the hw_imperator.c and hw_lachesis5k6.c drivers for examples. New mice most likely require adding more feature flags and modifications to the generic synapse code.

Synapse 2.0 Framework is the name of the new Windows driver for Razer devices.
It basically is a one-supports-all solution. One driver for many devices. That's great.
However, what's not to great is the required internet connection, online registration and cloud connection. You guys at Razer, are you serious? A device driver with forced registration and cloud connection? This is ridiculous.
I am not going to play this game. I won't buy any new Razer product that requires an online registration or any sort of internet connection to run the device driver. That also means that I will not work on razercfg support for these devices.

Latest bleeding edge razercfg can be downloaded using the Git version control system as follows:

git clone git://git.bues.ch/razer.git

or by downloading the razercfg snapshot archive.
To browse the Git repository online, go to the gitweb interface.
A mirror of the repository is available on Github.

Copyright (C) Michael Büsch
Licensed under the terms of the GNU General Public License version 2 . See the sourcecode for details.

Updated: Monday 08 September 2014 20:07 (UTC)
https (SSL) encrypted
xhtml / css