Sound systems
From ArkWiki
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.
