I'm trying to set up pulseaudio's card profiles, and I've gotten profile switching to work using pactl set-card-profile
, but so far when the machine reboots, the audio profile reverts back to the default of output:analog-stereo
instead of remaining on HDMI. How can I set the profile in a way that persists across reboots?

- 768
1 Answers
To make default settings for the pulseaudio daemon we can edit /etc/pulse/default.pa
(as root) to give a default source or sink in the last section by uncommenting the corresponding lines and give in the name of our output sink and input source:
### Make some devices default
set-default-sink <name_of_sink>
set-default-source <name_of_source>
In case your sound card needs a specific profile we can also add the follwing line:
set-card-profile <cardindex> <profilename>
Please make a backup of this file before editing to be able to restore the default setting.
In case you are unsure what name your sink has you can issue the following command in a terminal to list all sinks presently active:
pacmd list-sinks
To test if the sink is correct we can issue
pacmd set-default-sink <nameofsink>
in a terminal before we change the default.pa. Open Audio Settings to see the effect (but this will not actually change the sink with default settings - see this answer!)
pactl set-card-profile
. Is this still done the same way? How do I find out what sinks get put in the config file? – Daenyth Oct 20 '11 at 17:09pacmd list-sinks
(e.g.<alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1>
this may be different on your hardware!) that you can use for your default.pa. – Takkat Oct 20 '11 at 17:52pacmd set-default-sink <nameofsink>
in a terminal to see if it does what you want. – Takkat Oct 20 '11 at 18:02set-card-profile <card-index> <profilename>
to the default.pa – Takkat Oct 20 '11 at 18:16pacmd info
output speaks ofsink input(s)
andsource output(s)
but the names of the sinks listed bypacmd list-sinks
all include the string output - so much for consistency in terminology. – FKEinternet Jun 13 '19 at 18:01/etc/pulse/default.pa
directly, you can drop an extra script under/etc/pulse/default.pa.d
. – Apteryx Feb 01 '22 at 01:30