alsa-project/alsa-ucm-conf issue #710 was opened from beatboxa:
Alsa has a long history, and I think as a result, there may be some approaches that may predate some of today's standards.
For example, I don't believe there are any configs stored in ~/.config/ like most other modern applications use. Even alsa's overall standard user config is ~/.asoundrc
This may make sense as alsa is a lower-level hardware driver; however with ucm it approaches the user space and has some overlap with systems like pipewire or pulseaudio.
Therefore, I'd like to recommend considering allowing ucm channel mappings to be stored in ~/.config/, which would override systemwide ucm mappings. Perhaps it could be hierarchical, where the system looks for configs in:
- first looks at system directories (eg. /usr/share/alsa or /etc/alsa) - then ~/.asoundrc (for legacy compatibility) - then ~/.config/alsa
Such that ~/.config/alsa is the override for the others. Particularly for ucm2 (eg. ~/.config/alsa/ucm2/), since this is designed for the user/application layer.
One major benefit would be in surviving system or alsa package upgrades. One challenge might be in order of operations, as downstream systems like pipewire/wireplumber or pulseaudio or jack often rely on alsa; however I believe these would still end up picking up user configs.
Issue URL : https://github.com/alsa-project/alsa-ucm-conf/issues/710 Repository URL: https://github.com/alsa-project/alsa-ucm-conf