How to retain sound settings on reboot

I am enjoying my Indiedroid Nova, and I am running Armbian 23.05.0 jammy. Thanks to the devs as this is working very well. BUT have a slight issue with HDMI sound. It does not work unless I go into Sound settings and select “Analog Output - Built-in Audio” as the Output device. On reboot, this is not saved, so I have to reset this each time I reboot.

What I have tried so far:

First: Obviously Armbian Sound Settings, where I select “Analog Output - Built-in Audio”, which does not save on reboot. (Also Test button does not produce sound at all, even though other applications such as Firefox do.)

Second: pavucontrol which shows no output devices except :“Speakers” and “Headphones”. No “Analog Output - Built-in Audio” selection is available to select.

Third: Running alsamixer in terminal and using F6 to select “rockchip-hdmi0” as the soundcard. The one and only setting available is set to “Disabled”. Then I use F6 to select rockchip-es8388" as the soundcard, and make sure I2STDM is also set to “Disabled”. Then I go back to rockchip-hdmi and escape, and save my settings with:

sudo alsactl store

Then reboot

Again, HDMI sound only works if I use Armbian’s Sound Settings to select “Analog Output - Built-in Audio”. I have also tried using alsamixer to set both soundcard’s I2STDM setting to “Mode 1”, saving and rebooting. I also tried “Mode 2” and “Mode 2 Swap”. Nothing saves the HDMI sound settings after reboot.

Again, this is a very small annoyance, and the hard work of the devs is much appreciated. I’m just looking to fix this small niggle if possible.

Hello!, it seems like the problem has to do with Pulse Audio, another customer that was experiencing the same issue said: “I had to kill Pulse Audio and restart the service”. Devs are aware of this issue and they are working on a solution, it could also be fixed with an AutoStart script. I will check on that and respond if I’m able to create an Autoscript that would fix the issue.

Thanks much for your quick response!!!

I was able to fix the issue on my end doing the following:

nano ~/.config/pulse/default.pa

.nofail
set-default-sink hdmi0-sound

control+o to save, enter, control+x to exit

If that itself does not work,

You also can go files home/.config/pulse and open the file that ends on -default-sink and change the part that says es8388 for hdmi0

then go to properties of that file and change permissions to read only so it cant be rewritten.

Make sure to run pulseaudio -k and reboot

Please let me know if that works for you

1 Like

Thank you for your suggestions!

Creating default.pa file, then running “pulseaudio -k” and rebooting works, but volume control goes away, and output device section in sound settings has no devices at all.

Second suggestion did not have any affect at all on my setup. I may need to completely reinstall as I possibly messed something up setting up the system in the first place.

1 Like

Finally got a working script to put in autostart:

#!/bin/bash
/usr/bin/pulseaudio -k
sleep 6
/usr/bin/pacmd set-default-sink 1

Awesome! We’ve added this to the wiki at How to retain sound settings on reboot | Indiedroid Wiki