Manjaro&ALSA: missing option "Direct hardware device without any conversions"

Hi everyone! I hope this is the right section for my question.
I have recently purchased a pisound card for my Raspberry Pi 4B.
Now I’m deciding whether to use Raspberry Pi OS Lite or Manjaro ARM Minimal for my setup.
I’m having some difficulty in figuring out why the output of aplay -L is different on these two distributions.
Specifically, in Manjaro I’m missing the option “Direct hardware device without any conversions”.
How can I fix this? I tried installing all sorts of alsa-related packages, but I seem to be missing something.

Output of aplay -L on Raspberry Pi OS Lite:

$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default
    Playback/recording through the PulseAudio sound server
lavrate
    Rate Converter Plugin Using Libav/FFmpeg Library
samplerate
    Rate Converter Plugin Using Samplerate Library
speexrate
    Rate Converter Plugin Using Speex Resampler
jack
    JACK Audio Connection Kit
oss
    Open Sound System
pulse
    PulseAudio Sound Server
upmix
    Plugin for channel upmix (4,6,8)
vdownmix
    Plugin for channel downmix (stereo) with a simple spacialization
hw:CARD=Headphones,DEV=0
    bcm2835 Headphones, bcm2835 Headphones
    Direct hardware device without any conversions
plughw:CARD=Headphones,DEV=0
    bcm2835 Headphones, bcm2835 Headphones
    Hardware device with all software conversions
sysdefault:CARD=Headphones
    bcm2835 Headphones, bcm2835 Headphones
    Default Audio Device
dmix:CARD=Headphones,DEV=0
    bcm2835 Headphones, bcm2835 Headphones
    Direct sample mixing device
usbstream:CARD=Headphones
    bcm2835 Headphones
    USB Stream Output
hw:CARD=pisound,DEV=0
    pisound, PS-3WE6378 snd-soc-dummy-dai-0
    Direct hardware device without any conversions
plughw:CARD=pisound,DEV=0
    pisound, PS-3WE6378 snd-soc-dummy-dai-0
    Hardware device with all software conversions
sysdefault:CARD=pisound
    pisound, PS-3WE6378 snd-soc-dummy-dai-0
    Default Audio Device
dmix:CARD=pisound,DEV=0
    pisound, PS-3WE6378 snd-soc-dummy-dai-0
    Direct sample mixing device
usbstream:CARD=pisound
    pisound
    USB Stream Output
hw:CARD=vc4hdmi0,DEV=0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    Direct hardware device without any conversions
plughw:CARD=vc4hdmi0,DEV=0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    Hardware device with all software conversions
sysdefault:CARD=vc4hdmi0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    Default Audio Device
hdmi:CARD=vc4hdmi0,DEV=0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    HDMI Audio Output
dmix:CARD=vc4hdmi0,DEV=0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    Direct sample mixing device
usbstream:CARD=vc4hdmi0
    vc4-hdmi-0
    USB Stream Output
hw:CARD=vc4hdmi1,DEV=0
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    Direct hardware device without any conversions
plughw:CARD=vc4hdmi1,DEV=0
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    Hardware device with all software conversions
sysdefault:CARD=vc4hdmi1
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    Default Audio Device
hdmi:CARD=vc4hdmi1,DEV=0
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    HDMI Audio Output
dmix:CARD=vc4hdmi1,DEV=0
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    Direct sample mixing device
usbstream:CARD=vc4hdmi1
    vc4-hdmi-1
    USB Stream Output   

Output of aplay -L on Manjaro ARM Minimal:

$ aplay -L
null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=Headphones
    bcm2835 Headphones, bcm2835 Headphones
    Default Audio Device
sysdefault:CARD=Headphones
    bcm2835 Headphones, bcm2835 Headphones
    Default Audio Device
default:CARD=vc4hdmi0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    Default Audio Device
sysdefault:CARD=vc4hdmi0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    Default Audio Device
hdmi:CARD=vc4hdmi0,DEV=0
    vc4-hdmi-0, MAI PCM i2s-hifi-0
    HDMI Audio Output
default:CARD=vc4hdmi1
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    Default Audio Device
sysdefault:CARD=vc4hdmi1
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    Default Audio Device
hdmi:CARD=vc4hdmi1,DEV=0
    vc4-hdmi-1, MAI PCM i2s-hifi-0
    HDMI Audio Output
default:CARD=pisound
    pisound, PS-3WE6378 snd-soc-dummy-dai-0
    Default Audio Device
sysdefault:CARD=pisound
    pisound, PS-3WE6378 snd-soc-dummy-dai-0
    Default Audio Device

Many thanks in advance!

OK I figured it out…
Seems like Manjaro’s relevant default options in /usr/share/alsa/alsa.conf are the following:

defaults.namehint.showall off
defaults.namehint.extended off

To override this behavior, I just created the ~/.asoundrc file with the following lines:

defaults.namehint.showall on
defaults.namehint.extended on

Now I have the same output from aplay -L on Manjaro as on Raspberry Pi OS.
Hope this is useful for someone.
Cheers!

1 Like