schiks
February 11, 2023, 5:58pm
1
I have an audio interface that has two sets of outputs.
After reboot, the fallback output is always set to “M Series Line Out”. I can change it in the Volume Control to “M Series Headphone + Monitor Out”, but it doesn’t persist after a reboot.
How can I make this change permanent?
Please post more information about audio sinks (output devices) and audio server configuration
pactl list sinks; echo; pactl info
schiks
February 16, 2023, 11:35pm
3
Sink #85
State: SUSPENDED
Name: alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_2_3__sink
Description: M Series Line Out
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65280 / 100% / -0,10 dB, front-right: 65280 / 100% / -0,10 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_2_3__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "3"
alsa.card_name = "M4"
alsa.class = "generic"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "USB Audio"
alsa.long_card_name = "MOTU M4 at usb-0000:00:14.0-5.4, high speed"
alsa.mixer_device = "_ucm0007.hw:M4"
alsa.name = "USB Audio"
alsa.resolution_bits = "32"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "MOTU M4 at usb-0000:00:14.0-5.4, high speed"
api.alsa.card.name = "M4"
api.alsa.open.ucm = "true"
api.alsa.path = "m4_stereo_out:M4,0,2,3"
api.alsa.pcm.card = "3"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "2"
device.api = "alsa"
device.class = "sound"
device.id = "61"
device.profile.description = "Line Out"
device.profile.name = "HiFi: m4_stereo_out:M4,0,2,3: sink"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "M Series"
node.name = "alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_2_3__sink"
node.nick = "M4"
node.pause-on-idle = "false"
object.path = "alsa:pcm:3:m4_stereo_out:M4,0,2,3:playback"
priority.driver = "1000"
priority.session = "1000"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "35"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "85"
object.serial = "85"
node.max-latency = "12000/48000"
api.alsa.period-size = "480"
api.alsa.period-num = "50"
api.alsa.headroom = "480"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "3"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio3"
device.bus = "usb"
device.bus-id = "usb-MOTU_M4_M40000068249-00"
device.bus_path = "pci-0000:00:14.0-usb-0:5.4:1.0"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-usb"
device.name = "alsa_card.usb-MOTU_M4_M40000068249-00"
device.nick = "M4"
device.plugged.usec = "12464654"
device.product.id = "0x0008"
device.product.name = "M Series"
device.serial = "MOTU_M4_M40000068249"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.0/sound/card3"
device.vendor.id = "0x07fd"
device.vendor.name = "Mark of the Unicorn"
device.string = "3"
Ports:
[Out] Line2: Line Out (type: Line, priority: 100, availability unknown)
Active Port: [Out] Line2
Formats:
pcm
Sink #86
State: SUSPENDED
Name: alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_0_1__sink
Description: M Series Headphone + Monitor Out
Driver: PipeWire
Sample Specification: s32le 2ch 48000Hz
Channel Map: front-left,front-right
Owner Module: 4294967295
Mute: no
Volume: front-left: 65536 / 100% / 0,00 dB, front-right: 65536 / 100% / 0,00 dB
balance 0,00
Base Volume: 65536 / 100% / 0,00 dB
Monitor Source: alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_0_1__sink.monitor
Latency: 0 usec, configured 0 usec
Flags: HARDWARE DECIBEL_VOLUME LATENCY
Properties:
alsa.card = "3"
alsa.card_name = "M4"
alsa.class = "generic"
alsa.device = "0"
alsa.driver_name = "snd_usb_audio"
alsa.id = "USB Audio"
alsa.long_card_name = "MOTU M4 at usb-0000:00:14.0-5.4, high speed"
alsa.mixer_device = "_ucm0007.hw:M4"
alsa.name = "USB Audio"
alsa.resolution_bits = "32"
alsa.subclass = "generic-mix"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
api.alsa.card.longname = "MOTU M4 at usb-0000:00:14.0-5.4, high speed"
api.alsa.card.name = "M4"
api.alsa.open.ucm = "true"
api.alsa.path = "m4_stereo_out:M4,0,0,1"
api.alsa.pcm.card = "3"
api.alsa.pcm.stream = "playback"
audio.channels = "2"
audio.position = "FL,FR"
card.profile.device = "3"
device.api = "alsa"
device.class = "sound"
device.id = "61"
device.profile.description = "Headphone + Monitor Out"
device.profile.name = "HiFi: m4_stereo_out:M4,0,0,1: sink"
device.routes = "1"
factory.name = "api.alsa.pcm.sink"
media.class = "Audio/Sink"
device.description = "M Series"
node.name = "alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_0_1__sink"
node.nick = "M4"
node.pause-on-idle = "false"
object.path = "alsa:pcm:3:m4_stereo_out:M4,0,0,1:playback"
priority.driver = "1000"
priority.session = "1000"
factory.id = "18"
clock.quantum-limit = "8192"
client.id = "35"
node.driver = "true"
factory.mode = "merge"
audio.adapt.follower = ""
library.name = "audioconvert/libspa-audioconvert"
object.id = "86"
object.serial = "86"
node.max-latency = "12000/48000"
api.alsa.period-size = "480"
api.alsa.period-num = "50"
api.alsa.headroom = "480"
api.acp.auto-port = "false"
api.acp.auto-profile = "false"
api.alsa.card = "3"
api.alsa.use-acp = "true"
api.dbus.ReserveDevice1 = "Audio3"
device.bus = "usb"
device.bus-id = "usb-MOTU_M4_M40000068249-00"
device.bus_path = "pci-0000:00:14.0-usb-0:5.4:1.0"
device.enum.api = "udev"
device.icon_name = "audio-card-analog-usb"
device.name = "alsa_card.usb-MOTU_M4_M40000068249-00"
device.nick = "M4"
device.plugged.usec = "12464654"
device.product.id = "0x0008"
device.product.name = "M Series"
device.serial = "MOTU_M4_M40000068249"
device.subsystem = "sound"
sysfs.path = "/devices/pci0000:00/0000:00:14.0/usb3/3-5/3-5.4/3-5.4:1.0/sound/card3"
device.vendor.id = "0x07fd"
device.vendor.name = "Mark of the Unicorn"
device.string = "3"
Ports:
[Out] Line1: Headphone + Monitor Out (type: Line, priority: 200, availability unknown)
Active Port: [Out] Line1
Formats:
pcm
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 219
Tile Size: 65472
User Name: ave
Host Name: arcmob
Server Name: PulseAudio (on PipeWire 0.3.65)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_0_1__sink
Default Source: alsa_input.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_in_M4_0_2_3__source
Cookie: f545:299b
Another user reported a similar problem with MOTU M4
reddit.com/r/linuxaudio - Pavucontrol Changes my Fallback Device After a Reboot
OP solution of reconfiguring wireplumber does not appear to have been successful
It may also not be relevant to your situation with no Bluetooth devices
PipeWire data is showing default-sink is set to M Series Line Out
alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_0_1__sink
I suggest changing default-sink to M Series Headphone + Monitor Out
pactl set-default-sink alsa_output.usb-MOTU_M4_M40000068249-00.HiFi__m4_stereo_out_M4_0_2_3__sink
If that does not work as intended (it might not persist after reboot) try editing ALSA use case manager configuration /usr/share/alsa/ucm2/USB-Audio/MOTU/M4-HiFi.conf and change values for PlaybackPriority
SectionDevice."Line1" {
Comment "Headphone + Monitor Out"
Value {
PlaybackPriority 200
}
SectionDevice."Line2" {
Comment "Line Out"
Value {
PlaybackPriority 100
}
schiks
March 18, 2023, 9:32pm
5
Neither the first nor the second methods work. The first one doesn’t survive the reboot, the second has no effect whatsoever.