HID devices on linux require openRGB to be ran as root
I am trying to debug openRGB running on raspberry pi os lite on a headless pi 3b to offload RGB control from the main system.
Relevant hardware specs from `lsusb`
Hubs necessary for wiring constraints on this system + port count. All hubs direct to the pi 3b.
➜ OpenRGB git:(master) lsusb
Bus 001 Device 011: ID 1b1c:0c0b Corsair Lighting Node Pro
Bus 001 Device 010: ID 1b1c:0c0b Corsair Lighting Node Pro
Bus 001 Device 009: ID 1b1c:0c0b Corsair Lighting Node Pro
Bus 001 Device 007: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 008: ID 1b1c:0c1a Corsair CORSAIR Lighting Node CORE
Bus 001 Device 005: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 015: ID 1b1c:0c1a Corsair CORSAIR Lighting Node CORE
Bus 001 Device 014: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 006: ID 1b1c:0c1a Corsair CORSAIR Lighting Node CORE
Bus 001 Device 004: ID 05e3:0608 Genesys Logic, Inc. Hub
working currently with a build from 310447c5
outputs of ./openrgb --list-devices -vv
With sudo
➜ OpenRGB git:(master) sudo ./openrgb --list-devices -vv
Attempting to connect to local OpenRGB server.
Connection attempt failed
Local OpenRGB server unavailable.
Running standalone.
Closing HID interfaces: Success
------------------------------------------------------
| Start device detection |
------------------------------------------------------
Initializing HID interfaces: Success
------------------------------------------------------
| Detecting I2C interfaces |
------------------------------------------------------
Registering I2C interface: /dev/i2c-2 Device 0000:0000 Subsystem: 0000:0000
------------------------------------------------------
| Detecting I2C devices |
------------------------------------------------------
[ASRock Polychrome SMBus] is enabled
[ASRock Polychrome SMBus Detect] Bus 00 is not a motherboard or the subvendor does not match the one for ASRock, skipping detection
[ASRock Polychrome SMBus] no devices found
[ASRock Polychrome SMBus] detection end
[ASUS Aura GPU] is enabled
[ASUS Aura GPU] no devices found
[ASUS Aura GPU] detection end
[Corsair Dominator Platinum] is enabled
[Corsair Dominator Platinum] no devices found
[Corsair Dominator Platinum] detection end
[Corsair Vengeance] is enabled
[Corsair Vengeance] no devices found
[Corsair Vengeance] detection end
[Corsair Vengeance Pro] is enabled
[Corsair Vengeance Pro] no devices found
[Corsair Vengeance Pro] detection end
[Crucial] is enabled
[Crucial] no devices found
[Crucial] detection end
[ENE SMBus DRAM] is enabled
[ENE SMBus DRAM] no devices found
[ENE SMBus DRAM] detection end
[ASUS Aura SMBus Motherboard] is enabled
[ENE (ASUS Aura) SMBus Controller] Bus 00 is a motherboard and the subvendor matches the one for ASUS, looking for a device at 40
[ENE SMBus] looking for devices at 0x40...
[ENE (ASUS Aura) SMBus Controller] Bus 00 is a motherboard and the subvendor matches the one for ASUS, looking for a device at 4E
[ENE SMBus] looking for devices at 0x4E...
[ENE (ASUS Aura) SMBus Controller] Bus 00 is a motherboard and the subvendor matches the one for ASUS, looking for a device at 4F
[ENE SMBus] looking for devices at 0x4F...
[ASUS Aura SMBus Motherboard] no devices found
[ASUS Aura SMBus Motherboard] detection end
[ASUS Aura GPU (ENE)] is enabled
[ASUS Aura GPU (ENE)] no devices found
[ASUS Aura GPU (ENE)] detection end
[EVGA GPU] is enabled
[EVGA GPU] no devices found
[EVGA GPU] detection end
[Gainward GPU] is enabled
[Gainward GPU] no devices found
[Gainward GPU] detection end
[Galax GPU] is enabled
[Galax GPU] no devices found
[Galax GPU] detection end
[Gigabyte RGB Fusion 2 SMBus] is enabled
[Gigabyte RGB Fusion 2 SMBus] no devices found
[Gigabyte RGB Fusion 2 SMBus] detection end
[Gigabyte RGB Fusion] is enabled
[Gigabyte RGB Fusion SMBus] Bus 00 is not a motherboard or the subvendor does not match the one for Gigabyte Technology Co., Ltd., skipping detection
[Gigabyte RGB Fusion] no devices found
[Gigabyte RGB Fusion] detection end
[Gigabyte RGB Fusion GPU] is enabled
[Gigabyte RGB Fusion GPU] no devices found
[Gigabyte RGB Fusion GPU] detection end
[Gigabyte RGB Fusion2 GPU] is enabled
[Gigabyte RGB Fusion2 GPU] no devices found
[Gigabyte RGB Fusion2 GPU] detection end
[HyperX DRAM] is enabled
[HyperX DRAM] Checking VID/PID on bus 0...
[HyperX DRAM] IF_DRAM_SMBUS was false for 0000 0000
[HyperX DRAM] no devices found
[HyperX DRAM] detection end
[MSI GPU] is enabled
[MSI GPU] no devices found
[MSI GPU] detection end
[Patriot Viper] is enabled
[Patriot Viper] no devices found
[Patriot Viper] detection end
[PNY GPU] is enabled
[PNY GPU] no devices found
[PNY GPU] detection end
[Sapphire GPU] is enabled
[Sapphire GPU] no devices found
[Sapphire GPU] detection end
------------------------------------------------------
| Detecting HID devices |
------------------------------------------------------
[Corsair Lighting Node Core] is enabled
[Corsair Lighting Node Core] Registering RGB controller
[Corsair Lighting Node Core] successfully added
[Corsair Lighting Node Core] is enabled
[Corsair Lighting Node Core] Registering RGB controller
[Corsair Lighting Node Core] successfully added
[Corsair Lighting Node Core] is enabled
[Corsair Lighting Node Core] Registering RGB controller
[Corsair Lighting Node Core] successfully added
[Corsair Lighting Node Pro] is enabled
[Corsair Lighting Node Pro] Registering RGB controller
[Corsair Lighting Node Pro] successfully added
[Corsair Lighting Node Pro] is enabled
[Corsair Lighting Node Pro] Registering RGB controller
[Corsair Lighting Node Pro] successfully added
[Corsair Lighting Node Pro] is enabled
[Corsair Lighting Node Pro] Registering RGB controller
[Corsair Lighting Node Pro] successfully added
------------------------------------------------------
| Detecting other devices |
------------------------------------------------------
[BlinkyTape] is enabled
[BlinkyTape] detection end
[Corsair Hydro Series] is enabled
[Corsair Hydro Series] no devices found
[Corsair Hydro Series] detection end
[Debug Controllers] is enabled
[Debug Controllers] no devices found
[Debug Controllers] detection end
[E1.31] is enabled
[E1.31] no devices found
[E1.31] detection end
[Espurna] is enabled
[Espurna] no devices found
[Espurna] detection end
[FanBus] is enabled
[FanBus] no devices found
[FanBus] detection end
[LED Strip] is enabled
[LED Strip] no devices found
[LED Strip] detection end
[Lian Li Uni Hub] is enabled
[Lian Li Uni Hub] no devices found
[Lian Li Uni Hub] detection end
[MSI-RGB] is enabled
[MSI-RGB] no devices found
[MSI-RGB] detection end
[NZXT Hue+] is enabled
[NZXT Hue+] no devices found
[NZXT Hue+] detection end
[Philips Hue] is enabled
[Philips Hue] no devices found
[Philips Hue] detection end
[Philips Wiz] is enabled
[Philips Wiz] no devices found
[Philips Wiz] detection end
[Yeelight] is enabled
[Yeelight] no devices found
[Yeelight] detection end
[XPG Spectrix S40G] is enabled
[XPG Spectrix S40G] no devices found
[XPG Spectrix S40G] detection end
[Faustus] is enabled
[Faustus] no devices found
[Faustus] detection end
[Linux LED] is enabled
[Linux LED] no devices found
[Linux LED] detection end
[OpenRazer] is disabled
[OpenRazer] no devices found
[OpenRazer] detection end
------------------------------------------------------
0: Corsair Lighting Node Core
Type: LED Strip
Description: Corsair Lighting Node Device
Version: 0.9.16
Location: HID: /dev/hidraw0
Serial: 43B0020107087BAF50AC685F071C00F5
Modes: [Direct] 'Rainbow Wave' 'Color Shift' 'Color Pulse' 'Color Wave' Static Temperature Visor Marquee Blink Sequential Rainbow
Zones: 'Corsair Channel 1' 'Corsair Channel 2'
1: Corsair Lighting Node Core
Type: LED Strip
Description: Corsair Lighting Node Device
Version: 0.9.16
Location: HID: /dev/hidraw5
Serial: 18A00303A8047BAF276C635F021C00F5
Modes: [Direct] 'Rainbow Wave' 'Color Shift' 'Color Pulse'| Detection completed |
'Color Wave' Static Temperature Visor Marquee Blink Sequential Rainbow
Zones: 'Corsair Channel 1' 'Corsair Channel 2'
2: Corsair Lighting Node Core
Type: LED Strip
Description: Corsair Lighting Node Device
Version: 0.9.16
Location: HID: /dev/hidraw1
Serial: 18D00103A8047BAF0475635F031C00F5
Modes: [Direct] 'Rainbow Wave' 'Color Shift' 'Color Pulse' 'Color Wave' Static------------------------------------------------------
Temperature Visor Marquee Blink Sequential Rainbow
Zones: 'Corsair Channel 1' 'Corsair Channel 2'
3: Corsair Lighting Node Pro
Type: LED Strip
Description: Corsair Lighting Node Device
Version: 0.10.4
Location: HID: /dev/hidraw2
Serial: 34900317468C4BAFDE7B8A5D011C00F5
See https://help.openrgb.org for additional troubleshooting.ntel systems.ur motherboard.aces failed to initialize.
'Color Wave' Static Temperature Visor Marquee Blink Sequential Rainbow
Zones: 'Corsair Channel 1' 'Corsair Channel 2'
4: Corsair Lighting Node Pro
Type: LED Strip
Description: Corsair Lighting Node Device
Version: 0.10.4
Location: HID: /dev/hidraw3
Serial: 0420020407895CAF3607AA5D001C00F5
Modes: [Direct] 'Rainbow Wave' 'Color Shift' 'Color Pulse' 'Color Wave' Static Temperature Visor Marquee Blink Sequential Rainbow
Zones: 'Corsair Channel 1' 'Corsair Channel 2'
5: Corsair Lighting Node Pro
Type: LED Strip
Description: Corsair Lighting Node Device
Version: 0.10.4
Location: HID: /dev/hidraw4
Serial: 3EB0011420116BAFC4C7715E031C00F5
Modes: [Direct] 'Rainbow Wave' 'Color Shift' 'Color Pulse' 'Color Wave' Static Temperature Visor Marquee Blink Sequential Rainbow
Zones: 'Corsair Channel 1' 'Corsair Channel 2'
Without sudo
➜ OpenRGB git:(master) ./openrgb --list-devices -vv
Attempting to connect to local OpenRGB server.
Connection attempt failed
Local OpenRGB server unavailable.
Running standalone.
Closing HID interfaces: Success
------------------------------------------------------
| Start device detection |
------------------------------------------------------
Initializing HID interfaces: Success
------------------------------------------------------
| Detecting I2C interfaces |
------------------------------------------------------
Registering I2C interface: /dev/i2c-2 Device 0000:0000 Subsystem: 0000:0000
------------------------------------------------------
| Detecting I2C devices |
------------------------------------------------------
[ASRock Polychrome SMBus] is enabled
[ASRock Polychrome SMBus Detect] Bus 00 is not a motherboard or the subvendor does not match the one for ASRock, skipping detection
[ASRock Polychrome SMBus] no devices found
[ASRock Polychrome SMBus] detection end
[ASUS Aura GPU] is enabled
[ASUS Aura GPU] no devices found
[ASUS Aura GPU] detection end
[Corsair Dominator Platinum] is enabled
[Corsair Dominator Platinum] no devices found
[Corsair Dominator Platinum] detection end
[Corsair Vengeance] is enabled
[Corsair Vengeance] no devices found
[Corsair Vengeance] detection end
[Corsair Vengeance Pro] is enabled
[Corsair Vengeance Pro] no devices found
[Corsair Vengeance Pro] detection end
[Crucial] is enabled
[Crucial] no devices found
[Crucial] detection end
[ENE SMBus DRAM] is enabled
[ENE SMBus DRAM] no devices found
[ENE SMBus DRAM] detection end
[ASUS Aura SMBus Motherboard] is enabled
[ENE (ASUS Aura) SMBus Controller] Bus 00 is a motherboard and the subvendor matches the one for ASUS, looking for a device at 40
[ENE SMBus] looking for devices at 0x40...
[ENE (ASUS Aura) SMBus Controller] Bus 00 is a motherboard and the subvendor matches the one for ASUS, looking for a device at 4E
[ENE SMBus] looking for devices at 0x4E...
[ENE (ASUS Aura) SMBus Controller] Bus 00 is a motherboard and the subvendor matches the one for ASUS, looking for a device at 4F
[ENE SMBus] looking for devices at 0x4F...
[ASUS Aura SMBus Motherboard] no devices found
[ASUS Aura SMBus Motherboard] detection end
[ASUS Aura GPU (ENE)] is enabled
[ASUS Aura GPU (ENE)] no devices found
[ASUS Aura GPU (ENE)] detection end
[EVGA GPU] is enabled
[EVGA GPU] no devices found
[EVGA GPU] detection end
[Gainward GPU] is enabled
[Gainward GPU] no devices found
[Gainward GPU] detection end
[Galax GPU] is enabled
[Galax GPU] no devices found
[Galax GPU] detection end
[Gigabyte RGB Fusion 2 SMBus] is enabled
[Gigabyte RGB Fusion 2 SMBus] no devices found
[Gigabyte RGB Fusion 2 SMBus] detection end
[Gigabyte RGB Fusion] is enabled
[Gigabyte RGB Fusion SMBus] Bus 00 is not a motherboard or the subvendor does not match the one for Gigabyte Technology Co., Ltd., skipping detection
[Gigabyte RGB Fusion] no devices found
[Gigabyte RGB Fusion] detection end
[Gigabyte RGB Fusion GPU] is enabled
[Gigabyte RGB Fusion GPU] no devices found
[Gigabyte RGB Fusion GPU] detection end
[Gigabyte RGB Fusion2 GPU] is enabled
[Gigabyte RGB Fusion2 GPU] no devices found
[Gigabyte RGB Fusion2 GPU] detection end
[HyperX DRAM] is enabled
[HyperX DRAM] Checking VID/PID on bus 0...
[HyperX DRAM] IF_DRAM_SMBUS was false for 0000 0000
[HyperX DRAM] no devices found
[HyperX DRAM] detection end
[MSI GPU] is enabled
[MSI GPU] no devices found
[MSI GPU] detection end
[Patriot Viper] is enabled
[Patriot Viper] no devices found
[Patriot Viper] detection end
[PNY GPU] is enabled
[PNY GPU] no devices found
[PNY GPU] detection end
[Sapphire GPU] is enabled
[Sapphire GPU] no devices found
[Sapphire GPU] detection end
------------------------------------------------------
| Detecting HID devices |
------------------------------------------------------
[Corsair Lighting Node Core] is enabled
[Corsair Lighting Node Core] is not initialized
[Corsair Lighting Node Core] is enabled
[Corsair Lighting Node Core] is not initialized
[Corsair Lighting Node Core] is enabled
[Corsair Lighting Node Core] is not initialized
[Corsair Lighting Node Pro] is enabled
[Corsair Lighting Node Pro] is not initialized
[Corsair Lighting Node Pro] is enabled
[Corsair Lighting Node Pro] is not initialized
[Corsair Lighting Node Pro] is enabled
[Corsair Lighting Node Pro] is not initialized
------------------------------------------------------
| Detecting other devices |
------------------------------------------------------
[BlinkyTape] is enabled
[BlinkyTape] no devices found
[BlinkyTape] detection end
[Corsair Hydro Series] is enabled
[Corsair Hydro Series] no devices found
[Corsair Hydro Series] detection end
[Debug Controllers] is enabled
[Debug Controllers] no devices found
[Debug Controllers] detection end
[E1.31] is enabled
[E1.31] no devices found
[E1.31] detection end
[Espurna] is enabled
[Espurna] no devices found
[Espurna] detection end
[FanBus] is enabled
[FanBus] no devices found
[FanBus] detection end
[LED Strip] is enabled
[LED Strip] no devices found
[LED Strip] detection end
[Lian Li Uni Hub] is enabled
[Lian Li Uni Hub] no devices found
[Lian Li Uni Hub] detection end
[MSI-RGB] is enabled
[MSI-RGB] no devices found
[MSI-RGB] detection end
[NZXT Hue+] is enabled
[NZXT Hue+] no devices found
[NZXT Hue+] detection end
[Philips Hue] is enabled
[Philips Hue] no devices found
[Philips Hue] detection end
[Philips Wiz] is enabled
[Philips Wiz] no devices found
[Philips Wiz] detection end
[Yeelight] is enabled
[Yeelight] no devices found
[Yeelight] detection end
[XPG Spectrix S40G] is enabled
[XPG Spectrix S40G] no devices found
[XPG Spectrix S40G] detection end
[Faustus] is enabled
[Faustus] no devices found
[Faustus] detection end
[Linux LED] is enabled
[Linux LED] no devices found
[Linux LED] detection end
[OpenRazer] is disabled
[OpenRazer] no devices found
[OpenRazer] detection end
------------------------------------------------------
| Detection completed |
------------------------------------------------------
See https://help.openrgb.org for additional troubleshooting.ntel systems.ur motherboard.
Checking that udev rules are being applied as expected
➜ OpenRGB git:(master) udevadm test --action=add $(udevadm info -q path -n /dev/hidraw5)
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.
Load module index
Skipping empty file: /etc/systemd/network/99-default.link
Skipping empty file: /etc/systemd/network/73-usb-net-by-mac.link
Created link configuration context.
Reading rules file: /usr/lib/udev/rules.d/10-local-rpi.rules
Reading rules file: /usr/lib/udev/rules.d/15-i2c-modprobe.rules
Reading rules file: /usr/lib/udev/rules.d/40-usb_modeswitch.rules
Reading rules file: /usr/lib/udev/rules.d/50-firmware.rules
Reading rules file: /usr/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /usr/lib/udev/rules.d/55-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /usr/lib/udev/rules.d/60-block.rules
Reading rules file: /usr/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /usr/lib/udev/rules.d/60-crda.rules
Reading rules file: /usr/lib/udev/rules.d/60-drm.rules
Reading rules file: /usr/lib/udev/rules.d/60-evdev.rules
Reading rules file: /usr/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /usr/lib/udev/rules.d/60-flashrom.rules
Reading rules file: /usr/lib/udev/rules.d/60-input-id.rules
Reading rules file: /etc/udev/rules.d/60-openrgb.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /usr/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /usr/lib/udev/rules.d/60-rpi.gpio-common.rules
Reading rules file: /usr/lib/udev/rules.d/60-sensor.rules
Reading rules file: /usr/lib/udev/rules.d/60-serial.rules
Reading rules file: /usr/lib/udev/rules.d/60-triggerhappy.rules
Reading rules file: /usr/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /usr/lib/udev/rules.d/65-libwacom.rules
Reading rules file: /usr/lib/udev/rules.d/69-libmtp.rules
Reading rules file: /usr/lib/udev/rules.d/70-joystick.rules
Reading rules file: /usr/lib/udev/rules.d/70-microbit.rules
Reading rules file: /usr/lib/udev/rules.d/70-mouse.rules
Reading rules file: /usr/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /usr/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /usr/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /usr/lib/udev/rules.d/71-seat.rules
Reading rules file: /usr/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /usr/lib/udev/rules.d/73-special-net-names.rules
Reading rules file: /usr/lib/udev/rules.d/75-net-description.rules
Reading rules file: /usr/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-broadmobi-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-dlink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-foxconn-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-qdl-device-blacklist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-quectel-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-sierra.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-tplink-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-ublox-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-usb-device-blacklist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules
Reading rules file: /usr/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /usr/lib/udev/rules.d/80-debian-compat.rules
Reading rules file: /usr/lib/udev/rules.d/80-drivers.rules
Reading rules file: /usr/lib/udev/rules.d/80-ifupdown.rules
Reading rules file: /usr/lib/udev/rules.d/80-iio-sensor-proxy.rules
Reading rules file: /usr/lib/udev/rules.d/80-libinput-device-groups.rules
Reading rules file: /usr/lib/udev/rules.d/80-mm-candidate.rules
Reading rules file: /usr/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /usr/lib/udev/rules.d/80-noobs.rules
Reading rules file: /usr/lib/udev/rules.d/85-hwclock.rules
Reading rules file: /usr/lib/udev/rules.d/85-regulatory.rules
Reading rules file: /usr/lib/udev/rules.d/90-alsa-restore.rules
Reading rules file: /usr/lib/udev/rules.d/90-console-setup.rules
Reading rules file: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules
Reading rules file: /usr/lib/udev/rules.d/90-pi-bluetooth.rules
Reading rules file: /usr/lib/udev/rules.d/95-dm-notify.rules
Reading rules file: /usr/lib/udev/rules.d/96-e2scrub.rules
Reading rules file: /usr/lib/udev/rules.d/97-hid2hci.rules
Reading rules file: /etc/udev/rules.d/99-com.rules
Reading rules file: /usr/lib/udev/rules.d/99-systemd.rules
DEVPATH=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3.3/1-1.3.3:1.0/0003:1B1C:0C1A.0007/hidraw/hidraw5
DEVNAME=/dev/hidraw5
MAJOR=244
MINOR=5
ACTION=add
SUBSYSTEM=hidraw
TAGS=:uaccess:seat:
CURRENT_TAGS=:uaccess:seat:
ID_PATH=platform-3f980000.usb-usb-0:1.3.3:1.0
ID_PATH_TAG=platform-3f980000_usb-usb-0_1_3_3_1_0
ID_FOR_SEAT=hidraw-platform-3f980000_usb-usb-0_1_3_3_1_0
run: 'uaccess'
Unload module index
Unloaded link configuration context.
So we can see that the openrgb rule file is picked up, and that uaccess
was applied.
Searching about HID + uaccess led me to this answer:
Input (hid) and display devices (dri device nodes) are handled differently. Access is granted and revoked to open file descriptors, instead of the device node. This allows switching back and forth between multiple GUI sessions, e.g. without letting the inactive one steal passwords entered in the active session.
Based on that it seems reasonable to believe the current udev rules and associated openRGB docs are incorrect for these devices to be controlled without root access.
I am going to test creating a group and adjusting rules for my specific hardware based on these suggestions and then follow up here with any new ideas and result.