this post was submitted on 22 Feb 2026
79 points (95.4% liked)
Linux Gaming
24525 readers
136 users here now
Discussions and news about gaming on the GNU/Linux family of operating systems (including the Steam Deck). Potentially a $HOME away from home for disgruntled /r/linux_gaming denizens of the redditarian demesne.
This page can be subscribed to via RSS.
Original /r/linux_gaming pengwing by uoou.
No memes/shitposts/low-effort posts, please.
Resources
WWW:
- Linux Gaming wiki
- Gaming on Linux
- ProtonDB
- Lutris
- PCGamingWiki
- LibreGameWiki
- Boiling Steam
- Phoronix
- Linux VR Adventures
Discord:
IRC:
Matrix:
Telegram:
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I know you specifically want a hardware solution, but if you use pipewire I have something for you that took forever to figure out from the docs and does just what you want with a single static config file: https://pastebin.com/XigrzvfD
Put this in
~/.config/pipewire/pipewire.conf.d/10-virtual-sinks.confand restart pipewire once. It is safe to try this. Once you remove the file and restart pipewire everything is back to normal.This creates virtual output devices that you can assign applications to and control with e.g. pavucontrol. It's mapped to use my specific output devices, if you uncomment the lines and remove the node name expressions then all USB/PCIe devices are used.
It creates a setup of:
virtual:[Games, Media, Comms] -> virtual:Main -> virtual:All Physical Outputs -> [output devices]I wanted all audio to always play on all devices. You can of course adapt it to your use case. In my case the virtual Main is my global mute for everything. I never touch volumes or mute of the actual output devices.
I have the volume of these output nodes mapped to physical knobs to control games/voice/media independently globally.
EDIT: To control the nodes I use this script: https://pastebin.com/pANNDvup
Mute toggle:
volume.sh set-mute virtual:Games toggleVolume:
volume.sh set-volume virtual:Games %dYou will have to adapt that slightly as I use it with OpenDeck and a stream deck clone for control. OpenDeck outputs
[-]10but wpctl needs 10-/10+. There is currently no way to set an absolute volume with that script since I didn't have the need.This is dope thanks man. I knew I could do it with Pipewire virtual devices, just hadn't fully researched it yet. I been using the StreamController app for my elgato deck. It's been solid, I'm wondering if I can adapt this to their knobs or I should look at open deck.