Hi all.
I’am having trouble to swap audio channels in Fedora 41.
Following instruction leading to an error message due to changes on how config files are handled in wireplumber > v0.4.
wireplumber version:
Compiled with libwireplumber 0.5.8
Linked with libwireplumber 0.5.8
followed instructions:
→
error message
wireplumber: Old configuration file detected: /home/salzi/.config/wireplumber/main.lua.d/99-swap-channels.lua
Feb 23 00:55:26 salzi-pc wireplumber[12523]: wireplumber: Lua configuration files are NOT supported in WirePlumber 0.5. You need to port them to the new format if you want to use them.
-> See https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html
As for informations on following site, i changed config and path to
→
https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/migration.html
path
→ .config/wireplumber/wireplumber.conf.d/51-swap-channels.conf
config
monitor.alsa.rules = [
{
matches = [
{
node.name = "alsa_output.usb-Generic_USB_Audio-00.HiFi__Speaker__sink"
}
]
actions = {
update-props = {
audio.position = "FR,FL"
}
}
}
]
here my wpctl inspect output:
id 45, type PipeWire:Interface:Node
alsa.card = "0"
alsa.card_name = "USB Audio"
alsa.class = "generic"
alsa.components = "USB0b05:1a52"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "USB Audio"
alsa.long_card_name = "Generic USB Audio at usb-0000:0b:00.0-6, high speed"
alsa.mixer_device = "_ucm0005.hw:Audio"
alsa.mixer_name = "USB Mixer"
alsa.name = "USB Audio"
alsa.resolution_bits = "16"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.sync.id = "00000000:00000000:00000000:00000000"
api.alsa.card.longname = "Generic USB Audio at usb-0000:0b:00.0-6, high speed"
api.alsa.card.name = "USB Audio"
api.alsa.headroom = "256"
api.alsa.open.ucm = "true"
api.alsa.path = "hw:Audio"
api.alsa.pcm.card = "0"
api.alsa.pcm.stream = "playback"
api.alsa.period-num = "128"
api.alsa.period-size = "256"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "12"
* client.id = "49"
clock.quantum-limit = "8192"
device.api = "alsa"
device.class = "sound"
* device.id = "35"
device.profile.description = "Speakers"
device.profile.name = "HiFi: Speaker: sink"
device.routes = "1"
* factory.id = "19"
factory.name = "api.alsa.pcm.sink"
library.name = "audioconvert/libspa-audioconvert"
* media.class = "Audio/Sink"
* node.description = "USB Audio Speakers"
node.driver = "true"
node.loop.name = "data-loop.0"
node.max-latency = "16384/48000"
* node.name = "alsa_output.usb-Generic_USB_Audio-00.HiFi__Speaker__sink"
* node.nick = "USB Audio"
node.pause-on-idle = "false"
* object.path = "alsa:acp:Audio:12:playback"
* object.serial = "79"
port.group = "playback"
* priority.driver = "1000"
* priority.session = "1000"
I also tried different combinations of contend in that config file.
- device.name, node.name, alsa.card_name…
Changing the node.description for exampe works for me with this method.
I restarted the services with following command after every change
→
systemctl --user restart wireplumber pipewire pipewire-pulse
i cant get it working