Hello all,
I’m running Manjaro XFCE and want to set default audio devices.
On my machine, there are two audio devices:
$ cat /proc/asound/cards
0 [NVidia ]: HDA-Intel - HDA NVidia
HDA NVidia at 0xfb080000 irq 31
1 [PCH ]: HDA-Intel - HDA Intel PCH
HDA Intel PCH at 0xfb120000 irq 30
Currently, I have my speakers attached to the graphics card (card #0) but I have to set audio to be played through this device after each reboot.
The setting does not seem to persist; after rebooting the machine, audio output is routed through the onboard sound again.
As the system correctly detects that there are no speakers attached to the onboard audio output, the sound is played through the PC speaker, and I will have to change audio outputs manually so that the graphics card is used.
There was a similar question at
but it applied to pulseaudio
instead of pipewire
.
Is there somewhere I can permanently change the configuration for the defaults I’d like in a similar way with pipewire
?
UPDATE:
Meanwhile, I did some research and encountered the wpctl
command.
According to available information,
$ wpctl set-default {ID of your device}
should do that. Indeed, the default device changes as indicated by an asterisk in the output of wpctl status
├─ Sinks:
│ 34. Internes Audio Analog Stereo [vol: 0.74]
│ * 48. GM107 High Definition Audio Controller [GeForce 940MX] Digital Stereo (HDMI) [vol: 0.70]
Unfortunately, this setting does not survive a reboot.
After that, the default is changed back:
├─ Sinks:
│ * 34. Internes Audio Analog Stereo [vol: 0.74]
│ 48. GM107 High Definition Audio Controller [GeForce 940MX] Digital Stereo (HDMI) [vol: 0.70]
How can I prevent that change?
Edit: Looks like it is at least not Manjaro specific (see 2026170 – pipewire + wireplumber does not persist default audio source/sink across reboot) but apparently, there’s only low interest in that topic.
Tentative workaround:
I added an entry in “Session and Autostart” with the command wpctl set-default {ID of your device}
.