The Short Answer
Yes — Stream Decks work on Linux, but only through third-party software. Elgato’s own Stream Deck application is Windows and macOS only, and there is no official Linux client. The one condition: you need an open-source companion app such as Bitfocus Companion, StreamController, or deckhub, plus a udev rule so your user account can talk to the device. With those in place, every current Stream Deck model — including the MK.2, Plus, Mini, Neo, and XL — behaves much as it does on Windows: buttons, folders, multi-actions, and plugins all work. What you lose is official support, the Elgato Marketplace, and tight integration with Elgato’s proprietary ecosystem (Streamlabs, Camera Hub, Control Center).
Compatibility at a Glance
| Factor | Requirement | Notes |
|---|---|---|
| Physical connection | USB-A port (USB 2.0 speed is sufficient) | All models ship with a detachable USB-C to USB-A cable; the cable is often the culprit, not the port. |
| Power | Standard USB bus power | No external power supply needed. On hubs, use a powered hub for the Stream Deck XL’s brighter panel. |
| Driver | None required | Linux’s kernel HID driver enumerates it automatically; no vendor driver exists or is needed. |
| Access permission | A udev rule granting your user access to the HID device | Without it, the software sees the device but can’t open it. Location: /etc/udev/rules.d/. |
| Control software | Bitfocus Companion, StreamController, or similar | Flatpak, AppImage, and native packages available depending on the app. |
| Firmware updates | Requires brief access to the Elgato app on Windows/macOS, or Companion’s firmware path | Firmware is stored on the device, not the OS, so an updated unit keeps working if you switch machines. |
| Form factor / mounting | Same as any OS | Desk stand, VESA 75 mm pattern (XL), and rail mounts are OS-independent. |
What Determines It
Interface (USB)
Every Stream Deck is a USB HID device, which is the easiest possible device class for Linux. Plug it into any USB-A port and it enumerates immediately — you can confirm with lsusb, where it appears as “Elgato Stream Deck” with a vendor ID of 0fd9 (e.g., 0fd9:006d for the MK.2, 0fd9:0080 for the Plus). USB 3.0 ports work fine; speed is irrelevant. The most common interface problem is the detachable cable being half-seated in the device’s recessed USB-C socket — reseat it firmly and check lsusb again.
Power
All models draw their power from the USB bus, with no external brick, so there’s nothing to configure. The practical ceiling is total hub draw: a Stream Deck XL at full brightness plus a webcam and audio interface on one unpowered hub can cause the display to flicker or the device to disconnect. How to check: run dmesg --follow, plug in the device, and look for “insufficient power” or repeated disconnect messages. What to do: move it to a rear-panel motherboard port, or use a powered hub whose supply is rated at least 2 A per port. How to undo: simply move the cable back; no settings persist.
Drivers
There is no driver layer to install — which cuts both ways. What causes trouble: users expecting an “Elgato” entry in their distro’s driver or device manager and concluding the device isn’t detected. How to check: run lsusb and ls /dev/hidraw*; the device occupying one of those hidraw nodes is your Stream Deck. What to do: nothing, unless permissions block it (next section). How to undo: not applicable — there’s nothing installed to remove.
Permissions (the udev rule)
This is the single most common Linux blocker, so treat it as part of “driver setup.” By default, HID devices are owned by root, so your desktop app can’t open the panel.
How to check: run your control software from a terminal. An error like “no devices found” despite lsusb showing the device, or “permission denied” on a /dev/hidraw* node, confirms it.
What to do: create /etc/udev/rules.d/70-streamdeck.rules containing a rule for the 0fd9 vendor, e.g. SUBSYSTEM=="hidraw", ATTRS{idVendor}=="0fd9", MODE="0666" (tighten with ATTRS{idProduct} if you prefer). Then run sudo udevadm control --reload-rules followed by sudo udevadm trigger, and unplug/replug the device. Note that Flatpak builds also need the hidraw permission — Flatseal lists it under “Device” as “All devices” or a specific /dev/hidraw path.
How to undo: delete the rules file and run the same two udevadm commands.
Firmware
Firmware lives on the device itself, so a Stream Deck configured on a Windows or macOS machine carries its firmware to your Linux box. What causes trouble: a factory-fresh or very old unit with firmware the open-source apps reject. How to check: in Bitfocus Companion, the Surfaces tab flags devices needing firmware; in StreamController, the Devices panel shows a firmware status indicator. What to do: Companion can flash supported updates directly from the Surfaces tab (it prompts before doing so); otherwise perform the update once on any Windows/macOS machine via the Elgato app under Settings → Firmware, then return the device to Linux. How to undo: firmware downgrades aren’t offered, and none is needed.
Form Factor and Physical Fit
Nothing about the hardware changes per OS, but pick the model for your desk, not for Linux: the Mini (3×2 keys), Standard/MK.2 (5×3), XL (8×4, VESA 75 mm mount on the rear), Plus (6×4 with dials and a touch LCD strip), and Neo. The Plus’s rotary encoders are supported by current versions of both Companion and StreamController, but check the plugin’s dial support before buying if that’s your main use case. Software features worth verifying for your workflow: per-app profile switching works in Companion (via its “app” triggers) and in StreamController; native OBS control via the obs-websocket plugin (OBS 28+ uses WebSocket 5.x, configured in OBS under Tools → WebSocket Server Settings).
How to Check Yours
Run through this in order — two minutes covers it:
1. lsusb | grep -i elgato. If nothing appears, it’s a cable, port, or hardware issue — try a rear motherboard port and reseat the USB-C end.
2. ls -l /dev/hidraw* and confirm a new hidraw node appears when you unplug/replug.
3. If the node exists but your software reports nothing, add the udev rule from the Permissions section above.
4. Install your control app: flatpak install flathub dev.streamdeck.StreamController or grab the Bitfocus Companion package for your distro, then launch it and confirm the device shows up in its Surfaces/Devices list.
5. Assign one test action — e.g., a keypress or an OBS scene change — to confirm full round-trip communication.
If It’s Not Compatible
Genuine incompatibility is rare, but if your unit won’t enumerate on any port and any cable, or if you’d rather not maintain udev rules and open-source software:
Stream Controller alternatives: try a second open-source app before replacing hardware — Companion (strongest for broadcast/OBS integrations), StreamController (closest to the official Elgato UX), or deckhub-class tools for lighter profiles.
Linux-native macro pads: Kmonad/QMK-based DIY pads (any QMK-compatible keypad from sellers like Keychron or cheaper dev boards such as the Raspberry Pi Pico) give you programmable keys with first-class Linux tooling and no permission fights.
Keyboard-based: a spare mechanical board flashed with QMK or KMonad mappings can replicate multi-actions entirely in software.
Touchscreen route: an Android tablet running a deck-style app over the network, or a small touch display with a window manager’s workspace shortcuts, covers the visual-panel use case.
FAQ
Does the official Elgato Stream Deck software run on Linux?
No. Elgato’s application supports Windows 10/11 and macOS only, and Elgato has not announced a Linux client. All Linux functionality comes from third-party apps like Bitfocus Companion and StreamController, which are actively maintained and cover most core features.
Will the Stream Deck Plus dials and touchscreen work on Linux?
Yes, in current versions of Companion and StreamController. Rotary encoder behavior (rotate, press, long-press) is exposed per-plugin, so check whether your target integration — OBS, vMix alternatives, or generic OSC/MIDI actions — supports dial binding before relying on it.
Do I need to reinstall anything if I switch between Windows and Linux?
No. Profiles live in each OS’s software, not on the device, so button layouts don’t transfer automatically. The device itself needs nothing reinstalled — plug it into either machine and the respective app picks it up. Firmware travels with the device and is cross-platform.
Why does my Stream Deck show up in lsusb but not in my control software?
Almost always the udev permission issue described above: the kernel sees the device, but your user can’t open the hidraw node. Add the 70-streamdeck.rules file, reload rules with udevadm control --reload-rules, trigger with udevadm trigger, and replug. For Flatpak installs, also grant hidraw access in Flatseal. As of 2026, most distros ship sane defaults, but Arch, Debian, and Ubuntu still require the manual rule.
Related guides
- Is Xlr Mic Compatible with Usb Audio Interface? What You Need to Know (2026)
- Does Wireless Mic Work with Dslr Camera? What You Need to Know (2026)
- Is Condenser Mic Compatible with Mac for Streaming? What You Need to Know (2026)
- Does Capture Card Work with Ultrawide Monitor? What You Need to Know (2026)