Skip to main content

A service, Web Interface, and UI for interacting with your computer using a Stream Deck

Project description

streamdeck_ui - Linux compatible UI for the Elgato Stream Deck

PyPI version Build Status codecov Join the chat at License Downloads

Read Latest Documentation - Browse GitHub Code Repository

streamdeck_ui A Linux compatible UI for the Elgato Stream Deck.

Streamdeck UI Usage Example

Key Features

  • Linux Compatible: Enables usage of all Stream Deck devices on Linux without needing to code.
  • Multi-device: Enables connecting and configuring multiple Stream Deck devices on one computer.
  • Brightness Control: Supports controlling the brightness from both the configuration UI and buttons on the device itself.
  • Configurable Button Display: Icons + Text, Icon Only, and Text Only configurable per button on the Stream Deck.
  • Multi-Action Support: Run commands, write text and press hotkey combinations at the press of a single button on your Stream Deck.
  • Button Pages: streamdeck_ui supports multiple pages of buttons and dynamically setting up buttons to switch between those pages.
  • Auto Reconnect: Automatically and gracefully reconnects, in the case the device is unplugged and replugged in.
  • Import/Export: Supports saving and restoring Stream Deck configuration.

Communication with the Streamdeck is powered by the Python Elgato Stream Deck Library.

Linux Quick Start

To use streamdeck_ui on Linux, you will need first to install some pre-requisite system libraries and give your user access to the Stream Deck devices.

Here is a simple script for doing that on Ubuntu:

#!/bin/bash -xe

sudo apt install libhidapi-hidraw0 libudev-dev libusb-1.0-0-dev

sudo usermod -a -G plugdev `whoami`

sudo tee /etc/udev/rules.d/99-streamdeck.rules << EOF
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"

sudo udevadm control --reload-rules

echo "Unplug and replug in device for the new udev rules to take effect"

As mentioned in the echo in the last line, make sure you unplug and replug your device before continuing. Once complete, you should be able to install streamdeck_ui:

sudo pip3 install streamdeck_ui

You can then launch streamdeck to start configuring your device.


It's recommended that you include streamdeck in your windowing environment's list of applications to auto-start.

Generic Quick Start

On other Operating Systems, or if you already have the required libraries and permissions, you should be able to install and run streamdeck_ui:

pip3 install streamdeck_ui --user

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for streamdeck-ui, version 1.0.2
Filename, size File type Python version Upload date Hashes
Filename, size streamdeck_ui-1.0.2-py3-none-any.whl (1.2 MB) File type Wheel Python version py3 Upload date Hashes View
Filename, size streamdeck_ui-1.0.2.tar.gz (1.2 MB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page