You can sign up to get a daily email of our articles, see the Mailing List page.
We do often include affiliate links to earn us some pennies. See more here.

If you're a livestreamer, video creator or anything like that then the Elgato Stream Deck seems like an incredible useful bit of kit. However, it doesn't have official Linux support. Not so much a problem now.

The Stream Deck is a handy little pad with a bunch of LCD buttons, that allows you to configure each button to some sort of action and image. You could use it to one-touch launch an animation, show your contact details on screen, switch to a difference scene in OBS Studio and so on. There's a huge amount you can do with it and not having Linux support was a shame.

Announcing the release of streamdeck_ui on their blog, developer Timothy Crosley hooked into the also open source Python Elgato Stream Deck Library project to create a fully featured interface for working with the Stream Deck hardware on Linux.

Try not to drool over the feature list:

  • 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.

Fantastic to see things like this.

You can see the official site here, with the GitHub here.

Hat tip to RTheren.

Article taken from GamingOnLinux.com.
Tags: Apps, Open Source
20 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
6 comments

RTheren Oct 9, 2019
Small correction. My nickname has two uppercase letters ;)

I am really curious to hear how well does it work. Anyone here that has Elgato's massive deck?
ElectricPrism Oct 10, 2019
Actually thought about buying this for years.

Then I got into mechanical keyboards and suddenly want to revamp the entire QWERTY layout for myself since there are so many legacy elements that haven't been fleshed out in modernization but just legacy carry-over, like numpad on the right vs left, etc...

I guess this project will make me think about buying again. I would love to use this in a Tiling Window Manager and make window controls like "Close, Resize, Maximize, Move Window on Mouse Drag, etc..."
cprn Oct 11, 2019
So it's like an extra keyboard with shortcuts you can predefine? I configured something like that for a friend long time ago with a phone android app - can't seem to google it now, if you know the name of it, please comment in response. We dabbled with a webcam gestures app before that but it wasn't working well enough. It, unfortunately, was on Windows. Good to know there are similar ready to use solutions on Linux now.


Last edited by cprn on 11 October 2019 at 7:22 am UTC
elmapul Oct 12, 2019
this is freaking cool, but you know what is even cooler?

just buying another regular keyboard and reconfiguring it to act as something else (eg: act as this device) instead of buying an device that any tech savy people dont really need.
mourngrym Apr 7, 2020
This plain doesn't work on Fedora 30/31/+... the reliance on udev and the group associated with those special directories doesn't exist. Additionally, the hid libraries (either one) won't install properly through PIP on Fedora systems as of April 2020. Just FYI, spent over an hour on trying (Linux admin from way back) without success.

In all fairness, may work (and I see Youtube videos from LATE 2019 that show it does) on Ubuntu. But I won't use Canonical distributions.
Corben Aug 22, 2020
Finally I got an Elgato Streamdeck (Original V2, 15 buttons), and when you (or at least I) google for "Elgato Streamdeck Linux"... I land here ;)

The streamdeck_ui installs flawless with the provided script ubuntu_install.sh from the github page on my Ubuntu 18.04 LTS (it is also linked from the homepage, and as it's a relative link, it ends up on 404).

The Streamdeck is recognized after unplugging once (so the udev rules take effect) and you can use the configuration software after running 'streamdeck' from the terminal. Changes take affect immediately, so if you enter a text for a button, it's displayed after a small delay (like half a second) on the Streamdeck button.

There are some quirks though, e.g. I haven't found a documentation for the shortcuts. In the presentation gif is shown 'Alt+F1' (where alt+f1 works as well), but the control key must be 'ctrl' instead of Control. #61

Also, there is an issue with shortcuts. Though the Streamdeck does send the configured shortcut, it's not send to the application if it doesn't have focus. Which is a bummer when you have a shortcut configured in OBS, but pressing the key doesn't have any effect when you have a game on focus and not OBS. The workaround posted on the issue tracker is, to not use a shortcut, but calling xdotool with the shortcut (F1 needs to be capital):
/usr/bin/xdotool key --delay 60 ctrl+shift+F1
#47 #59

It's also neat that the Icons are automatically shrunk when a text is added to a button. I downloaded the free 'Clarity' icon pack from NerdOrDie do get started.

So it's totally usable, it looks and feels great, the software works with some tweaks and offers a lot of potential. You can (might even have to) use scripts to make use of its full potential.

Some nice to have things would be:
- Toggle buttons, so you can use only one button e.g. for starting/stopping the stream. Atm you cannot see the state, or have to use two separate buttons
- Better OBS integration. E.g. via websocket-plugin. Atm you have to think of shortcuts and define them in OBS to be used as shortcuts with the Streamdeck. So being able to trigger some events without the need of defining extra shortcuts would be handy.

Maybe there are already solutions for that, as I just got started to get familiar with the device, I might just haven't found them yet.

It's a great toy for sure and being able to use it on Linux is amazing.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.