![]() |
ckb-next
beta-v0.2.8 at branch testing
ckb-next driver for corsair devices
|
ckb-next: RGB Driver for Linux and OS X
ckb-next is an open-source driver for Corsair keyboards and mice. It aims to bring the features of their proprietary CUE software to the Linux and Mac operating systems. This project is currently a work in progress, but it already supports much of the same functionality, including full RGB animations. More features are coming soon. Testing and bug reports are appreciated!
Disclaimer: ckb-next is not an official Corsair product. It is licensed under the GNU General Public License (version 2) in the hope that it will be useful, but with NO WARRANTY of any kind.
We don't know. The author of ckb ccMSC suddenly disappeared and hasn't showed up since July 2016. So the community around ckb decided to take the project over and continue its development. That's how ckb-next was created. Currently it's not rock solid and very easy to set up on newer systems but we are actively working on this. Nevertheless the project already incorporates a notable amount of fixes and patches in comparison to the original ckb.
See also:
Keyboards:
Mice:
ckb-next packages:
master
branchckb packages (deprecated):
master
branch (more stable)testing
branch (less stable but fresher)emerge -av app-misc/ckb
If you are a package maintainer or want to discuss something with package maintainers let us know in the issues, so we can have an accountable and centralized communication about this. If you would like to maintain a package for your favorite distro/OS, please let us know as well.
ckb-next requires Qt5 (Qt 5.6 recommened for OS X), libudev, zlib, gcc, g++, and glibc.
sudo apt-get install build-essential libudev-dev qt5-default zlib1g-dev libappindicator-dev
sudo dnf install zlib-devel qt5-qtbase-devel libgudev-devel libappindicator-devel systemd-devel gcc-c++
sudo pacman -S base-devel qt5-base zlib
qt5
or libqt5*-devel
Note: If you build your own kernels, ckb-next requires the uinput flag to be enabled. It is located in Device Drivers -> Input Device Support -> Miscellaneous devices -> User level driver support
. If you don't know what this means, you can ignore this.
You can download ckb-next using the "Download zip" option on the right. Extract it and open the ckb-master directory. The easiest way to install ckb is to double-click the quickinstall
script and run it in a Terminal. It will attempt to build ckb and then ask if you'd like to install/run the application. If the build doesn't succeed, or if you'd like to compile ckb manually, see https://github.com/ccMSC/ckb/blob/master/BUILD.md "`BUILD.md`" for instructions.
To install a new version of ckb, or to reinstall the same version, first delete the ckb-master directory and the zip file from your previous download. Then download the source code again and re-run quickinstall
. The script will automatically replace the previous installation. You may need to reboot afterward.
First, stop the ckb-daemon service and remove the service file.
If you're not sure, re-run the
quickinstallscript and proceed to the service installation. The script will say
System service: Upstart detectedor
System service: systemd detected`. Please be aware that OpenRC is currently not detected automatically.Afterward, remove the applications and related files: ``` sudo rm -f /usr/bin/ckb /usr/bin/ckb-daemon /usr/share/applications/ckb.desktop /usr/share/icons/hicolor/512x512/apps/ckb.png sudo rm -rf /usr/lib/ckb-animations ```
Before https://github.com/mattanger/ckb-next/commit/f347e60df211c60452f95084b6c46dc4ec5f42ee animations were located elsewhere, try removing them as well: ``` sudo rm -rf /usr/bin/ckb-animations ```
The latest OS X/macOS binary can be downloaded here: https://github.com/mattanger/ckb-next/releases/latest
Click on ckb.pkg
under the Downloads section. This is an automated installer which will set up the driver for you. After it's finished, open ckb.app (it will be installed to your Applications directory) to get started.
Install the latest version of Xcode from the App Store. Open Xcode, accept the license agreement, and wait for it to install any additional components (if necessary). When you see the "Welcome to Xcode" screen, the setup is finished and you can close the app. Then install Xcode Command Line Tools package issuing xcode-select --install
in a Terminal app. Afterwards install Qt5 from here: http://www.qt.io/download-open-source/
The easiest way to build the driver is with the quickinstall
script, which is present in the ckb-master folder. Double-click on quickinstall
and it will compile the app for you, then ask if you'd like to install it system-wide. If the build fails for any reason, or if you'd like to compile manually, see https://github.com/ccMSC/ckb/blob/master/BUILD.md "`BUILD.md`".
Download the latest ckb.pkg
, run the installer, and reboot. The newly-installed driver will replace the old one.
Remove the existing ckb-master directory and zip file. Re-download the source code and run the quickinstall
script again. The script will automatically replace the previous installation. You may need to reboot afterward.
Drag ckb.app
into the trash. If the system service file isn't cleaned up automatically, you can find it and remove it here: /Library/LaunchDaemons/com.ckb.daemon.plist
.
The user interface is still a work in progress.
Major features:
Closing ckb will actually minimize it to the system tray. Use the Quit option from the tray icon or the settings screen to exit the application.
Roadmap (roughly in order)
If you have problems connecting the device to your system (device doesn't respond, ckb-daemon doesn't recognize or can't connect it) and/or you experience long boot times when using the keyboard, try adding the following to your kernel's cmdline
:
usbhid.quirks=0x1B1C:0x1B17:0x20000408
usbhid.quirks=0x1B1C:0x1B09:0x0x20000408
usbhid.quirks=0x1B1C:0x1B13:0x20000408
usbhid.quirks=0x1B1C:0x1B08:0x20000408
usbhid.quirks=0x1B1C:0x1B11:0x20000408
usbhid.quirks=0x1B1C:0x1B15:0x20000408
usbhid.quirks=0x1B1C:0x1B20:0x20000408
usbhid.quirks=0x1B1C:0x1B12:0x20000408
usbhid.quirks=0x1B1C:0x1B14:0x20000408
usbhid.quirks=0x1B1C:0x1B19:0x20000408
usbhid.quirks=0x1B1C:0x1B1E:0x20000408
For instructions on adding cmdline
parameters in Ubuntu, see https://wiki.ubuntu.com/Kernel/KernelBootParameters
If you have multiple devices, combine them with commas, starting after the =
. For instance, for K70 RGB + M65 RGB: usbhid.quirks=0x1B1C:0x1B13:0x20000408,0x1B1C:0x1B12:0x20000408
If it still doesn't work, try replacing 0x20000408
with 0x4
. Note that this will cause the kernel driver to ignore the device(s) completely, so you need to ensure ckb-daemon is running at boot or else you'll have no input. This will not work if you are using full-disk encryption.
If you see GLib critical errors like `GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed` and you are using:
~/
generated by Qt automatically, remove them as well.qt5ct
package on Arch Linux (find a similar one for your distribution). That's all. This is a known Qt bug. It happened because Qt did not ship required GTK files.If you're using Unity and the tray icon doesn't appear correctly, run sudo apt-get install libappindicator-dev
. Then reinstall ckb.
System Preferences > Security & Privacy > General
and click Open Anyway
.~
key prints §±
** Check your keyboard layout on ckb's Settings screen. Choose the layout that matches your physical keyboard.ckb-master
directory as well as any automatically generated build-ckb
folders and try again from a new download.Please ensure your keyboard firmware is up to date. If you've just bought the keyboard, connect it to a Windows computer first and update the firmware from Corsair's official utility.
Before reporting an issue, connect your keyboard to a Windows computer and see if the problem still occurs. If it does, contact Corsair. Additionally, please check the Corsair user forums to see if your issue has been reported by other users. If so, try their solutions first.
Common issues:
If you have a problem that you can't solve (and it isn't mentioned in the Known Issues section below), you can report it on the GitHub issue tracker. Before opening a new issue, please check to see if someone else has reported your problem already - if so, feel free to leave a comment there.
You can contribute to the project by opening a pull request. It's best if you base your changes off of the testing
branch as opposed to the master
, because the pull request will be merged there first. If you'd like to contribute but don't know what you can do, take a look at the issue tracker and see if any features/problems are still unresolved. Feel free to ask if you'd like some ideas.