Skip to content

How to use the Elgato Stream Deck with Ubuntu

November 27th, 2023 Ubuntu Picture of Stream Deck device

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

This guide will walk you through the steps to set up and use the Elgato Stream Deck on Ubuntu using streamdeck-ui.

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-ui 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-ui

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

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

PATH=$PATH:$HOME/.local/bin

To make sure everything will work, you need to upgrade pip, using pip. According to the author, old versions of pip may fail to properly install some of the required Python dependencies.

python3 -m pip install --upgrade pip

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/70-streamdeck.rules and add the following text to it: SUBSYSTEM=="usb", ATTRS{idVendor}=="0fd9", TAG+="uaccess". Creating this file adds a udev rule that provides your user with access to USB devices created by Elgato.

sudo sh -c 'echo "SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"0fd9\", TAG+=\"uaccess\"" > /etc/udev/rules.d/70-streamdeck.rules'
Bash

For the rule to take immediate effect, run the following command:

sudo udevadm trigger

Step 3: Install streamdeck-ui

Installing streamdeck-ui is done with the Pip installer, just launch this command:

python3 -m pip install streamdeck-ui --user

When this is done, you can launch the application with streamdeck

If you get an error, like I did, that says:

qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

You can fix it by installing an extra package:

sudo apt install libxcb-xinerama0

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.

Streamdeck main window with some icons to operate the Stream Deck device.
Stream Deck UI main window

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-ui 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-ui repository on Github.

Extended streamdeck-ui documentation.

About Marcel Bootsman

Marcel discovered the web in 1995. Since then he has paid attention to and worked with lots of technologies and founded his own WordPress oriented business nostromo.nl in 2009.

Currently Marcel is Business Development Manager Dutch & DACH Markets at Kinsta where he helps Kinsta's client base grow with Managed WordPress, Application, Database and Static site hosting.

You can contact Marcel on a diverse range of online platforms. Please see the Connect section on the homepage for the details.