On an embedded Linux system I am creating a custom ALSA "soft volume" control as described here. The control itself works as expected, except that upon boot it does not show up in amixer. It only shows up after I use arecord, aplay, or a similar command at least once.

This seems to be known; in fact, in the page linked before there is a note that says:

Note:The new volume control won't appear imidiately! Only after the first usage of the newly defined device (e.g. with speaker-test), should amixer sget Softmaster display the new control. Mixers that were already started before the first usage (like KMix) have to be restarted to adopt the changes. If the new control is still not there, try restarting ALSA or your PC.

My question is: Is there any way to make this control visible to amixer without first having to "play" or "record" something?


The software volume control is created either by the softvol plugin, or when the old mixer settings are restored by alsactl restore. Apparently, that command is not run on your system.

  • How can I trigger creation of the control without running alsactl restore ? – Grodriguez Oct 11 '18 at 7:55
  • By doing the same that alsactl does. (And that would be a programming question.) – CL. Oct 11 '18 at 8:10
  • I'm sure there must be a way for users (not programmers) to force a reload without aplay / arecord. Note that alsactl restore only does the trick once the control has been "revelead". – Grodriguez Oct 11 '18 at 16:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.