Skip to content

Troubleshooting

Nathan Price edited this page Aug 5, 2024 · 22 revisions

Linux

Random system crashes or freezes

If you are getting random kernel crashes after installing the software, make sure you are running the latest version of the following kernels:

  • 4.4
  • 4.9
  • 4.14
  • 4.16 or higher

Alternatively, update to version ≥0.3.0 of the software, or manually patch your kernel with the diff from here https://lkml.org/lkml/2018/4/6/952

USBHID Quirks

If you have problems connecting the device to your system (device doesn't respond and/or you experience long boot times when using the keyboard), try adding these quirks to your kernel's cmdline.

Usbhid quirks consist of colon-separated VID (vendor ID), PID (product ID) and flags. In order to get yours, open a terminal and execute:

lsusb | grep 1b1c | awk '{ split($6, a, ":"); print "0x" a[1] ":0x" a[2] ":0x20000408"}' | tr '\n' ',' | sed -e 's/,$/\n/;s/^0x/usbhid.quirks=0x/'

For example: usbhid.quirks=0x1b1c:0x1b20:0x20000408

For instructions on adding cmdline parameters in Ubuntu, see this.

On Pop!_OS you can run sudo kernelstub -a usbhid.quirks=0x1b1c:0x1b20: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.

USBCore Quirks

For kernel versions 4.17 and higher, you can also add the following usbcore quirks to the cmdline to work around issues such as devices not being recognised.

To generate the appropriate ones, execute:

lsusb | grep 1b1c | awk '{ split($6, a, ":"); print a[1] ":" a[2] ":gn"}' | tr '\n' ',' | sed -e 's/,$/\n/;s/^/usbcore.quirks=/'

For example: usbcore.quirks=1b1c:1b2e:gn

GLib critical errors and lock up at colour chooser

Qt5 attempts to set a theme to blend in with your window system, but the theming engine contains bugs that can cause GLib critical errors when trying to open the ckb-next colour selector such as this:

GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

These can be fixed by doing the following:

  • Install qt5ct
    • Fedora 26+: dnf install qt5ct qt5-qtstyleplugins
    • Ubuntu 16.10+: sudo apt-get install qt5ct qt5-style-plugins
      • 16.04 users should install this PPA before running the above: sudo add-apt-repository ppa:mati75/qt5ct; sudo apt-get update
  • echo "export QT_QPA_PLATFORMTHEME=qt5ct" >> ~/.profile
  • Log out and log in again.
  • Run qt5ct, select gtk2 from the Style dropdown menu, and click OK.
  • Restart ckb-next.

Misbehaving tray icon

If the tray icon doesn't appear correctly, run sudo apt-get install libappindicator-dev. Then reinstall ckb-next. (Only for source installations)

Could not find or load the Qt platform plugin "xcb"

You can run QT_DEBUG_PLUGINS=1 ckb-next to get more details on why the plugin failed to load.

On Ubuntu it has been reported that running sudo apt install --reinstall libxcb-xinerama0 fixed this issue, however there can be many other causes for this error message.

Missing libGL.so

If during installation the following error appears, there is some issue with the graphics driver.

The imported target "Qt5::Gui" references the file "/usr/lib/x86_64-linux-gnu/libGL.so" but this file does not exist.

The following has been reported to correct this on Debian with the nvidia drivers installed using the nvidia installer. Please keep in mind that if the cause is not the same, it might make the situation worse.

sudo rm /usr/lib/x86_64-linux-gnu/libGL.so ;; sudo ln -s /usr/lib/x86_64-linux-gnu/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so

Crashes in SDL applications on a Raspberry Pi

If you are getting errors similar to

Assertion failure at RPI_ShowCursor (/home/pi/workspace/sdl/src/video/raspberry/SDL_rpimouse.c:171), triggered 1 time

then make sure all your devices have the latest firmware. Such a crash has been reported with Parsec and a Glaive RGB. Updating the firmware resolved it.

OS X/macOS

  • “ckb.pkg” can’t be opened because it is from an unidentified developer Right-click (control-click) on ckb.pkg and select Open. This new dialog box will give you the option to open anyway, without changing your system preferences.
  • Modifier keys (Shift, Ctrl, etc.) are not rebound correctly ckb does not recognize modifier keys rebound from System Preferences. You can rebind them again within the application.
  • ~ key prints §± Check your keyboard layout on ckb's Settings screen. Choose the layout that matches your physical keyboard.
  • Compile problems Can usually be resolved by rebooting your computer and/or reinstalling Qt. Make sure that Xcode works on its own. If a compile fails, delete the ckb-master directory as well as any automatically generated build-ckb folders and try again from a new download.
  • Scroll wheel does not scroll As of #c3474d2 it's now possible to disable scroll acceleration from the GUI. You can access it under "OSX tweaks" in the "More settings" screen. Once disabled, the scroll wheel should behave consistently.

General

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:

  • Problem: ckb says "No devices connected" or "Driver inactive"
  • Solution: Try rebooting the computer and/or reinstalling ckb. Try removing the keyboard and plugging it back in. If the error doesn't go away, try the following:
  • Problem: Keyboard doesn't work in BIOS, doesn't work at boot
  • Solution: Some BIOSes have trouble communicating with the keyboard. They may prevent the keyboard from working correctly in the operating system as well. First, try booting the OS without the keyboard attached, and plug the keyboard in after logging in. If the keyboard works after the computer is running but does not work at boot, you may need to use the keyboard's BIOS mode option.
  • BIOS mode can be activated using the poll rate switch at the back of the keyboard. Slide it all the way to the position marked "BIOS". You should see the scroll lock light blinking to indicate that it is on. (Note: Unfortunately, this has its own problems - see Known Issues. You may need to activate BIOS mode when booting the computer and deactivate it after logging in).
  • Problem: Keyboard isn't detected when plugged in, even if driver is already running
  • Solution: Try moving to a different USB port. Be sure to follow Corsair's USB connection requirements. Note that the keyboard does not work with some USB3 controllers - if you have problems with USB3 ports, try USB2 instead. If you have any USB hubs on hand, try those as well. You may also have success sliding the poll switch back and forth a few times.

Reporting 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.

Generate a Report

In the ckb-next application, go to the Settings tab of the user interface and click the Generate Report button. generate a report via GUI Alternatively, run

ckb-next-dev-detect