Skip to content

How to use the Elgato Stream Deck with Ubuntu

Published: November 27th, 2023 | Updated: September 8th, 2024 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-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

Source: https://github.com/streamdeck-linux-gui/streamdeck-linux-gui/blob/main/docs/installation/ubuntu.md#configure-access-to-elgato-devices-udev-rules

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.

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

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.