eruption
eruption copied to clipboard
Add Support for Kone XP
Introduction Hi, I recently got my hands on a Kone XP and wanted to contribute and help supporting it. I just captured the required files and did not dig into the code yet. My rustlang knowledge is sadly quite limited as of now but I may be able to help as I work as an embedded Linux developer and I'm trying to learn rustlang in my free time anyways. And as a sidenote: thanks so much for this project, I've been using it for quite a while now for my Vulcan 120 and my now broken Kone Remastered :-).
Cheers
Device to add support for 1e7d:2c8b ROCCAT ROCCAT Kone XP
Hi @muhgo, thank you very much for creating the capture file! Your support is much appreciated!
I just pushed out the first implementation to the develop branch.
Hi, I also have a Kone XP, but when I try to start eruption, it instantly crashes: Log: https://pastebin.com/Ztktg0nM
I installed eruption-git from the AUR, eruption --version says this: Eruption 0.1.24 (0.1.23.r77.g1a8569e) (release build)
lsusb:
Bus 002 Device 003: ID 0781:558a SanDisk Corp. Ultra Bus 002 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 004: ID 0dba:3000 Digidesign Mbox 2 Bus 001 Device 003: ID 046d:c214 Logitech, Inc. ATK3 (Attack III Joystick) Bus 001 Device 002: ID 11c9:55f0 Nacon GC-100XF Bus 001 Device 008: ID 048d:5702 Integrated Technology Express, Inc. ITE Device Bus 001 Device 011: ID 0781:5567 SanDisk Corp. Cruzer Blade Bus 001 Device 009: ID 046d:c24f Logitech, Inc. G29 Driving Force Racing Wheel [PS3] Bus 001 Device 006: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 013: ID 22b8:2eb7 Motorola PCS Android Bus 001 Device 015: ID 06a3:0763 Saitek PLC Pro Flight Rudder Pedals Bus 001 Device 014: ID 056a:0303 Wacom Co., Ltd CTH-680 [Intuos Pen & Touch (M)] Bus 001 Device 012: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 016: ID 1e7d:2c8b ROCCAT ROCCAT Kone XP Bus 001 Device 017: ID 1e7d:30f7 ROCCAT ROCCAT Vulcan Pro Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Edit: I had a similar issue before where it crashed on initializing the keyboard, but that was fixed by updating eruption. Although with the mouse, neither eruption-git nor manually compiling it worked
Thanks, now eruption itself works, but the GUI (for me) crashes now with this Error:
The application panicked (crashed). Message: called Result::unwrap()on anErr value: Error { domain: g-resource-error-quark, code: 0, message: "Die Ressource auf »/org/eruption/eruption-gui/img/roccat-kone-xp.png« existiert nicht" } Location: eruption-gui/src/ui/mouse/hwdevices/roccat_kone_xp.rs:42 - Transaltion: The Resource at
Also, I don't know if I'm doing something wrong, but this also doesn't work:
eruptionctl devices profile 00 /var/lib/eruption/profiles/swirl-perlin-rainbow.profile error: Invalid value "/var/lib/eruption/profiles/swirl-perlin-rainbow.profile" for '<PROFILE>': invalid digit found in string
Hi @JonLit, thanks for testing the driver!
The driver is currently in development and most of its functionality is still missing. I currently do not have access to a ROCCAT Kone XP so I will have to implement this blindfolded.
I have pushed a few fixes to the develop branch. Could you please test them and give feedback by posting logs?
Thanks in advance!
@JonLit
eruptionctl devices profile 00 /var/lib/eruption/profiles/swirl-perlin-rainbow.profile error: Invalid value "/var/lib/eruption/profiles/swirl-perlin-rainbow.profile" for '<PROFILE>': invalid digit found in string
The command eruptionctl devices profile will query or switch the hardware profile of the selected device. This may change parameters like e.g. DPI settings, where implemented. It is not to be confused with an Eruption .profile file, which is an entirely unrelated/different concept!
@JonLit
eruptionctl devices profile 00 /var/lib/eruption/profiles/swirl-perlin-rainbow.profile error: Invalid value "/var/lib/eruption/profiles/swirl-perlin-rainbow.profile" for '<PROFILE>': invalid digit found in string
The command
eruptionctl devices profilewill query or switch the hardware profile of the selected device. This may change parameters like e.g. DPI settings, where implemented. It is not to be confused with an Eruption.profilefile, which is an entirely unrelated/different concept!
Interesting, because even with the eruption ctl switch command I can't change the rgb, I'll send the logs in a few minutes. Currently it's stuck in the matrix rgb profile
@X3n0m0rph59 Thanks for your work in getting the Kone XP to work!
The gui now works, but when I start eruption, my cursor can't be moved by my mouse anymore until I stop eruption.
Also, in the gui, the page for the mouse looks a bit "incomplete":

and btw switching profiles doesn't work, no matter what I select it instantly jumps back to matrix
I tried clicking the "Angle Snapping" toggle, but then eruption-gui crashes and I can't get cursor control back with my mouse until I replug it, killing eruption also doesn't work to get mouse control back
Edit: Logs:
The application panicked (crashed).
Message: called `Result::unwrap()` on an `Err` value:
0: Invalid argument "debounce"
Location:
eruption-gui/src/util.rs:314
Location: eruption-gui/src/ui/mouse/mod.rs:95
happens on both the debounce and angle snapping toggle (tbh i don't even know what they're supposed to do and/or if the Kone XP should support these features)
btw rgb brightness control works on the Kone XP
Thanks again for testing this!
The only supported features of the ROCCAT Kone XP driver are LED lighting control at this time. The hardware configuration functionality is currently not implemented at all. So DPI switching, angle snapping, firmware status, DCU parameters ... will not work at the moment.
btw rgb brightness control works on the Kone XP
Ah, great to hear that! This means that the LED support code seems to work...
I will try to fix the bug that causes the device to hang. Would it be possible for you to post a video of your mouse showing some effects rendered by the Eruption daemon then?
well that's the other issue I wrote about, I can't switch profiles, it always snaps back to the matrix profile But that works on both the Keyboard and Mouse, on my Vulcan Pro it has the green/black colors scrolling down, the mouse is just entirely green
but I'll post a picture of it in a second
Please note that the colors are very far off, in reality they're the same as the keyboard, a nice and full green
Here the colors are somewhat accurate

To debug this issue could you please run Eruption with debug logging enabled? Please mask the eruption.service before.
sudo systemctl mask eruption.service && sudo systemctl stop eruption.service
sudo RUST_LOG=debug target/debug/eruption
To unmask the eruption.service later on, please run:
sudo systemctl unmask eruption.service && sudo systemctl restart eruption.service
Please post the complete debug log!
To debug this issue could you please run Eruption with debug logging enabled? Please mask the
eruption.servicebefore.sudo systemctl mask eruption.service && sudo systemctl stop eruption.service sudo RUST_LOG=debug target/debug/eruptionTo unmask the
eruption.servicelater on, please run:sudo systemctl unmask eruption.service && sudo systemctl restart eruption.servicePlease post the complete debug log!
oh damn the last few times I recompiled it I reinstalled the whole program :joy:
Thanks for posting the full debug logs! Could you please post the debug logs of eruption when you run:
eruptionctl switch profile solid.profile
From a different terminal to switch to some other .profile file.
Do the LEDs of the Kone XP still light up with the latest commit from the debug branch applied?
Here are a Video and the logs for the buttons on the mouse https://streamable.com/9swnq1 https://pastebin.com/B56NQN01
I tried making it with obs, but I couldn't get screen or application recording to work :(
The hang issue is resolved, thanks! https://pastebin.com/HGL4R9cu
If I repeat the switching command very fast, I sometimes get a frame of red leds on the keyboard and mouse
poor pastebin lol sorry if I'm spamming a bit, i'm slightly tired, but I'm alright
Great that really helps a lot, thank you for your excellent support! I will try to fix the crasher bug related to the mouse buttons tomorrow.
sure, thank YOU for this excellent software and being willing to make it work for other people!
Great! Now I can switch profiles, and they work on both the keyboard and the mouse (I have no Idea, but now it doesn't work anymore, and the mouse is stuck on red leds) I replugged the mouse, but I still can't switch rgb profiles, logs when trying with eruptionctl: https://pastebin.com/Nrf0egW8
Also I think the DPI button LED is in the wrong order, it is in the middle of the mouse, but for color effects I think it's on the right of the mouse or on the left of the keyboard
Is there anything needed from Kone XP users in order to get this supported?