-
Notifications
You must be signed in to change notification settings - Fork 14
Installation
James Ridgway edited this page Nov 11, 2021
·
14 revisions
A HID backend is required to interact with the StreamDeck, otherwise you will encounter errors such as:
StreamDeck.DeviceManager.ProbeError: ('Probe failed to find any functional HID backend.', {'libusb': TransportError("No suitable LibUSB HIDAPI library found on this system. Is the 'libhidapi-libusb.so' library installed?")})
Install hidapi.dll
to a folder on your systems %PATH%
directory list
- Download the DLL from the libUSB release page
- Extract to a directory
- Ensure that the directory is added to your
%PATH%
variable.
Install the following using Homebrew:
brew install hidapi
Install the following:
sudo apt install -y libudev-dev libusb-1.0-0-dev libhidapi-libusb0
# Add your user to plugdev group
sudo usermod -a -G plugdev `whoami`
# udev rule to allow all users non-root access to Elgato StreamDeck devices:
sudo tee /etc/udev/rules.d/10-streamdeck.rules << EOF
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", MODE:="660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", MODE:="660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", MODE:="660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", MODE:="660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0080", MODE:="660", GROUP="plugdev"
EOF
# Reload udev rules to ensure the new permissions take effect
sudo udevadm control --reload-rules
Make sure to disconnect and reconnect your Stream Deck device after applying the udev rules
Install the following:
sudo apt install -y libudev-dev libusb-1.0-0-dev libhidapi-libusb0 libopenjp2-7 libtiff5
# Add your user to plugdev group
sudo usermod -a -G plugdev `whoami`
# udev rule to allow all users non-root access to Elgato StreamDeck devices:
sudo tee /etc/udev/rules.d/10-streamdeck.rules << EOF
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0060", MODE:="660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="0063", MODE:="660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006c", MODE:="660", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", ATTRS{idProduct}=="006d", MODE:="660", GROUP="plugdev"
EOF
# Reload udev rules to ensure the new permissions take effect
sudo udevadm control --reload-rules
Note: these steps have been tested on Raspberry Pi 4. Earlier Raspberry Pi models have not been tested.
Install devdeck by running:
pip install devdeck
You should then be able to run DevDeck by running:
devdeck
The first time that DevDeck is run, it will generate a basic ~/.devdeck/settings.yml
populated with the clock control for any Stream Decks that are connected.