Using the Elgato Stream Deck with Ubuntu can (and will if you use it wisely) enhance your workflow, whether you're a content creator, programmer, or someone who loves streamlining tasks.
While Elgato primarily supports Windows and macOS for its Stream Deck software, there are workarounds to get it up and running smoothly on Ubuntu, thanks to community-driven solutions like streamdeck-linux-gui
.
This guide will walk you through the steps to set up and use the Elgato Stream Deck on Ubuntu using streamdeck-linux-gui
.
Understanding the Elgato Stream Deck
I’m assuming you know what the Elgato Stream Deck is, but for completeness I explain a bit what it is.
The Elgato Stream Deck is a customizable control device with programmable LCD keys, enabling users to create personalized shortcuts for various applications and tasks. Whether it's launching software, controlling streaming tools, executing commands, or integrating with popular platforms like OBS Studio or Twitch, the Stream Deck streamlines actions with the tap of a button.
Getting started
To begin, ensure your Elgato Stream Deck is connected to your Ubuntu machine. streamdeck-linux-gui
is a third-party open-source tool that acts as a bridge between the Stream Deck hardware and Linux, providing the necessary functionalities to configure and use the device.
Installing streamdeck-linux-gui
Step 1: Install dependencies an prerequisites
Open a terminal and make sure your system is up to date by running:
sudo apt update && sudo apt upgrade
Next, install some dependencies:
sudo apt install libhidapi-libusb0 python3-pip libjpeg-dev zlib1g-dev pipx
Now add ~/.local/bin
to your path. Be sure to add this to your .bashrc
(or equivalent) file so it automatically sets it for you in future. This is necessary to be able to run streamdeck-linux-gui
.
PATH=$PATH:$HOME/.local/bin
Step 2: Configure access to Elgato device(s)
Ubuntu, or to be more precise, your user, needs to have access to the Elgato device(s). Therefore we need to add a USB rule. The following will create a file called /etc/udev/rules.d/60-streamdeck.rules
and add the following required rules for using your USB Stream Deck. Creating this file adds udev rules that provides your user with access to USB devices created by Elgato.
sudo sh -c "echo -e 'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0060\", TAG+=\"uaccess\"\\n'\'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0063\", TAG+=\"uaccess\"\\n'\'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"006c\", TAG+=\"uaccess\"\\n'\'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"006d\", TAG+=\"uaccess\"\\n'\'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0080\", TAG+=\"uaccess\"\\n'\'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"0084\", TAG+=\"uaccess\"\\n'\'SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", ATTRS{idProduct}==\"008f\", TAG+=\"uaccess\"\\n'\'KERNEL==\"uinput\", SUBSYSTEM==\"misc\", OPTIONS+=\"static_node=uinput\", TAG+=\"uaccess\", GROUP=\"input\", MODE=\"0660\"' > /etc/udev/rules.d/60-streamdeck.rules"Bash
For the rule to take immediate effect, run the following command:
sudo udevadm trigger
Step 3: Install streamdeck-linux-gui
Installing streamdeck-linux-gui
is done with the Pipx installer, just launch this command:
python3 -m pipx install streamdeck-linux-gui
When this is done, you can launch the application with streamdeck
If you get an error, like I did, that says:
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
You can fix it by installing an extra package:
sudo apt install libxcb-cursor-dev
Using Stream Deck UI
After you launch Stream Deck UI with the command streamdeck
, you will see the following window, but empty. You can add all sorts of shortcuts to for executing commands, sending key presses and writing text.
For the icons in the screenshot above I have used icons from Anggara on flaticon.com.
Conclusion
While Elgato might not officially support Ubuntu for the Stream Deck, the availability of community-driven solutions like streamdeck-linux-gui
opens up the possibility for Ubuntu users to harness the potential of this powerful hardware. With the ability to create personalized shortcuts and workflows, the Stream Deck becomes an invaluable tool for boosting productivity and efficiency on Ubuntu systems.
More information
Official streamdeck-linux-gui
repository on Github.
Extended streamdeck-ui
documentation.