Skip to main content

streamdeck_ui - Linux compatible UI for the Elgato Stream Deck


PyPI version Build Status Docs Status codecov Join Discord License Imports: isort semantic-release: angular


streamdeck-linux-gui A Linux compatible UI for the Elgato Stream Deck.

This project is a fork and drop-in replacement for streamdeck_ui, which was abandoned after its original owner disappeared.

All credit to the orignal authors, and the many contributors to the project.

Streamdeck UI Usage Example

Key Features

  • Linux Compatible: Enables usage of Stream Deck devices (Original, MK2, Mini and XL) on Linux.
  • Multi-device: Enables connecting and configuring multiple Stream Decks 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.
  • Drag/Drop: Move buttons by simply drag and drop.
  • Drag/Drop Image: Configure a button image by dragging it from your file manager onto the button.
  • Auto Dim: Configure the Stream Deck to automatically dim the display after a period of time. A button press wakes it up again.
  • Animated icons: Use an animated gif to liven things up a bit.
  • Runs under systemd: Run automatically in the background as a systemd --user service.
  • Stream Deck Pedal: Supports actions when pressing pedals.

Documentation

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

Documentation is available at https://streamdeck-linux-gui.github.io/streamdeck-linux-gui/

Installation Guides

Once you're up and running, consider installing a systemd service.

Use the troubleshooting guide or search the issues for guidance. If you cannot find on the issue on this repository please try searching on the original at streamdeck_ui.

Precooked Scripts

There are scripts for setting up streamdeck_ui on Debian/Ubuntu and Fedora.

Updating Documentation

Documentation is powered by mkdocs-material, and its on the docs folder. Install it with pip install mkdocs-material and run mkdocs serve to see the changes locally, before submitting a PR.

Development & Contributions

Contributuions encouraged and very welcome, however some rules and guidelines must be followed!

General Guidelines

  • The project is versioned according to Semantic Versioning.
  • When writing your commit messages, please follow the Angular commit message.
  • Pull requests should be made against the develop branch, so please make sure you check out the develop branch.
  • Pull requests should include tests and documentation as appropriate.
  • When opening a pull request, if possible, attach a screenshot or GIF of the changes.
  • Please read the contributing guide for more information and instructions on how to get started.

Feature Requests

Open a new discussion with the feature request tag and describe the feature you would like to see implemented. If you have a screenshot or GIF of the feature, please attach it to the discussion.

Bug Reports

Open a bug report here and follow the template. Please include as much information as possible.

Have a Question?

If you need any help, have a question, or just want to discuss something related to the project, please feel free to open a discussion.

Known issues

  • pip package is not yet available for the current state of the project. Please install from source, currently trying to find a better way to provide the package.
  • Streamdeck uses pynput for simulating Key Presses but it lacks proper support for Wayland. Generally your results will be good when using X (Ubuntu/Linux Mint). This thread may be useful.
  • Key Press or Write Text does not work on Fedora (outside of the streamdeck itself), which is not particularly useful. However, still do a lot with the Command feature.
  • Some users have reported that the Stream Deck device does not work on all on specific USB ports, as it draws quite a bit of power and/or has strict bandwidth requirements. Try a different port.
  • If you are executing a shell script from the Command feature - remember to add the shebang at the top of your file, for the language in question. #!/bin/bash or #!/usr/bin/python3 etc. The streamdeck may appear to lock up if you don't under some distros.

Metadata

Release files for streamdeck-linux-gui 4.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for streamdeck-linux-gui 4.1.4
File Size Uploaded
streamdeck_linux_gui-4.1.4.tar.gz 1.2 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for streamdeck-linux-gui 4.1.4
File Interpreter ABI Platform
streamdeck_linux_gui-4.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 2.5 MB

Release files / streamdeck_linux_gui-4.1.4.tar.gz

Download URL streamdeck_linux_gui-4.1.4.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
476587f41f247254d6272afe66d4af3c8db67c2948f34a1b8b03db5a77d72d5b
BLAKE2b-256 checksum
How to use checksums
54597ce2a00f8af1933126fd163e8072a06e78a60d3b36eecea47e977cfae293
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 17, 2026.

Transparency log

Release files / streamdeck_linux_gui-4.1.4-py3-none-any.whl

Download URL streamdeck_linux_gui-4.1.4-py3-none-any.whl
Size 1.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
295c8190b1ee72a4b7d0aba6c073aa79bd62f369d31ed3e8d4365aa0bcdc1f90
BLAKE2b-256 checksum
How to use checksums
1b573e730ab5b908de33c5938b2a7f182b557b3f4c0786d482ad2cb01ba7a6b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

4.1.4 This release

2 release files

4.1.3

2 release files

4.1.2

2 release files

4.1.1

2 release files

4.1.0

2 release files

4.0.0

2 release files

3.2.0

2 release files

3.1.0

2 release files

3.0.1

2 release files

3.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page