PowerStreamDeck A Linux and Windows compatible UI for the Elgato Stream Deck.
This project is a fork of the project streamdeck-linux-gui, 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.
- Linux AND Windows Compatible: Enables usage of Stream Deck devices (Original, MK2, Mini and XL) on Linux and Windows.
- Adding more features to the original adding advanced features to design powerful, psuedo-script based UIs using commands to manage pages and button states.
- 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.
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/
Contribute if you want, but don't make it janky.
- 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
developbranch, so please make sure you check out thedevelopbranch. - 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.
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.
Open a bug report here and follow the template. Please include as much information as possible.
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.
- 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/bashor#!/usr/bin/python3etc. The streamdeck may appear to lock up if you don't under some distros.

