Jump to content
Corsair Community

(Unofficial) Linux / OSX Driver


MSC

Recommended Posts

yup.. multipler stays high + daemon run but does nothing when the ckb app is closed

 

AND i saw some weird connections attempts from the ckb daemon to an ads pay per click site....

 

besides the power waste, im now worried to run this software as i dont know why its connecting to this site

Uhm, if ckb-daemon is attempting to connect to the internet then you should rebuild it from source and/or check your computer for viruses, because the version you downloaded has been tampered with. I could give you GPG signatures for the source code if you need them. ckb-daemon doesn't contain networking code at all.

 

It's possible that GitHub is tampering with the binaries somehow (I hope not...) so I'll look into that. I'd like to get this sorted out before investigating what's going on with the power states.

 

I'm not noticing any power consumption issue on my i5, the frequency scales normally.

However, even compiling the latest testing version, binding a key to an external program still doesn't work correctly (I'm running plasma5, if that matters). It works if I setup a key to run yakuake as it's already running in the background, bu launching a new app doesn't work at all.

 

Did it work correctly in a previous version?

 

Just wanted to say that this driver is really great. Thanks for all the hard work.

 

I have a question though, does this driver work with usb 3.0? I could only get it to work using usb 2 ports.

The driver itself doesn't care, but a lot of motherboards have problems using the keyboard with USB 3.0.

 

Hi MSC-

 

Your driver is working great as always, but I noticed something in the new beta 0.2 with the m65.

 

I use smooth mouse to disable mouse acceleration, and without ckb running, there is not acceleration. As soon as i start the driver however, mouse acceleration comes back. Can you add functionality to the driver to disable this? IMO mouse acceleration is god awful and terrible for accuracy.

 

Thanks!

The simplest way to turn mouse acceleration off is to use this: https://apple.stackexchange.com/questions/151539/how-to-disable-mouse-acceleration-in-yosemite

This *should* disable acceleration both with and without ckb running. If it's still accelerating, ckb-daemon has a command line option named "--nomouseaccel" to turn it off.

Link to comment
Share on other sites

  • Replies 824
  • Created
  • Last Reply

Top Posters In This Topic

07/10/15 11:02:49,000 kernel[0]: process ckb-daemon[20542] caught causing excessive wakeups. Observed wakeups rate (per sec): 552; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 45462
Link to comment
Share on other sites

07/10/15 11:02:49,000 kernel[0]: process ckb-daemon[20542] caught causing excessive wakeups. Observed wakeups rate (per sec): 552; Maximum permitted wakeups rate (per sec): 150; Observation period: 300 seconds; Task lifetime number of wakeups: 45462

 

 

I am not surprised - ckb spams /dev/input/ckb[12]/cmd like crazy, posting the full LED map with colors every time the main window gets a re-draw/update even if no LED's changed. The daemon wakes up to process it every time. It then drops it silently because nothing changes.

 

@MSC, I suggest frameUpdate in kblight.cpp is made smarter to check if anything has changed before posting the cmd. Kind of like updatergb does it in led_keyboard.c, when determining if it needs to post to usb.

 

It would save CPU, heat, battery, electiricy, and eventually the world ;)

Link to comment
Share on other sites

I would blame the USB interrupt polling for that. The window update/redraw should not happen more frequently than the screen refresh rate.

 

The window is updated on timer, every 1/60 of a second, which then sends the LED codes to the driver. The driver is very gentle on the USB communication when no lights are being updated. However if you have an animation running the worst case is 4*60 USB packet writes a second and 60 packet reads. Yes, a ton of wakeups.

Link to comment
Share on other sites

Anyone know how I can completely remove any trace of these drivers? It's completely screwed up everything and Linux ignores half of the input from the keyboard.

 

Read the README.md on github. If that did not help, your problem is not the drivers but something else on your system.

Link to comment
Share on other sites

I am not surprised - ckb spams /dev/input/ckb[12]/cmd like crazy, posting the full LED map with colors every time the main window gets a re-draw/update even if no LED's changed. The daemon wakes up to process it every time. It then drops it silently because nothing changes.

 

@MSC, I suggest frameUpdate in kblight.cpp is made smarter to check if anything has changed before posting the cmd. Kind of like updatergb does it in led_keyboard.c, when determining if it needs to post to usb.

 

It would save CPU, heat, battery, electiricy, and eventually the world ;)

Yeah, this is definitely planned. There's an issue thread with some discussion about it: https://github.com/ccMSC/ckb/issues/67

I haven't done anything yet because I don't have much time for the project and so far the people who complain about performance have been fewer than the people who ask for new features :P But I'll definitely get around to optimizing it soon-ish.

 

I would blame the USB interrupt polling for that. The window update/redraw should not happen more frequently than the screen refresh rate.

I think you're right. OSX isn't very friendly to user-space drivers, and writing a kernel driver requires shelling out $100/yr for an apple developer program, which I'm not willing to do. It's possible there are some optimizations I'm missing, but if it's causing the CPU to heat up even when the GUI isn't active then I'm not sure there's anything I can do.

 

I've extended the driver to support the new Strafe RGB. You can test it from the testing branch of my repo for now (https://github.com/SicVolo/ckb/tree/testing) or from the MSC's repo after the pull request is merged.

Merged in the ckb testing repo now! If anyone else has one of these and can test it before it gets back to the master branch, would be much appreciated :)

 

I'm also going to try to add support for the Strafe non-RGB, Sabre RGB, and Scimitar RGB in the next few weeks. If you have one of those and haven't already contacted me about it, feel free to leave a PM or comment.

Link to comment
Share on other sites

Did it work correctly in a previous version?

Yes, it did work correctly some time ago. I started using ckb in the middle of august and it was working with the first version I tried.

The issue is extremely weird as the driver itself does work. If I setup a key to launch yakuake it opens the terminal correctly, but only if it's already working. If I set it up to run konsole, it opens a new instance but only if there's already one open. I don't understand what the problem can be.

Link to comment
Share on other sites

I've extended the driver to support the new Strafe RGB. You can test it from the testing branch of my repo for now (https://github.com/SicVolo/ckb/tree/testing) or from the MSC's repo after the pull request is merged.

 

I've attempted installing this version as I recently acquired the Strafe (10/10 would recommend), but either I am doing something incorrectly or it doesn't currently work on EL Capitan. Do we know one way or the other if this works on El Cap, and if so I'd love some assistance on getting it working. I won't bother to include exactly what I've tried if the issue is as simple as El Cap not being supported, but I'll run through everything I have tried if we think the OS X Beta should be working.

Link to comment
Share on other sites

I've attempted installing this version as I recently acquired the Strafe (10/10 would recommend), but either I am doing something incorrectly or it doesn't currently work on EL Capitan. Do we know one way or the other if this works on El Cap, and if so I'd love some assistance on getting it working. I won't bother to include exactly what I've tried if the issue is as simple as El Cap not being supported, but I'll run through everything I have tried if we think the OS X Beta should be working.

 

Running on El Capitan with an M65 RGB and it works just fine for me. Zero issues to report.

 

FYI MSC. I tried disabling mouse acceleration via the terminal command and it does not work. I still get a noticeable amount of acceleration, though it seems to be decreased. How can I start the daemon with the --nomouseaccel command on startup? I think it would be a good addition within ckb settings that you can toggle.

Link to comment
Share on other sites

Running on El Capitan with an M65 RGB and it works just fine for me. Zero issues to report.

 

FYI MSC. I tried disabling mouse acceleration via the terminal command and it does not work. I still get a noticeable amount of acceleration, though it seems to be decreased. How can I start the daemon with the --nomouseaccel command on startup? I think it would be a good addition within ckb settings that you can toggle.

 

Okay, so it's an issue with not properly setting up the beta version for my Strafe. Thanks for the info. You wouldn't happen to be running the beta of CKB for any reason would you?

Link to comment
Share on other sites

Okay, so it's an issue with not properly setting up the beta version for my Strafe. Thanks for the info. You wouldn't happen to be running the beta of CKB for any reason would you?

 

I am running the 0.2.1 beta right now. Though I just updated to it a couple days ago when it was released and was using 0.2.0 before that. The only difference I saw from 0.2.0 to 0.2.1 is that dynamic RGB lighting now works on my mouse whereas it did not before and remained whichever static color it was set at. No animations worked before.

Link to comment
Share on other sites

I am running the 0.2.1 beta right now. Though I just updated to it a couple days ago when it was released and was using 0.2.0 before that. The only difference I saw from 0.2.0 to 0.2.1 is that dynamic RGB lighting now works on my mouse whereas it did not before and remained whichever static color it was set at. No animations worked before.

 

I've been fiddling around with compiling the app from the source as the binary would not seem to be recognizing my board. I'm encountering an issue where when attempting to build it in Qt creator as instructed by the github page it becomes very unhappy because all of the .pro files include an OS X version which is 10.10. I attempted to change them all to 10.11, and it makes an app, but it has the little broken symbol on it and I get the may be damaged or out of date error. Any thoughts?

Link to comment
Share on other sites

I've been fiddling around with compiling the app from the source as the binary would not seem to be recognizing my board.

 

The code I wrote for the Strafe RGB is in the testing branch of MSC's repo - beta-v0.2.1+t06. You need to get that branch and compile manually. I've not tried compiling it on OS X, but someone else did - https://github.com/ccMSC/ckb/issues/138.

Note the small fix you need to do before it compiles.

Link to comment
Share on other sites

The code I wrote for the Strafe RGB is in the testing branch of MSC's repo - beta-v0.2.1+t06. You need to get that branch and compile manually. I've not tried compiling it on OS X, but someone else did - https://github.com/ccMSC/ckb/issues/138.

Note the small fix you need to do before it compiles.

 

I went and downloaded the testing branch and I got as far as trying to compile it before I started running into problems. Believe the issue is with the version the version of OS X the .pro files for Qt want. I'm working on a big computer science project at the moment (clacking away happily on my new keyboard no less) so I can't look into it right this instant, but I'll be sure to check out that link as soon as I can.

Link to comment
Share on other sites

I went and downloaded the testing branch and I got as far as trying to compile it before I started running into problems. Believe the issue is with the version the version of OS X the .pro files for Qt want. I'm working on a big computer science project at the moment (clacking away happily on my new keyboard no less) so I can't look into it right this instant, but I'll be sure to check out that link as soon as I can.

 

I normally compile from source, but I was having those issues too and couldnt solve them either, so I am using the binary as well. Just FYI in solving your issues.

Link to comment
Share on other sites

I normally compile from source, but I was having those issues too and couldnt solve them either, so I am using the binary as well. Just FYI in solving your issues.

 

SO you're running El Capitan. I just downloaded the normal release, rather than the beta, so we'll see if that fixes it, but are you using the .pkg download from here: https://github.com/ccMSC/ckb/releases/tag/v0.2.1

Link to comment
Share on other sites

Hey all, I got it compiled after following some tickets on the testing fork. Thanks for all the help. SicVolo, if you need any help getting Scimitar functionality working, I have one (another great product 10/10 would recommend) and am totally willing to help out in any way I can.
Link to comment
Share on other sites

Project files should be fixed now. I'm not actually sure why QMAKE_MAC_SDK is in there, I think it was a workaround for some issue earlier on. Seems to work just fine with those lines removed.

 

Yes, it did work correctly some time ago. I started using ckb in the middle of august and it was working with the first version I tried.

The issue is extremely weird as the driver itself does work. If I setup a key to launch yakuake it opens the terminal correctly, but only if it's already working. If I set it up to run konsole, it opens a new instance but only if there's already one open. I don't understand what the problem can be.

 

See #133 - I've made an update to the testing version, it should work again now. Let me know if you're still having trouble.

 

Running on El Capitan with an M65 RGB and it works just fine for me. Zero issues to report.

 

FYI MSC. I tried disabling mouse acceleration via the terminal command and it does not work. I still get a noticeable amount of acceleration, though it seems to be decreased. How can I start the daemon with the --nomouseaccel command on startup? I think it would be a good addition within ckb settings that you can toggle.

 

There's a system file named /Library/LaunchDaemons/com.ckb.daemon.plist. Edit it to this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>com.ckb.daemon</string>
   <key>ProgramArguments</key>
   <array>
       <string>/Applications/ckb.app/Contents/Resources/ckb-daemon</string>
       <string>--nomouseaccel</string>
   </array>
   <key>KeepAlive</key>
   <true/>
   <key>ProcessType</key>
   <string>Interactive</string>
   <key>LegacyTimers</key>
   <true/>
</dict>
</plist>

Then restart your computer and that should do the trick.

 

One caveat, this does also disable scroll wheel acceleration. I'll work on implementing finer control over it, as well as a GUI option to disable acceleration, in a future version.

Link to comment
Share on other sites

There's a system file named /Library/LaunchDaemons/com.ckb.daemon.plist. Edit it to this:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
   <key>Label</key>
   <string>com.ckb.daemon</string>
   <key>ProgramArguments</key>
   <array>
       <string>/Applications/ckb.app/Contents/Resources/ckb-daemon</string>
       <string>--nomouseaccel</string>
   </array>
   <key>KeepAlive</key>
   <true/>
   <key>ProcessType</key>
   <string>Interactive</string>
   <key>LegacyTimers</key>
   <true/>
</dict>
</plist>

Then restart your computer and that should do the trick.

 

One caveat, this does also disable scroll wheel acceleration. I'll work on implementing finer control over it, as well as a GUI option to disable acceleration, in a future version.

 

Works perfectly now. Zero mouse acceleration and the scrolling is fine with me how it is.

 

Thanks!

Link to comment
Share on other sites

After updating to El Capitan the menu bar icon is missing... I can still click on the empty space to activate the drop down. Any idea how to fix it?

 

I have tried reinstalling.

 

http://i1083.photobucket.com/albums/j383/mhennessie/Screen%20Shot%202015-10-15%20at%2010.05.10%20PM_zpshrcyevqx.png

Link to comment
Share on other sites

Just purchased an M65 Vengence mouse and want to use the buttons etc via my Mac, I downloaded this software but it seems to be for if you are using the mouse via one of their keyboards ? I just want to use the mouse extra buttons via my Mac without all the flashing light keyboard attached.

 

Thanks.

Link to comment
Share on other sites

First of all, huge thanks for writing this driver. It appears to work in the sense that I can actually use the keyboard in non-BIOS mode now, and when inside the `ckb` utility, i can create new animations modes and what not and they display nicely on the keyboard.

 

But that is where I am stuck. When I exit the ckb UI, the animations stop. Surely it isn't intended that we leave the UI up in the background is it? I figure that I am doing something fundamentally wrong, or perhaps the driver and/or keyboard is in a weird state that needs to be cleared. For info purposes, I have the K70.

 

I noticed that I have a /dev/input/ckb0 and a ckb1. Is this normal for having a single keyboard?

Link to comment
Share on other sites


×
×
  • Create New...