The Steam Deck MIDI story is the opposite of the ROG Ally. Where the Ally is a Windows PC pretending to be a console, the Deck is a console pretending it might let you do real work. SteamOS is Arch Linux under the hood with KDE Plasma sitting on top — which is great if you understand Linux audio, painful if you do not. This guide gets Universal Controller MIDI running on a Deck without breaking the immutable filesystem, and explains every Game Mode gotcha along the way.
- What works: Linux AppImage of the bridge, two trackpads as XY pads, gyro as a third axis, every Bluetooth controller you can pair.
- What does not: Game Mode does not launch arbitrary apps. You produce in Desktop Mode.
- Best DAW: Bitwig Studio native Linux build. Reaper as a runner-up. Ardour for FOSS purists.
- Watch out for: SteamOS updates wipe Pacman packages. Use Flatpak or AppImage only.
Game Mode vs Desktop Mode
Every Deck question eventually circles back to this. Game Mode is the slick, Big Picture-style Steam UI you boot into by default. It is locked down — you cannot launch arbitrary executables, only Steam library entries. Desktop Mode is a full KDE Plasma session with a file manager, terminal, and Discover (the Flatpak store). The bridge needs Desktop Mode. Once it is running it stays running, so you can drop back into Game Mode and the MIDI port stays alive in the background — but the initial launch is a Desktop Mode thing.
Power button → Switch to Desktop. You're in.
Installing the Linux build
SteamOS root is read-only. pacman -S works for the current session but every update from Valve wipes it. The two install paths that survive forever are Flatpak (via Discover) and AppImage (a single file that lives in your home directory). The bridge ships as an AppImage.
# In Desktop Mode terminal
cd ~/Applications # or mkdir -p first
chmod +x UCMIDI-linux-x86_64.AppImage
./UCMIDI-linux-x86_64.AppImage
The bridge opens, registers an ALSA MIDI client called UCMIDI Out 1, and routes that through PipeWire (which SteamOS uses as its sound server). Any Linux audio app — Bitwig, Reaper, Ardour, Carla — sees the port.
What you'll need
- Steam Deck (LCD, OLED — same kernel, same audio stack)
- SteamOS 3.5+
- Universal Controller MIDI Linux AppImage
- A DAW with a Linux build — Bitwig Studio, Reaper, Ardour
- Optional: a USB-C hub with audio out, since the Deck speaker is fine for sketching but useless for mixing
The official Steam Deck product page still describes Desktop Mode as "experimental", which is funny because it is the only mode you can do anything serious in.
The Deck controller as a MIDI source
Two trackpads, two sticks, four shoulder buttons, four face buttons, two grip buttons per side, a d-pad, and a 6-axis IMU. That is more analogue inputs than a Push 3. The bridge enumerates the internal controller through evdev as a single composite device.
# Bridge inspector — Deck internal pad
[gamepad] Valve Software Steam Deck
[input] stick.left -> CC 12, CC 13
[input] stick.right -> CC 14, CC 15
[input] trackpad.left.xy -> CC 16, CC 17 (touch)
[input] trackpad.right.xy -> CC 18, CC 19 (touch)
[input] trigger.left -> CC 7 (analogue)
[input] trigger.right -> CC 1 (analogue)
[input] gyro.pitch/roll/yaw -> CC 20/21/22 (opt-in) Trackpads are the killer feature
Two absolute-position XY surfaces with click. Map the left to filter cutoff/resonance, the right to two FX sends, and you have a workflow that no controller under $500 matches. See the touchpad XY post for the binding flow — same idea, twice as many surfaces.
Gyro for expressive tilt
Toggle the gyro in the bridge settings. Tilting the Deck back and forth maps to a CC — bind it to a wah-style filter and the controller becomes a literal instrument. The IMU drift is low enough that the bridge's recentering filter handles it without obvious lag.
Step-by-step setup
1. AppImage in Applications folder
Keep it in ~/Applications. SteamOS leaves the home directory untouched on updates, so the AppImage and its config in ~/.config/UCMIDI/ survive.
2. Launch from Dolphin or terminal
Double-click the AppImage in Dolphin (the KDE file manager). Or run it from Konsole if you want logs visible.
3. Confirm the ALSA client
aconnect -l # list ALSA MIDI clients
# expected output includes:
# client 128: 'UCMIDI Out 1' [type=user,pid=12345] 4. Wire it to your DAW
In Bitwig: Settings → Controllers → Add → Generic MIDI, pick UCMIDI Out 1. In Reaper: Preferences → MIDI Devices, enable input. In Ardour: Window → MIDI Connections, drag the bridge port to your track.
5. Return to Game Mode (optional)
Once the bridge is running, swap back to Game Mode if you want the gamer-friendly UI. The MIDI port stays alive. Useful if you also want to launch a synth that runs as a Steam game (yes, that is a thing — see VCV Rack on Steam).
Default mapping for the Deck pad
| Input | Type | MIDI | Default use |
|---|---|---|---|
| Left stick X / Y | CC | CC 12 / 13 ch 1 | Filter X / Y |
| Right stick X / Y | CC | CC 14 / 15 ch 1 | FX send X / Y |
| Left trackpad X / Y (touch) | CC | CC 16 / 17 ch 1 | Kaoss-style XY 1 |
| Right trackpad X / Y (touch) | CC | CC 18 / 19 ch 1 | Kaoss-style XY 2 |
| Gyro pitch / roll / yaw | CC | CC 20 / 21 / 22 ch 1 | Optional tilt CC |
| L2 / R2 (analogue) | CC | CC 7 / CC 1 ch 1 | Volume / mod |
| A / B / X / Y | Note | Notes 60–63 ch 1 | Drum pads |
| Grip L4 / L5 / R4 / R5 | Note | Notes 80–83 ch 1 | Scene / macro buttons |
Gotchas worth knowing
- Steam Input emulation. Steam's controller layer can intercept the Deck pad before the bridge sees it. Disable Steam Input for the bridge AppImage in Game Mode (right-click → Properties → Controller → Disabled).
- PipeWire vs JACK. SteamOS uses PipeWire. The bridge auto-routes through it, no JACK setup needed. If you have manually installed JACK, the bridge still works but you must connect ports with
qjackctl. - Bluetooth controllers. DualSense, Xbox, Switch Pro — all pair through KDE's Bluetooth panel. Once paired, they show up in the bridge alongside the internal Deck pad.
- Low battery throttling. Below 15% the Deck downclocks aggressively. MIDI stays clean (it is tiny), but if you are also running a DAW on the Deck the audio engine will struggle.
Verdict
The Deck is a brilliant secondary controller for a desktop rig — pair over Bluetooth, drop in your studio, play. As a primary handheld producer it works but you live with Linux audio quirks and a narrower DAW choice. If you already love Linux, the Deck is glorious. If you do not, the ROG Ally is the same idea on Windows with none of the friction. Either way, Universal Controller MIDI is the bridge that turns the pad into a MIDI source.