On Ubuntu Mate 19.10, the default audio output device won't remain the default when a USB audio output device is plugged in.
Additionally, changing the default back (from the USB to the real default) has no effect when using the Sound Settings -> Sound Preferences applet. The audio continues to output to USB despite the GUI indicating otherwise.
I am temporarily overcoming this with pactl unload-module module-switch-on-connect
pactl doesn't indicate that there is a way to permanently make this change so that it persists on reboot.
I remember having this issue back on 16.04. But I'm not sure what the fix was, but looking at my setup now, the following may be worth a try.
In System > Preferences > Sound, are you selecting the device under the Hardware tab? If so this preference does not seem to survive a reboot.
I appear to have ignored the hardware tab and set my chosen device under BOTH the Input tab and the Output tab. This appears to have stuck as I've not had to set it since, and it even survived an OS upgrade to 18.04
I had the same trouble with 16.04 for Bluetooth speakers. I had to go into sound settings and select the Bluetooth speakers each time I used them or I had no sound, and then back into sound setting when I went back to the default built in speaker for the laptop to have sound. It was fixed in 18.04
I'm running MATE Desktop 1.20.1 on top of Ubuntu 18.04.5 LTS with pulseaudio 11.1 and aplay 1.1.3. Using mate-volume-control 1.20.0.
When I change default profile for my card, default sink/source, or connector, none of these get persisted. After any reboot I always have to set them again.
A lot of answers I've seen suggest installing other tools. I can adjust pulse config files and write my own scripts to do that.
But is mate-volume-control not expected to persist changes across reboot? That's my real question. Or am I just unique? Somehow I haven't managed to find a bug tracker to see if there are any open tickets like this.
When I run mate-volume-control -d from cmdline, I see that libmatemixer-pulse logs "Setting default input stream to pending ......". I'm digging down the path of looking for known bugs in libmatemixer-pulse right now.