question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Ubuntu 20.04 - Streamdeck broken

See original GitHub issue
$ cat /etc/issue
Ubuntu 20.04.1 LTS \n \l
$ sudo apt upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt install libhidapi-hidraw0 libudev-dev libusb-1.0-0-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libusb-1.0-0-dev is already the newest version (2:1.0.23-2build1).
libhidapi-hidraw0 is already the newest version (0.9.0+dfsg-1).
libudev-dev is already the newest version (245.4-4ubuntu3.2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ lsusb | grep Elgato
Bus 001 Device 011: ID 0fd9:006d Elgato Systems GmbH Sierra Wireless EM7455 Qualcomm Snapdragon X7 LTE-A
$ cat /etc/udev/rules.d/99-streamdeck.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", MODE:="666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", MODE:="666", GROUP="plugdev"
$ pip3 install --user streamdeck_ui
Collecting streamdeck_ui
  Using cached streamdeck_ui-1.0.2-py3-none-any.whl (1.2 MB)
Requirement already satisfied: pynput<2.0,>=1.4 in ./.local/lib/python3.8/site-packages (from streamdeck_ui) (1.6.8)
Requirement already satisfied: hidapi<0.8.0,>=0.7.99 in ./.local/lib/python3.8/site-packages (from streamdeck_ui) (0.7.99.post21)
Requirement already satisfied: pillow<7.0,>=6.1 in ./.local/lib/python3.8/site-packages (from streamdeck_ui) (6.2.2)
Requirement already satisfied: pyside2<6.0,>=5.13 in ./.local/lib/python3.8/site-packages (from streamdeck_ui) (5.15.0)
Requirement already satisfied: streamdeck<0.7.0,>=0.6.3 in ./.local/lib/python3.8/site-packages (from streamdeck_ui) (0.6.3)
Requirement already satisfied: six in /usr/lib/python3/dist-packages (from pynput<2.0,>=1.4->streamdeck_ui) (1.14.0)
Requirement already satisfied: python-xlib>=0.17; "linux" in sys_platform in ./.local/lib/python3.8/site-packages (from pynput<2.0,>=1.4->streamdeck_ui) (0.27)
Requirement already satisfied: setuptools>=19.0 in /usr/lib/python3/dist-packages (from hidapi<0.8.0,>=0.7.99->streamdeck_ui) (45.2.0)
Requirement already satisfied: shiboken2==5.15.0 in ./.local/lib/python3.8/site-packages (from pyside2<6.0,>=5.13->streamdeck_ui) (5.15.0)
Installing collected packages: streamdeck-ui
Successfully installed streamdeck-ui-1.0.2
$ sudo usermod -a -G plugdev `whoami`
$ which streamdeck
/home/rber/.local/bin/streamdeck
rber@t460s-4:~$ /home/rber/.local/bin/streamdeck
Traceback (most recent call last):
  File "/home/rber/.local/bin/streamdeck", line 8, in <module>
    sys.exit(start())
  File "/home/rber/.local/lib/python3.8/site-packages/streamdeck_ui/gui.py", line 266, in start
    for deck_id, deck in api.open_decks().items():
  File "/home/rber/.local/lib/python3.8/site-packages/streamdeck_ui/api.py", line 99, in open_decks
    for deck in DeviceManager.DeviceManager().enumerate():
  File "/home/rber/.local/lib/python3.8/site-packages/StreamDeck/DeviceManager.py", line 90, in __init__
    self.transport = self._get_transport(transport)
  File "/home/rber/.local/lib/python3.8/site-packages/StreamDeck/DeviceManager.py", line 82, in _get_transport
    raise ProbeError("Probe failed to find any functional HID backend.", probe_errors)
StreamDeck.DeviceManager.ProbeError: ('Probe failed to find any functional HID backend.', {'hid': OSError('The libhidapi-hidraw0 backend is currently blacklisted for StreamD
eck devices.'), 'hidapi': TypeError("enumerate() got an unexpected keyword argument 'vendor_id'")})

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:8

github_iconTop GitHub Comments

2reactions
RobertBergercommented, Oct 24, 2020
$ sudo apt remove libhidapi-hidraw0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'libhidapi-hidraw0' is not installed, so not removed
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
$ sudo apt install libhidapi-libusb0
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  libhidapi-libusb0
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 14,5 kB of archives.
After this operation, 61,4 kB of additional disk space will be used.
Get:1 http://gr.archive.ubuntu.com/ubuntu focal/universe amd64 libhidapi-libusb0 amd64 0.9.0+dfsg-1 [14,5 kB]
Fetched 14,5 kB in 1s (15,7 kB/s)            
Selecting previously unselected package libhidapi-libusb0:amd64.
(Reading database ... 220591 files and directories currently installed.)
Preparing to unpack .../libhidapi-libusb0_0.9.0+dfsg-1_amd64.deb ...
Unpacking libhidapi-libusb0:amd64 (0.9.0+dfsg-1) ...
Setting up libhidapi-libusb0:amd64 (0.9.0+dfsg-1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...

It looks like that made it work 😉

I highly recommend updating the instructions here[1]. And also it might help to inform people who package it for various distros. [1]https://timothycrosley.github.io/streamdeck-ui/

1reaction
dodgyrabbitcommented, Mar 30, 2021

The usb library dependency stuff is quite a nightmare to be honest. I’ll try explain it as best I can here for future reference:

Version 1.0.2 of streamdeck-ui uses version 0.6.3 of the streamdeck python library. This v 0.6.3, would “detect” which python library you installed for communicating with the streamdeck device. It would be either hid or hidapi. Some nuanced issues can crop up, mostly if you have both libhidapi-libusb0 and libhidapi-hidraw0 installed. The libhidapi-hidraw0 library is not compatible with all stream decks but libhidapi-libusb0 is, but sometimes it would pick the wrong one.

Fast forward to today: Version 1.0.3 (currently being worked on) uses version 0.8.3 of streamdeck. It no longer requires a python library to provide communication to the streamdeck device. Instead, it directly accesses the LibUSB HIDAPI Backend. That work started here.

TLDR: In the upcoming 1.0.3 release you just need libhidapi-libusb0 installed. It should work even if you had libhidapi-hidraw0 installed (it will choose the right one).

Read more comments on GitHub >

github_iconTop Results From Across the Web

Ubuntu 20.04 LTS libusb/hidapi fails to open Corsair/Elgato ...
When I try and run it without sudo it fails to open the device. hidapi: failed to open device. I created a /etc/udev/rules.d/51-usb-streamdeck....
Read more >
Using the Elgato Stream Deck on Linux just got a whole lot ...
If you're a livestreamer, video creator or anything like that then the Elgato Stream Deck seems like an incredible useful bit of kit....
Read more >
My elgato streamdeck driver for Linux has just released - Reddit
I know the Linux Desktop client doesn't get a lot of updates so I'm glad it isn't broken, little things like that really...
Read more >
streamdeck-ui
Streamdeck uses pynput for simulating Key Presses but it lacks proper support for Wayland. Generally your results will be good when using X...
Read more >
How to Set Up Elgato's Stream Deck on Ubuntu Linux 21.10
In this post I'll share how I got my Elgato StreamDeck set up on Ubuntu 22.04 and how I use it to switch...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found