I’ve built a Raspberry Pi 2 with Ubuntu Core and installed
chromium-mir-kiosk. This kiosk works fine and displays web pages exactly as it should. However, I don’t get audio when the page plays an mp3. In
pulsemixer I only see one output, “built in analogue audio”; HDMI isn’t mentioned. How might I go about debugging this? I don’t know where the problem may lie; in chrome, in pulseaudio, in mir, in Ubuntu Core. There are lots of questions about this on the web but they all suggest adding an HDMI setting in
/boot/config.txt, which doesn’t exist in Ubuntu Core.
snap logs chromium-mir-kiosk does show
2019-10-06T19:28:05Z chromium-mir-kiosk.chromium-mir-kiosk: ALSA lib pcm.c:2266:(snd_pcm_open_noupdate) Unknown PCM plug:default
2019-10-06T19:28:05Z chromium-mir-kiosk.chromium-mir-kiosk: [3682:3703:1006/192805.506637:ERROR:alsa_util.cc(204)] PcmOpen: plug:default,No such file or directory
which might be relevant and might not.
i’m not sure it is easily possible to access the HDMI audio port without using the proprietary driver … i know HDMI audio works fine with my omxplayer-pi snap but this is shipping the vc4 driver libs inside and the app is linked against them, perhaps coyping the vc4-libs part from there and just shipping the libs works (but i doubt that)…
oh. If the answer is “Ubuntu Core on a Raspberry Pi doesn’t do HDMI audio” then that would certainly explain why it doesn’t work, but that’s a bit disappointing
(I don’t know much about this stuff, so I don’t really know what vc4 is, but I would assume that those libraries would need to be in the
chromium-mir-kiosk snap if they were to work at all? and that isn’t my snap.)
Well, I might be wrong, I haven’t used HDMI audio in any other context before on a pi…
I also missed the config.txt bit in your question, in UbuntuCore config.txt lives in /boot/uboot…
Also, do you have the pulseaudio snap installed and the kiosk snap connected to it…
and now it works! I edited
/boot/uboot/config.txt and uncommented the line
hdmi_drive=2 and now I have HDMI audio! Thank you!
It’s super stuttery, but that’s my problem to resolve by writing more efficient code, I suspect
one sidenote here … the chromium-mir-kiosk snap is rather unmaintained, for a web kiosk i’d rather recommend https://snapcraft.io/wpe-webkit-mir-kiosk
(or maintain your own chromium kiosk build, based on the old code)
yup. I didn’t use that because it doesn’t seem to have the gstreamer audio stuff compiled into it, and I need audio. But… it seems that full chromium playing audio might be a bit too heavy for my little Pi 2 anyway, so I’m installing wpe, and then I’ll play audio in some other process. Cheers!
wpe-webkit-mir-kiosk maintainer here I’m planning to add proper audio support, several gstreamer libraries are already in stage-packages. Do let me know what’s missing, not really my field of expertise. Also, the snapcraft.yaml needs the proper interface plugs for audio to work on Core. Merge requests appreciated!
I don’t really know what’s missing, I’m afraid – how wpe-webkit works is not my field at all What I want is for the HTML5
<audio> element to work with an mp3, so a fairly easy test is just to drop
<audio src="whatever.mp3" controls></audio> into an html page being shown by the kiosk and try clicking the play button and see if you get sound…