Independent ALSA and linux audio support site


From the ALSA wiki

Jump to: navigation, search


Apple Onboard Audio

snd-aoa is the ALSA module for certain G4 PowerMacs, G5 PowerMacs and newer PowerBooks. The main module requires certain helper modules, such as snd-aoa-soundbus, snd-aoa-i2sbus, snd-aoa-fabric-layout as well as the module for the actual sound chip.

On 2.6.x kernels do:

# cat /proc/device-tree/model

If you have a PowerMac or a PowerBook, you should now see a line like this:


The PowerMac10,1 is a Mac Mini (PowerPC G4). You can find a list at or at The Apple Museum.

Then, check if it features the layout-id device tree entry:^[1]^

# find /proc/device-tree/ -name layout-id | xargs hexdump -e '1/4 "0x%x\n"'

This will give a hexadecimal number if a layout-id is present.

Should your Mac not provide a layout-id, it is possible that it still works using the device-id. Since a lot of devices feature this property, it must be filtered to only show the device-id of the sound device. The following works if it gives one single line as output:

# find /proc/device-tree/ -name device-id | grep sound | xargs hexdump -e '1/4 "0x%x\n"'

This should give a hexadecimal number of the device-id for the sound device.

\ You can use snd-aoa if your layout-id or device-id (in decimal) is listed in /usr/src/linux/sound/aoa/fabrics/snd-aoa-fabric-layout.c.

In order to get the correct layout-id or device-id for comparison with the ones in the ALSA source files you need to convert them from hexadecimal to decimal using a suitable calculator.

Kernel configuration

If you use the in-kernel version of ALSA you need to enable the following additionally to ALSA sound in general:


In addition, choose the driver for your PowerMac:



See also

Retrieved from ""

Categories: ALSA modules | Sound cards