← Back to team overview

ubuntu-audio-dev team mailing list archive

Re: Pulseaudio snap

 

Another status report.

As of today, I've gotten the first sound out of PulseAudio, which means PulseAudio can communicate with both clients and ALSA sound cards. If you want to replicate this, here's how:

1) Download the snap from http://anonscm.debian.org/cgit/pkg-pulseaudio/pulseaudio.git/tree/?h=ubuntu-snappy - and build the snap with snapcraft 2.x.

2) Start a rolling/16.04 snappy (latest version) image in kvm, with the "-soundhw hda" switch.

 3) Upload the snap to the image and install it with "snappy install".

 4) In a shell, run these commands:

# sudo snappy hw-assign pulseaudio.sideload /dev/snd/controlC0
# sudo snappy hw-assign pulseaudio.sideload /dev/snd/pcmC0D0c
# sudo snappy hw-assign pulseaudio.sideload /dev/snd/pcmC0D0p
# sudo snappy hw-assign pulseaudio.sideload /dev/snd/timer
# export ALSA_CONFIG_PATH=/snaps/pulseaudio.sideload/current/usr/share/alsa/alsa.conf
# pulseaudio.pulseaudio

Note: for unknown reasons, it seems like the /dev/snd/timer hw-assign needs to be redone after pulseaudio has been reinstalled, but the others do not need that. This seems odd, but maybe Jamie knows why?

 5) While pulseaudio is running, start a second shell. Try these commands:

# pulseaudio.pactl set-sink-mute 0 0
# pulseaudio.pactl set-sink-volume 0 100%
# pulseaudio.paplay < sound.wav

...where sound.wav is the wave file you want to play back. You should hopefully hear sound, which is routed all this way: pulseaudio.paplay -> pulseaudio.pulseaudio -> kvm kernel -> host's pulseaudio -> host's kernel -> hardware speakers!

Probably the next step is to work on some cleanup on my part (many files are installed that are not necessary), and Jamie to work on security to transform the current hw-assigns and security-overrides into the snappy concept of "skills".

On 2016-01-29 16:37, David Henningsson wrote:
Weekly report:

I'm working on it. I've come as far as pulseaudio building with
snapcraft 2.0, and it's starting up in its confined snappy environment,
but right now it can't talk to anything (and you need to set
XDG_RUNTIME_DIR manually).
So far I'm using 16.04/rolling images for amd64/kvm to test it.

I've pushed my current work to a new ubuntu-snappy branch [1] but as
said, don't expect miracles yet :-)

// David

[1]
http://anonscm.debian.org/cgit/pkg-pulseaudio/pulseaudio.git/?h=ubuntu-snappy


On 2016-01-22 14:10, David Henningsson wrote:


On 2016-01-21 22:25, Luke Yelavich wrote:
On Thu, Jan 21, 2016 at 08:28:48PM AEDT, David Henningsson wrote:
Hi Ubuntu Audio developers,

I've been asked to make a PulseAudio snap, i e, something you can
install on
Ubuntu core snappy, that enables applications to use PulseAudio.

I have been asked about that in the past as well, and my immediate
question was how do we handle modules, in particular optional modules
that may not be needed in the base snap, but may be desired by someone
later? Afaik snappy doesn't really handle this yet.

In general, we don't, unfortunately.

If it's loosely enough coupled, we probably can. In the case of
PulseAudio and bluez, they will be in different snaps, but they can
still talk to each other over D-Bus in order to enable bluetooth audio
headsets.

That's the plan, at least.

Before I go ahead and try to make one, I just wanted to check with
you if
any of you have already started making one, and/or are snappy wizards,
and/or is interested in helping out / collaborating / being kept in the
loop, etc?

I had a look a little while back as to how snaps were made, but I
think a lot has changed since then, so what I know, which is very
little, is probably no longer relevant.

Ok.

If nothing urgent pops up I'll try to actually get something done next
week. I'll keep ubuntu-audio-dev in the loop. Sounds like a plan?



--
David Henningsson, Canonical Ltd.
https://launchpad.net/~diwic


References