You are not logged in.

#1 2026-01-25 20:23:22

satellitesahara
Member
Registered: 2026-01-24
Posts: 10

Pipewire - create custom audio profile and manage levels

I have been really struggling to achieve desired audio behavior in my arch install. I installed arch with archinstall and selected xfce as the DE and pipewire for handling audio.

The default audio profiles that pipewire set up for me are:

Play HiFi quality Music (HDMI 1, HDMI 2, HDMI 3, Headphones, Mic 1, Mic 2)
Play HiFi quality Music (HDMI 1, HDMI 2, HDMI 3, Mic 1, Mic 2, Speakers)
Pro Audio
Off

The first problem I encountered was that my system was not automatically switching between the first two profiles when plugging/unplugging headphones. I consulted the wiki and found this:

https://wiki.archlinux.org/title/PipeWi … new_device

And I added the suggested module and restart everything, but this didn't fix the issue. So, I did more digging and tried reading some documentation. I found wireplumber documentation and I added api.acp.auto-port = true to the alsa monitor rules, and this seemed to fix it.

I wanted to create my own profile that just includes Headphones, Speakers, and Mic 1 with automatic switching between Headphones and Speakers when headphone jack is plugged/unplugged, and I tried doing this by setting api.alsa.use-acp and api.alsa.use-ucm to true, copying the alsa ucm files (/usr/share/alsa/ucm2/Intel/sof-hda-dsp) for my sound card into my .config directory and editing the files, but this didn't seem to work (I'm not sure if this is the right way to do this though)

Finally, I wanted to have an icon in my panel I can use to quickly change pipewire audio settings. I looked online, and I can't find anything. If I look in my panel preferences, the only item I can add to my panel to tweak audio settings is called PulseAudio Plugin, and adding this to my panel completely messes with my audio settings. If I plug and unplug headphones and then click on the panel icon, it automatically switches the default sink to HDMI 1 and the remaining sinks are greyed out. It exhibits entirely alien behavior compared to when I use pipewire's Volume Control GUI

My questions are:
1) -Can- I create this custom audio profile I want (Headphones, Speakers, and Mic 1 with automatic switching between Headphones and Speakers), and how do I do this?
2) Is there a way to have a panel icon I can use to control pipewire (just a pop up menu that at minimum lets me change active sink and source levels with a gui) that has the same behavior as my pipewire volume control settings?

I want to include some console output here, not sure what would be the most helpful but here's the output of wpctl status:

Audio
 ├─ Devices:
 │      49. Meteor Lake-P HD Audio Controller   [alsa]
 │
 ├─ Sinks:
 │  *   54. Meteor Lake-P HD Audio Controller Speaker [vol: 0.98]
 │      55. Meteor Lake-P HD Audio Controller HDMI / DisplayPort 1 Output [vol: 1.03]
 │      57. Meteor Lake-P HD Audio Controller HDMI / DisplayPort 2 Output [vol: 0.40]
 │      58. Meteor Lake-P HD Audio Controller HDMI / DisplayPort 3 Output [vol: 0.40]
 │
 ├─ Sources:
 │      53. Meteor Lake-P HD Audio Controller Stereo Microphone [vol: 1.00]
 │  *   56. Meteor Lake-P HD Audio Controller Digital Microphone [vol: 1.00]
 │
 ├─ Filters:
 │
 └─ Streams:
        91. PulseAudio Volume Control
            117. input_FL        < Stereo Microphone:capture_FL	[active]
            118. monitor_FL
            119. input_FR        < Stereo Microphone:capture_FR	[active]
            120. monitor_FR
        92. PulseAudio Volume Control
            123. input_FL        < Digital Microphone:capture_FL	[active]
            124. monitor_FL
            125. input_FR        < Digital Microphone:capture_FR	[active]
            126. monitor_FR

Video
 ├─ Devices:
 │      44. Integrated Camera                   [v4l2]
 │      46. Integrated Camera                   [v4l2]
 │      59. Integrated Camera                   [v4l2]
 │      60. Integrated Camera                   [v4l2]
 │
 ├─ Sinks:
 │
 ├─ Sources:
 │  *   81. Integrated Camera (V4L2)
 │      83. Integrated Camera (V4L2)
 │
 ├─ Filters:
 │
 └─ Streams:

Settings
 └─ Default Configured Devices:
         0. Audio/Sink    alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Headphones__sink
         1. Audio/Source  alsa_input.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__Mic1__source

Also, if I run wpctl list cards, my card "device name" is "alsa_card.pci-0000_00_1f.3-platform-skl_hda_dsp_generic" and alsa card name is "sof-hda-dsp", which is how I got the path "/usr/share/alsa/ucm2/Intel/sof-hda-dsp"

Any help would be greatly appreciated.

Last edited by satellitesahara (2026-01-25 21:01:43)

Offline

Board footer

Powered by FluxBB