Sway with StreamDeck

I recently bought a StreamDeck for my work (Windows) computer. It’s not an essential tool, but i do find it useful, particularly when i’m going through my pre-flight checklist and launching applications on different workspaces preparing for a day’s work.

That’s for my “right” computer, so naturally i needed to balance things out with another one for my “left” computer; my Fedora 43 NUC running Sway…

Those buttons across the top are my five workspaces, and the rest are mostly music controls. I can now cycle through workspaces to see how jobs are going without having to switch my keyboard and mouse from right to left (and back again).

I’m using the flatpak for StreamController for this setup, mostly because of this video. It’s going fairly well, but, audio is a bit fiddly. The windows software makes light work of one kind of button that i like; a toggle button. I have two buttons on my windows controller for toggling audio. One for flipping between my headset microphone and my room microphone, and another for flipping between my speakers and my headset.

The main reason this is tricky is the state of audio on linux. I’ve explained to Claude that i’m on Fedora running Sway. I initially was trying to make the standard Gnome volume controller work, but it’s background makes it unusable (IMO)…

Clause said a bunch of stuff about Wayland, GTK, blah, blah that turned into white-noise in my head. The conversation progressed to PipeWire, and the white-noise just got louder.

I know that some of you are “Sway-curious”. I’d love to hear if any of your success or failure stories managing audio while using Sway.

I’m sure i could login with Gnome and all would be well, but… you know.

1 Like

I did go down the Sway audio rabbit hole and never ended up resolving my issue. My extremely vague recollection is that PulseAudio (or was it PipeWire?) needs something to “prod” it to start, before it works. Some desktops (e.g., KDE and GNOME) open a default stream of essentially null out to your default sink on start, so that any interaction with audio from that point forward works fine. Sway doesn’t. Not a specific volume control transparency issue, but it might preclude some of the other options from functioning as expected if there is no audio playing / no “null” stream running.

I tried to set up opening a null stream briefly on start up, but never got it working and to be fair I never invested that much time in it. If I click the volume icon in my waybar, it opens pavucontrol, which is a “prod”, which then makes things magically work in all programs using audio from that point onwards.

Hopefully one of the Sway or Linux experts in the crowd can offer some more insight based on that.