[pulseaudio-discuss] ASoC and pulseaudio

Tanu Kaskinen tanuk at iki.fi
Thu Feb 18 09:16:20 UTC 2016


On Thu, 2016-02-18 at 11:24 +0530, Arun Raghavan wrote:
> On Wed, 2016-02-17 at 16:27 +0100, Carlo Caione wrote:
> > Hi,
> > In our daily work we are seeing more and more laptops coming in with
> > SoC audio (ASoC). In the most recent case, we are working with a new
> > consumer laptop based on Intel Cherry Trail. As you probably know to
> > have audio working on these laptops / codecs a fairly lengthy hw
> > specific mixer configuration is needed.
> > The problem we are facing is how to ship a single PA / ALSA package
> > containing a working configuration for several of those laptops and we
> > were wondering what is the most correct / upstream-friendly way to do
> > that.
> > 
> > I'm already excluding here some trivial workarounds like: shipping a
> > different PA package for each hw or using an hw-tailored script to
> > load the correct ALSA configuration.
> > 
> > The first solution we came up with is just to write a profile-set
> > configuration file loaded by udev for each cards / laptop with the
> > correct mixer configuration already embedded in the path configuration
> > files. This looks a bit like an overkill when you have to change tens
> > of controls most of which just one time (once you have setup the codec
> > selecting the main path is usually just matter of changing a few
> > controls to change the output / input path).
> 
> With PA 8.0, you have the ability to ship distro overrides via .d
> directories, etc. And we have the ability to have includes already, so
> maybe this is one way to solve this problem.

The .d overrides can currently only be used with daemon.conf and
client.conf, though, so that feature isn't particularly useful for hw
configuration for now.

> > Another possibility is to use UCM and let PA create automatically from
> > that profile and path configuration files. This looks promising but we
> > were a bit worried about the UCM support in PA and how stable/adopted
> > is UCM itself.
> > 
> > So, what is the suggested way to accomplish this and in general how PA
> > is trying to address this problem? I expect in the future to see many
> > more ASoC coming into the laptops world, how will the community make
> > it so that you install a distro and then sound "just works"?
> 
> If you are able to express what you need with UCM, it should be fine
> for your use case. ChromeOS uses it, and our support is meant to just
> work.
> 
> The idea thus far has been to collate UCM configuration that works with
> mainline kernel in a single ALSA repository, so that'd be the right
> place to put such config.

We lack hardware volume support with UCM, though. I promised last year
to Liam to implement it, maybe I should actually start doing something
about that... Software volume of course works fine too, but if
PulseAudio doesn't do hw volume control, the UCM file has to take that
into account and set the hw volume to a fixed value, which is not good
for interoperability with e.g. ChromeOS.

-- 
Tanu


More information about the pulseaudio-discuss mailing list