Sound systems

From ArkWiki

Jump to: navigation, search

Contents

Overview

There are currently 3 different sound systems for Linux -- OSS/Free (OSS 3.8), ALSA, and OSS 4.x. OSS/Free is the original sound system in the kernel, it was (mostly) deprecated in favor of ALSA (which is in present kernels as well). OSS development was continued as proprietary software, but recently, the current version of OSS (4.x) has been released under the GPL.

Feel free to edit this page with more information (and even to add subjective opinions if they are marked as such, e.g. in an added "User experience reports" section). This is meant as an objective comparison - we will delete obvious marketing attempts and distortion of facts from either side.

Current status

Starting with kernel 2.6.23-0.rc8.1ark (a development kernel built after the Ark Linux 2007.1 release; to use it on top of Ark Linux 2007.1, install the kernel package from the dockyard-devel tree), Ark Linux includes all 3 systems. ALSA is in the normal kernel package, OSS/Free is in the separate kernel-sound-oss package (because it is deprecated), OSS 4.x is in the separate kernel-sound-oss4 package (because its integration is considered experimental).

Comparisons below have been made with kernel 2.6.23-0.rc8.1ark -- meaning the ALSA version that is in Linux 2.6.23-rc8-mm2 (closest to official ALSA 1.0.15rc3) and OSS 4.1test0-070831.

Hardware support

There is a large overlap between soundcards supported by ALSA and soundcards supported by OSS 4.x, however, some are supported only by one system:

PCI IDs of soundcards supported by ALSA only

PCI ID Driver
10b5:9059 snd-vx222
10b5:9030 snd-vx222
125d:1989 snd-maestro3 might work with patched OSS allegro
125d:1991 snd-maestro3 might work with patched OSS allegro
125d:1999 snd-maestro3 might work with patched OSS allegro
125d:199b snd-maestro3 might work with patched OSS allegro
8086:2445 snd-intel8x0 might work with patched OSS ich
8086:2698 snd-intel8x0 might work with patched OSS ich
10de:003a snd-intel8x0 might work with patched OSS ich
5213:0510 snd-intel8x0 might work with patched OSS ich
1274:8938 snd-ens1371 might work with patched OSS apci97
13f6:0112 snd-cmipci might work with patched OSS cmpci
10b9:0111 snd-cmipci might work with patched OSS cmpci
109e:0878 snd-bt87x
109e:0879 snd-bt87x
122d:50dc snd-azt3328
122d:80da snd-azt3328
11d4:1889 snd-ad1889
10ee:3fc4 snd-rme9652
10ee:3fc6 snd-hdspm
10ee:3fc5 snd-hdsp
127a:4310 snd-riptide
127a:4320 snd-riptide
127a:4330 snd-riptide
127a:4340 snd-riptide
10b5:9656 snd-pcxhr
10c8:8006 snd-nm256 might work with patched OSS neomagic
10c8:8016 snd-nm256 might work with patched OSS neomagic
1057:0003 snd-mixart
10b5:906d snd-korg1212
1412:1724 snd-ice1724
1412:1712 snd-ice1712
8086:293e snd-hda-intel might work with patched OSS hdaudio
1002:793b snd-hda-intel might work with patched OSS hdaudio
1002:7919 snd-hda-intel might work with patched OSS hdaudio
1002:960c snd-hda-intel might work with patched OSS hdaudio
1002:aa00 snd-hda-intel might work with patched OSS hdaudio
10de:044b snd-hda-intel might work with patched OSS hdaudio
10de:055d snd-hda-intel might work with patched OSS hdaudio
10de:07fc snd-hda-intel might work with patched OSS hdaudio
10de:07fd snd-hda-intel might work with patched OSS hdaudio
10de:0774 snd-hda-intel might work with patched OSS hdaudio
10de:0775 snd-hda-intel might work with patched OSS hdaudio
10de:0776 snd-hda-intel might work with patched OSS hdaudio
10de:0777 snd-hda-intel might work with patched OSS hdaudio
10de:0ac0 snd-hda-intel might work with patched OSS hdaudio
10de:0ac1 snd-hda-intel might work with patched OSS hdaudio
10de:0ac2 snd-hda-intel might work with patched OSS hdaudio
10de:0ac3 snd-hda-intel might work with patched OSS hdaudio
1002:aa00 snd-hda-intel might work with patched OSS hdaudio
1057:1801 snd-mona/snd-layla20/snd-gina20/snd-gina24/snd-darla24
1057:3410 snd-mona/snd-indigo/snd-gina24/snd-echo3g
100b:002e snd-cs5535audio
1022:2093 snd-cs5535audio
12eb:0003 snd-au8810 might work with patched OSS vortex

A number of PCI IDs here are supported by ALSA drivers that also support various chips supported by OSS (e.g. ALSA snd-intel8x0 is roughly the same as OSS ich, ALSA snd-intel-hda is roughly the same as OSS hdaudio) - getting the cards supported by OSS might be a simple matter of telling OSS about the PCI IDs. If you have a card listed as supported by ALSA only with a comment that a patched OSS driver might work, please let us know.

PCI IDs of soundcards supported by OSS 4.x only

PCI ID Driver
1073:0005 ymf7xx might work with patched ALSA snd-ymfpci
1023:2002 trident might work with patched ALSA snd-trident
1106:4551 via8233 might work with patched ALSA snd-via82xx
1106:7059 via8233 might work with patched ALSA snd-via82xx
1102:8938 apci97 might work with patched ALSA snd-ens1371
1274:8001 apci97 might work with patched ALSA snd-ens1371
1274:8002 apci97 might work with patched ALSA snd-ens1371
100b:0503 geode might work with patched ALSA snd-cs5530
14af:0020 cmpci might work with patched ALSA snd-cmipci
13f6:8788 cmi8788
1102:2001 sblive might work with patched ALSA snd-emu10k1

A number of PCI IDs here are supported by OSS drivers that also support various chips supported by ALSA (e.g. ALSA snd-intel8x0 is roughly the same as OSS ich, ALSA snd-intel-hda is roughly the same as OSS hdaudio) - getting the cards supported by ALSA might be a simple matter of telling ALSA about the PCI IDs. If you have a card listed as supported by OSS only with a comment that a patched ALSA driver might work, please let us know.

Unique features

ALSA: Softmodem drivers included, better supported by many applications, better power management support, complex API allows lots of things, but also lots of errors

OSS: Auto-configuring software mixing (vmix), easier configuration, simple API

Conclusion

For now, there is no clear winner. For the foreseeable future, we will continue to support both sound systems, with OSS 4.x moving into the standard kernel as it gets more testing.

Personal tools