-
Notifications
You must be signed in to change notification settings - Fork 6
Description
Stream Deck XL not working properly on Ubuntu 24.04
Device Information
- Stream Deck Model: Stream Deck XL
- Operating System: Ubuntu 24.04
- Python Version: 3.10.11
Issue Description
I'm attempting to programmatically update a Stream Deck XL on Ubuntu 24.04 using Python. While the device is detected by lsusb, I'm unable to successfully establish a working connection that allows updating the display. I've tried multiple approaches including the Python StreamDeck library, direct USB communication, and various permission fixes.
What I've Tried
-
USB Permission/udev Rules:
- Created and installed udev rules in
/etc/udev/rules.d/99-streamdeck.rules - Confirmed I'm in the
plugdevgroup - Set permissions to 0666 for Stream Deck device nodes
- Reloaded udev rules and physically reconnected the device
- Created and installed udev rules in
-
Python StreamDeck Library:
- Used the Python StreamDeck library
- Tried running as root/sudo
- Created virtual environments to avoid "externally-managed-environment" errors
- Getting "No HID device" errors despite the device being detected with lsusb
-
Direct USB Communication:
- Attempted direct USB access using PyUSB
- Created timestamped image files to avoid caching issues
- Used multiple image formats and sizes
Specific Errors
Found 1 Stream Deck(s). Using the first one.
Error in main loop: No HID device.
Cleaning up Stream Deck...
Stream Deck was not successfully opened, skipping cleanup.
When trying to install packages:
error: externally-managed-environment
× This environment is externally managed
Observed Behavior
The device is properly detected by the system:
Bus 003 Device 009: ID 0fd9:006c Elgato Systems GmbH Stream Deck XL
However, when attempting to connect and update a key image, the connection fails. Even when running with sudo/root privileges, the device cannot be successfully opened.
Expected Behavior
I would expect to be able to programmatically update the Stream Deck key displays with custom images to show system stats (NVIDIA GPU usage in my specific case).
Questions
- Is there a known issue with Stream Deck XL compatibility on Ubuntu 24.04?
- Are there special considerations for the Stream Deck XL model versus other models?
- Is there a recommended approach for directly addressing the hardware on Linux systems?
- Are there any additional udev rules or permissions I should be considering?
Additional Information
I believe this may be due to how hidapi or libusb interacts with the Stream Deck on newer Ubuntu versions, possibly related to how device permissions are handled. I've confirmed I have no issues detecting the device, but establishing an actual connection to send images fails consistently.
I'd appreciate any guidance on how to properly connect to the Stream Deck on Ubuntu 24.04, or if there are known workarounds for these issues.