The workaround is no longer needed with recent alsa-ucm, e.g. alsa-ucm-1.2.11-2.fc39
. Just configure the device to use Default Alsa Profile
instead of Pro
.
cp /usr/share/pipewire/media-session.d/media-session.conf ~/.config/pipewire/media-session.d/
- add loopback modules to
context.modules
section - configure interface to use
Pro Audio
profile systemctl restart --user pipewire.service pipewire-pulse.service
context.modules = [
...
{ name = libpipewire-module-loopback
args = {
node.name = "audient_id4_mic"
node.description = "Audient iD4 Mic (Pro Audio)"
capture.props = {
# audio.position = [ FL ]
# node.target = "alsa_input.usb-Audient_iD4-00.analog-stereo"
# node.target = "alsa_input.usb-Audient_iD4-00.iec958-stereo"
audio.position = [ AUX0 ]
node.target = "alsa_input.usb-Audient_iD4-00.pro-input-0"
node.passive = true
stream.dont-remix = true
}
playback.props = {
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
{ name = libpipewire-module-loopback
args = {
node.name = "audient_id4_di"
node.description = "Audient iD4 DI (Pro Audio)"
capture.props = {
# audio.position = [ FR ]
# node.target = "alsa_input.usb-Audient_iD4-00.analog-stereo"
# node.target = "alsa_input.usb-Audient_iD4-00.iec958-stereo"
audio.position = [ AUX1 ]
node.target = "alsa_input.usb-Audient_iD4-00.pro-input-0"
node.passive = true
stream.dont-remix = true
}
playback.props = {
media.class = "Audio/Source"
audio.position = [ MONO ]
}
}
}
]
Sources: