eruption-project / eruption

Realtime RGB LED Driver for Linux
https://eruption-project.org/
GNU General Public License v3.0
258 stars 32 forks source link

Eruption sometimes fails to autostart, causes keyboard flickering #204

Open Voakie opened 1 year ago

Voakie commented 1 year ago

Introduction Eruption has been working flawlessly for me and my ROCCAT Vulkan 121 AIMO. It just has some autostart issues sometimes. When I boot the PC, the keyboard would start flickering very quickly. Even though the lights seem to be affected, the main function of the keyboard seems to be unchanged (like if I wasn't running eruption). If I switch the knob to FX controls and dim the lights as low as possible, the flickering stops. It starts again with the next highest brightness level

Please describe the bug Keyboard flickering after clean boot. Restarting eruption via systemctl resolves the issue. Journal is flooded with logs (see below)

To Reproduce Unclear, only happens sometimes upon boot. I will try to give as much information about this bug as possible, if not reproducible on other machines.

Expected behavior Eruption should start normally on boot and not cause the keyboard to flicker.

Logs

Feb 17 10:31:03 NuklearesUBoot systemd[1]: Starting Realtime RGB LED Driver for Linux...
Feb 17 10:31:03 NuklearesUBoot systemd[1]: Started Realtime RGB LED Driver for Linux.
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Could not get firmware version: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 1: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Error opening the keyboard device: Could not open the device file
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: This could be a permission problem, or maybe the device is locked by anothe>
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Could not initialize the device: Device not opened
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Could not initialize LEDs: Device not opened
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 1: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 2: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 2: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 3: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 3: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 4: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 4: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 5: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 5: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 6: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 6: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 7: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 7: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 8: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Skipping uninitialized device, trying to re-initialize it now...
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Error opening the keyboard device: Could not open the device file
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Could not initialize the device: Device not opened
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 8: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Step 9: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Wait 9: Invalid result
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Could not grab the device: Device or resource busy (os error 16)
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Skipping uninitialized device, trying to re-initialize it now...
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Error opening the keyboard device: Could not open the device file
Feb 17 10:31:06 NuklearesUBoot eruption[744]: NuklearesUBoot eruption[744]: Could not initialize the device: Device not opened

The last three lines then repeat indefinitely

Screenshots (optional)

Short video of the flickering

I assumed this could be caused by 2 instances of eruption running at the same time, but I can only spot one main eruption process. I've attached a htop screenshot anyway: EruptionHTOP

Please complete the following information:

Version: Eruption version 0.3.2 Device: Bus 003 Device 002: ID 1e7d:3098 ROCCAT ROCCAT Vulcan AIMO

Additional context I'm running the latest version of Manjaro on the 5.15 LTS Kernel. My PC had USB-related issues in the past, so this issue could be specific for just me. The keyboard is directly plugged into the motherboard. Either way, because restarting eruption fixes the issue, I think this problem can be fixed on the software side.