snd-aloop driver must be built inside the kernel, not as a module

Fixed

Description

When 4A is enabled, the softmixer binding depends on snd-aloop. This driver must be always present and inserted at the same place in the soundcards list. So having it builtin in the kernel is mandatory.

Currently on FF.rc2, the configuration doesn't seem homogeneous:

Correct setup on M3:

m3ulcb:~# zcat /proc/config.gz | grep -i ALOOP CONFIG_SND_ALOOP=y

Bad setup on Qemu:

qemux86-64:~# zcat /proc/config.gz | grep -i ALOOP CONFIG_SND_ALOOP=m

All machine builds should be checked (the script ikconfig located in the kernel tree may help to check the option on a non-running kernel binary)

Environment

None

Activity

Show:

Walt Miner 
August 16, 2018 at 7:52 PM

Close for FF RC3

Jan-Simon Moeller 
July 17, 2018 at 2:09 PM

: did you at least try the modules.load.d option loads it early enough ?

Thierry Bultel 
July 17, 2018 at 12:59 PM

Hi Geogios

given that:

1) the default number of subdevices is 8 (which is far enough for the needs in a car)

2) the snd-aloop driver is the vanilla one, we are not modifying it at all, so this is something we are not likely to debug

I can't see the need to unload it at any time. Having it built-in makes us save time for integration and testing. That would be a bad idea to change that now, but maybe something that we could do later in the future, if needed.

Cheers

Thierry

 

Stephane Desneux 
July 17, 2018 at 12:47 PM

Due to how alsa devices and sound drivers work, one issue we currently have is the automatic detection of sound cards in hal manager. As the current detection algorithm is based on the presence of audio devices in /dev/snd/by-/ with known names, changing the load order of various modules could lead to bad detections and errors that could be difficult to reproduce.
So in principle, yes, that could be a module but ATM it's just a bad idea because it makes things more difficult in the current integration phase for FF.

George Kiagiadakis 
July 17, 2018 at 12:15 PM

I don't see a reason to make it built-in as well. It can make things more complex for debugging when you want to unload it, or load another instance of it. Apart from being in /etc/modules-load.d, 4a-smixer could also attempt to load it if necessary.

Details

Assignee

Reporter

Fix versions

Labels

Contract ID

Components

Affects versions

Priority

Created July 16, 2018 at 2:28 PM
Updated August 16, 2018 at 7:52 PM
Resolved July 20, 2018 at 4:21 PM

Flag notifications