Troubleshooting
Common issues and how to fix them.
Device Not Detected
Check USB Connection
lsusb | grep -i razerExpected output:
Bus 001 Device 005: ID 1532:024e Razer USA, Ltd BlackWidow V3If nothing appears, check your cable and USB port.
Verify Udev Rules
ls -la /etc/udev/rules.d/*uchroma*If missing, create /etc/udev/rules.d/70-uchroma.rules:
ACTION=="add|change", SUBSYSTEM=="usb", ATTR{idVendor}=="1532", TAG+="uchroma"
ACTION=="add|change", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1532", TAG+="uaccess", TAG+="uchroma"
ACTION=="add|change", SUBSYSTEM=="input", ATTRS{idVendor}=="1532", TAG+="uaccess"Reload rules:
sudo udevadm control --reload-rules
sudo udevadm triggerUnplug and replug your device after changing udev rules.
Check Permissions
ls -la /dev/hidraw*Your user should have read/write access. The uaccess tag handles this automatically on systemd systems. If not working:
# Check if your user is in the input group
groups
# Add yourself if needed
sudo usermod -aG input $USER
# Then log out and back inHID Device in Use
Another driver might be claiming the device. Check:
cat /sys/class/hidraw/hidraw*/device/uevent | grep -A5 1532If a kernel driver is bound, you may need to unbind it or blacklist it.
Daemon Won't Start
Check D-Bus
busctl --user list | grep uchromaIf the daemon is running, you'll see:
io.uchroma 12345 uchromad ...Port Already in Use
Failed to acquire D-Bus name: io.uchromaAnother instance is running. Kill it:
pkill uchromadOr find the process:
pgrep -a uchromadMissing Dependencies
ModuleNotFoundError: No module named 'dbus_fast'Install dependencies:
uv pip install uchroma
# or
pip install uchromaHIDAPI Errors
OSError: Unable to open deviceThe hidapi library can't open the device. This is usually a permissions issue—see "Check Permissions" above.
Also verify hidapi is installed:
python -c "import hid; print(hid.enumerate())"Effects Not Working
Daemon Not Running
uchroma fx waveError: Could not connect to daemonStart the daemon:
uchromadEffect Not Supported
Effect 'ripple' not supported on this deviceNot all effects work on all devices. Some are keyboard-only, some require specific hardware. Use uchroma fx list to see what's available for your device.
Custom Animation Not Displaying
If uchroma anim add plasma succeeds but nothing shows:
- Check the daemon logs for errors
- Verify the device supports custom frames:bash
uchroma dump | grep -i frame - Some older devices don't support the custom frame protocol
GTK App Issues
App Won't Launch
Gtk-WARNING: cannot open displayYou need a running display server. On Wayland:
GDK_BACKEND=wayland uchroma-gtkOn X11:
GDK_BACKEND=x11 uchroma-gtk"Daemon Not Running" Dialog
The GTK app can't connect to D-Bus. Start the daemon first:
uchromad &
uchroma-gtkPreview Not Updating
The preview might be paused. Check if animation is running:
uchroma anim showIf in hardware mode, the preview shows a simulated effect—it won't match hardware exactly.
Missing GTK Dependencies
ValueError: Namespace Gtk not availableInstall GTK4 bindings:
# Debian/Ubuntu
sudo apt install python3-gi gir1.2-gtk-4.0 gir1.2-adw-1
# Fedora
sudo dnf install python3-gobject gtk4 libadwaita
# Arch
sudo pacman -S python-gobject gtk4 libadwaitaDebug Logging
Enable Debug Mode
UCHROMA_LOG_LEVEL=DEBUG uchromadThis shows:
- USB HID report contents
- D-Bus method calls
- Device initialization steps
- Animation frame timing
GTK Debug
UCHROMA_GTK_DEBUG=1 uchroma-gtkShows renderer loading, D-Bus responses, and UI state.
Full Trace
For maximum verbosity:
UCHROMA_LOG_LEVEL=DEBUG python -u -m uchroma.server.server 2>&1 | tee uchroma.logShare uchroma.log when reporting issues.
Device-Specific Issues
Blade Laptops
Blade laptops have additional quirks:
- System control requires root for some operations
- Per-key RGB might need firmware updates
- Sleep/wake can reset lighting—use systemd hooks to restore
Wireless Devices
Wireless mice/keyboards have limited bandwidth:
- Animation frame rates may be lower
- Some features only work when wired
- Battery status shown via
uchroma battery
Multi-Device Setups
When controlling multiple devices:
uchroma -d 0 fx wave
uchroma -d 1 fx spectrumOr target by name:
uchroma -d blackwidow fx wave
uchroma -d deathadder fx spectrumKnown Limitations
Hardware Effect Limitations
- Effects run on device firmware—parameters are limited
- Some combinations aren't possible (e.g., reactive + wave simultaneously)
- Color accuracy varies by hardware
Custom Animation Limitations
- Maximum ~30 FPS due to USB bandwidth
- High CPU usage with many layers
- Some devices don't support custom frames
Protocol Variations
Razer devices use different protocols by generation. Newer devices use "extended" commands. UChroma auto-detects this, but some features may vary.
Getting Help
Check Existing Issues
Report a Bug
Include:
- Device model and
uchroma dumpoutput - UChroma version (
uchroma --version) - OS/distro and kernel version
- Debug log output
- Steps to reproduce
Device Support Request
If your Razer device isn't detected:
- Get the USB ID:
lsusb | grep -i razer - Check if it's listed in
uchroma/server/data/*.yaml - Open an issue with the USB ID and device name
Adding new devices is usually straightforward—just need the product ID and matrix dimensions.