vc4.ko brings unusable&unstable ALSA sinks

Diederik de Haas didi.debian at cknow.org
Mon Mar 29 22:22:07 BST 2021


Hi Ryutaroh,

On maandag 29 maart 2021 20:46:21 CEST Ryutaroh Matsumoto wrote:
> >> > bcm2835_audio bcm2835_audio: vchi message timeout
> >> I think I've seen that msg too.
> >> I don't know what my config was with that; tried so many.
> 
> I failed to include you in recipients of my message on Sun, 28 Mar 2021

No problem. I'm subscribed to the list so I did see it.

> >>> This is basically me forwarding the bug I reported on Debian's BTS:
> >>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=978025
> >>> TL;DR: I have a RPi 3B+ running pure Debian Bullseye arm64 (~from
> >>> raspi.debian.net), named rpi-mpd, connected via HDMI cable to my AV
> >>> Receiver.>> 
> >> can you please confirm that the bcm2835-audio driver causing the issues?
> >
> >I think the root cause of this issue is that both vc4.ko and snd_bcm2835.ko
> >try to provide ALSA sinks to HDMI audio outputs from RPi.
> 
> I strongly believe that module_blacklisting either vc4.ko or snd_bcm2835.ko
> should fix your problem...

I had already tried blacklisting both snd_bcm2835 and vchiq and that made 
the error msgs go away. I just tried it with only blacklistind snd_bcm2835 
and that appears to be sufficient.

In both cases mpd started playing but I heard nothing.

diederik at rpi-mpd:~$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: vc4hdmi [vc4-hdmi], device 0: MAI PCM vc4-hdmi-hifi-0 [MAI PCM vc4-hdmi-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
diederik at rpi-mpd:~$ pactl list cards
Card #0
        Name: alsa_card.platform-3f902000.hdmi
        Driver: module-alsa-card.c
        Owner Module: 6
        Properties:
                alsa.card = "0"
                alsa.card_name = "vc4-hdmi"
                alsa.long_card_name = "vc4-hdmi"
                alsa.driver_name = "vc4"
                device.bus_path = "platform-3f902000.hdmi"
                sysfs.path = "/devices/platform/soc/3f902000.hdmi/sound/card0"
                device.form_factor = "internal"
                device.string = "0"
                device.description = "Built-in Audio"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Profiles:
                output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes)
                output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3) Output (sinks: 1, sources: 0, priority: 300, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: output:iec958-ac3-surround-51
        Ports:
                iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
                        Part of profile(s): output:iec958-stereo

This appears to be what I want, but as indicated earlier I may not know 
enough about pulseaudio to make sure it is indeed how it should be.

My problems are:
1. I don't know if it technically *can* work
2. Assuming that it can work, I have no clue how and what components/programs
I need to configure in order to make it work. 

I've tried various things I found at RPF kernel's issues, but none seem to
work. But is that bc I'm doing something wrong or is the problem in the 
upstream kernel wrong/missing or in Debian's?
And all the rest what I can find online may be dated (previously the 
recommendation was to remove pulseaudio to get audio working, now it
is required?), applicable to RaspiOS and/or RPF kernel, but not for the
upstream/Debian kernel or maybe different in those cases.

IOW: it looks like '5' things need to be lined up perfectly for things to 
work, but I don't know which those '5' things are and how they need
to be configured. Thus too many variables.

And that's assuming that it CAN work, which I absolute do not know
if that's the case or not.

So I'm probably just going to forget about this and try to make it work
with a Rock64 as the one running LibreELEC seems to do exactly what
I want. I just need to figure out how to make it work on pure Debian.

Cheers,
  Diederik
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.infradead.org/pipermail/linux-rpi-kernel/attachments/20210329/bb212c3f/attachment.sig>


More information about the linux-rpi-kernel mailing list